TypeError: Tensor не подлежит изменению, если включено равенство Tensor. Вместо этого используйте тензор.experimental_ref () в качестве ключа - PullRequest
1 голос
/ 09 ноября 2019

Я пытался применить трансферное обучение к InceptionV3. Вот мой код:

inception_model = InceptionV3(weights='imagenet',include_top=False)
output_inception = inception_model.output
output_globalavgpooling = GlobalAveragePooling2D()(output_inception)
output_dense = Dense(1024,activation='relu')(output_globalavgpooling)
predictions = Dense(1,activation='sigmoid')(output_dense)

final_model = Model(inception_model.input,output=predictions)

final_model.compile()

inception_model.summary()

Когда я запускаю этот код, я получаю следующую ошибку в строке final_model = Model(inception_model.input,output=predictions):

TypeError: Tensor is unhashable if Tensor equality is enabled. Instead, use tensor.experimental_ref() as the key.

Что мне делать?

Ответы [ 2 ]

0 голосов
/ 15 ноября 2019

Вы пробовали это?

final_model = tf.compat.v1.keras.Model(inception_model.input,output=predictions)
0 голосов
/ 15 ноября 2019

У меня была похожая ошибка. В моем случае это было связано с использованием старой версии Keras и Tensorflow 2 от conda. В настоящее время существуют некоторые проблемы, препятствующие использованию Tensorflow 2 с текущими Keras через conda.

Я создал новую среду и установил с использованием веб-сайтов Keras / Tensorflow (в моем случае версия только с ЦП):

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