Юлия - как определить массив изображений для FluxML mlp? - PullRequest
0 голосов
/ 29 июня 2019

Я хочу повторно использовать этот код:

https://github.com/FluxML/model-zoo/blob/master/vision/mnist/mlp.jl

, но с моим собственным набором изображений.Я думаю, что мне нужно определить объект типа imgs типа Array {Array {Grey {Normed {UInt8,8}}, 2}, 1}

Как инициализировать массив изображений для получения чего-то изследующий тип:

Array{Array{Gray{Normed{UInt8,8}},2},1}

Я пробовал это, но это не удается:

x = Array{Array{ColorTypes.Gray{FixedPointNumbers.Normed{UInt8,8}},2}}(10)
ERROR: MethodError: no method matching Array{Array{Gray{Normed{UInt8,8}},2},N} where N(::Int64)
Closest candidates are:
  Array{Array{Gray{Normed{UInt8,8}},2},N} where N(::UndefInitializer, ::Int64) where T at boot.jl:416
  Array{Array{Gray{Normed{UInt8,8}},2},N} where N(::UndefInitializer, ::Int64, ::Int64) where T at boot.jl:417
  Array{Array{Gray{Normed{UInt8,8}},2},N} where N(::UndefInitializer, ::Int64, ::Int64, ::Int64) where T at boot.jl:418
  ...
Stacktrace:
 [1] top-level scope at none:0

1 Ответ

1 голос
/ 30 июня 2019

Для создания пустого вектора используйте:

Array{Array{Gray{Normed{UInt8,8}},2},1}()

, затем вы можете использовать функцию push! для добавления к ней изображений. В качестве альтернативы вы можете написать так же:

Vector{Matrix{Gray{Normed{UInt8,8}}}}()

, который немного легче читать.

В качестве альтернативы вы можете написать:

Array{Array{Gray{Normed{UInt8,8}},2},1}(undef, 10)

Для создания неинициализированного вектора с 10 записями. Затем вы можете использовать обычный синтаксис установки индекса для его инициализации. Опять же, вы можете написать это также как:

Vector{Matrix{Gray{Normed{UInt8,8}}}}(undef, 10)
...