You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
У меня такая же была вроде. Проблема в том, что данные у нас размера (len(кол-во картинок), 32, 32, 3), тогда как Input_layer принимает на вход (None, 3, 32, 32). Из-за этого у сверточных слоев проблемы.
Решение (которое помогло мне) - транспонировать X_train и X_test:
X_train = X_train.transpose(0, 3, 1, 2)
X_test = X_test.transpose(0, 3, 1, 2)
Теперь размерность Input_layer совпадает с размерностью данных - (None, 3, 32, 32) и все должно заработать.
Самое интересное, что по ходу исходный датасет нормальной размерности, но если открыть cifar.py, который подгружает данные, то в него вшито трансформирование размерности в ненормальную
¯_(ツ)_/¯
Использую нейросеть с простой архитектурой:
input_layer = lasagne.layers.InputLayer(shape=(None,3, 32, 32), input_var=input_X)
nnet = Conv2DLayer(input_layer, num_filters=7, filter_size=(5,5))
dense_output = lasagne.layers.DenseLayer(nnet,num_units = 10, nonlinearity=softmax)
Когда начинаю процесс обучения (код обучения уже был дан) возникает ошибка:
BaseCorrMM: Failed to allocate output of 50 x 7 x 28 x -1
Подскажите, что не так.
( Ссылка на ноутбук https://github.com/Ahan05/MIPT_Data_Mining_In_Action_2016/blob/master/trends/hw4/cifar.ipynb )
The text was updated successfully, but these errors were encountered: