Я строю нейронную сеть с lasagne и am following the example from the github. Мне любопытно, как именно вводить в сеть. В этом примере они утверждают, что входной слой имеет 4 измерения и действительно является тензором аана4. Означает ли это, что я должен предоставить сети 4-мерный массив numpy? Возможно ли это? Как бы вы построили один из 4-х векторных списков?В Лазанье/Теано мне нужна 4-мерная матрица для 4-го тензора Теано?
1
A
ответ
0
В примере MNIST, предоставленном Лазаньем, вам необходимо ввести тензор 4D.
Вообще говоря, если ваши данные 2-мерные (например, изображения), форма вашего ввода должна быть (n_samples, n_channels, height, width)
. В MNIST наборе n_channel
1 (может быть что-то еще, например, 3 для RGB изображений), а также height
и width
оба равны 28.
Если данные только 1 мерная, то вы должны ввести 3D-тензор, формы (n_samples, n_channel, n_features)
.
Обратите внимание, что это может быть проблематично, если вы хотите предсказать метку для одного изображения ((28, 28) ndarray, как в this question, так как вам нужно сделать вход 4 мерным. В этом случае вы можете добавить ось используя data = data[None, None, :, :]
.
Да, вам нужно дать ему 4D-вход, если вы обрабатываете, например, цветные изображения. Оси - это индекс изображения, цвет, вертикальный, горизонтальный. Если у вас только одно изображение RGB, вы должны придать ему форму '(1, 3, h, w)' – eickenberg
@ElliottMiller: помогли ли предоставленные ответы? –