2015-08-28 2 views
1

Я строю нейронную сеть с lasagne и am following the example from the github. Мне любопытно, как именно вводить в сеть. В этом примере они утверждают, что входной слой имеет 4 измерения и действительно является тензором аана4. Означает ли это, что я должен предоставить сети 4-мерный массив numpy? Возможно ли это? Как бы вы построили один из 4-х векторных списков?В Лазанье/Теано мне нужна 4-мерная матрица для 4-го тензора Теано?

+0

Да, вам нужно дать ему 4D-вход, если вы обрабатываете, например, цветные изображения. Оси - это индекс изображения, цвет, вертикальный, горизонтальный. Если у вас только одно изображение RGB, вы должны придать ему форму '(1, 3, h, w)' – eickenberg

+0

@ElliottMiller: помогли ли предоставленные ответы? –

ответ

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, :, :].

 Смежные вопросы

  • Нет связанных вопросов^_^