Метод Tflearns .fit () с numpy.ndarrays, вызывающим TypeError - PullRequest
0 голосов
/ 30 апреля 2018

Итак, я получаю эту ошибку TypeError: unhashable type: 'numpy.ndarray' при выполнении кода ниже. Я искал через Stackoverflow, но не нашел способа исправить мою проблему. Цель состоит в том, чтобы классифицировать цифры с помощью набора данных mnist. Ошибка в методе modell.fit () (из tflearn). Я могу приложить полное сообщение об ошибке, если это необходимо. Я попробовал это также с методом, в котором вы поместили метки x и y в словарь и обучили этому, но это вызвало еще одно сообщение об ошибке. (Обратите внимание, что я исключил мою функцию прогнозирования в этом коде).

Код:

import tflearn.datasets.mnist as mnist
x,y,X,Y=mnist.load_data(one_hot=True)
x=x.reshape([-1,28,28,1])
X=X.reshape([-1,28,28,1])
import tflearn


class Neural_Network():
    def __init__(self,x,y):
        self.x=x
        self.y=y
        self.epochs=60000

    def main(self):
        cnn=tflearn.layers.core.input_data(shape=[None,28,28,1],name="input_layer")
        cnn=tflearn.layers.conv.conv_2d(cnn,32,2, activation="relu")
        cnn=tflearn.layers.conv.max_pool_2d(cnn,2)
        cnn=tflearn.layers.conv.conv_2d(cnn,32,2, activation="relu")
        cnn=tflearn.layers.conv.max_pool_2d(cnn,2)
        cnn=tflearn.layers.core.flatten(cnn)
        cnn=tflearn.layers.core.fully_connected(cnn,1000,activation="relu")        
        cnn=tflearn.layers.core.dropout(cnn,0.85)
        cnn=tflearn.layers.core.fully_connected(cnn,10,activation="softmax")
        cnn=tflearn.layers.estimator.regression(cnn,learning_rate=0.001)
        modell=tflearn.DNN(cnn)
        modell.fit(self.x,self.y)
        modell.save("mnist.modell")


nn=Neural_Network(x,y)    
nn.main()
nn.predict(X[1])
print("Label for prediction:",Y[1])

1 Ответ

0 голосов
/ 02 мая 2018

Так что проблема решена самостоятельно. Я только перезапустил свой ноутбук Юпитер и все работало нормально. Но с некоторыми исключениями: 1. Я должен перезапускать Ядро каждый раз, когда я хочу переобучить сеть, 2. Я получаю другую ошибку, когда пытаюсь загрузить сохраненную модель, поэтому я не могу работать (ошибка NotFoundError: Key Conv2D_2/W not found in checkpoint). Я задам еще один вопрос по этой проблеме. Вывод: попробуйте перенести свой ноутбук Юпитер, если что-то не работает. И если вы хотите обучить ANN, перезапустите ядро.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...