Я новичок в глубоком обучении, и у меня возникла проблема. Я использую Theano для распознавания изображений, и я хочу создать систему прогнозирования с использованием обученной модели. Я ссылался на LeNet5 Convolutional Neural Networks (LeNet) и обучил свои собственные данные, теперь я хочу использовать обученную модель для прогнозирования новых изображений. В Classifying MNIST digits using Logistic Regression он описал способ рассортировать обученные модели, но это всего лишь логистическая регрессия, а не многослойная CNN. Точно так же я сохранил каждый слой, но я не могу использовать его для предсказания. Пожалуйста, помогите мне! Вот мой код:Pickle multy layer CNN в Theano, Lenet5
def predict():
"""
An example of how to load a trained model and use it
to predict labels.
"""
# load the saved model
#x = Data
x = T.matrix('x')
Data = x.reshape((1, 1, 32, 32))
layer0
layer1
layer2_input = layer1.output.flatten(2)
layer2
layer3
# compile a predictor function
predict_model = theano.function([layer0.input],
layer0.output)
#inputs=[layer0.input],
#outputs=layer3.y_pred)
# We can test it on some examples from test test
#dataset='facedata_cross_6_2_6.pkl.gz'
#datasets = load_data(dataset)
#test_set_x, test_set_y = datasets[2]
#test_set_x = test_set_x.get_value()
#reshape=np.reshape(test_set_x[26],(28,28))
#plt.imshow(reshape)
predicted_values = predict_model(Data)
print("Predicted values for the first 10 examples in test set:")
print(predicted_values)
Это сработало! Человек, вы потрясающий! Спасибо! Я использую код как, # layer0 = pickle.load (open ('best_model_layer0.pkl')) # layer1 = pickle.load (open ('best_model_layer1.pkl')) # layer2 = pickle.load (open (' best_model_layer2.pkl ')) # layer3 = pickle.load (open (' best_model_layer3.pkl ')) Но каждый раз, когда он предсказывает [0]. Ваш код все понял! –
Okey .. рад, что он работает :), если вы считаете, что это признанный ответ, вы можете щелкнуть принятый символ (символ 'v') в моем ответе, чтобы сообщить будущему читателю – malioboro
Да, я хочу, но моей репутации недостаточно :( –