В моем проекте использовалась keras 1.2.2, сейчас я заменяю его на keras 2.2.4, проблем до этого не было, пока я не изменил версию keras.Вот сообщение об ошибке:
/home/xxx/PycharmProjects/xxx/code/PM_BLSTM1.py:289: UserWarning: The `nb_epoch` argument in `fit` has been renamed `epochs`.
callbacks=[checkpointer, mycallback])#class_weight={0:5, 1:2, 2:2, 3:2, 4:1, 5:1, 6:1},
Traceback (most recent call last):
File "/home/xxx/PycharmProjects/xxx/code/PM_BLSTM1.py", line 289, in <module>
callbacks=[checkpointer, mycallback])#class_weight={0:5, 1:2, 2:2, 3:2, 4:1, 5:1, 6:1},
File "/home/xxx/.local/lib/python2.7/site-packages/keras/engine/training.py", line 1010, in fit
self._make_train_function()
File "/home/xxx/.local/lib/python2.7/site-packages/keras/engine/training.py", line 509, in _make_train_function
loss=self.total_loss)
File "/home/xxx/.local/lib/python2.7/site-packages/keras/legacy/interfaces.py", line 91, in wrapper
return func(*args, **kwargs)
File "/home/xxx/.local/lib/python2.7/site-packages/keras/optimizers.py", line 592, in get_updates
self.updates.append(K.update(p, new_p))
File "/home/xxx/.local/lib/python2.7/site-packages/keras/backend/tensorflow_backend.py", line 973, in update
return tf.assign(x, new_x)
File "/home/xxx/.local/lib/python2.7/site-packages/tensorflow/python/ops/state_ops.py", line 222, in assign
return ref.assign(value, name=name)
AttributeError: 'Tensor' object has no attribute 'assign'
Вот код:
model.fit(train_array, train_label, batch_size=batch_size, epochs=20,
verbose=2, validation_split=0.1,
shuffle=True,
validation_data=(test_array, test_label),
callbacks=[checkpointer, mycallback])
Я думаю, что это из-за изменения версии keras, но я ничего об этом не нахожу, так что если кто-нибудь может мне помочь?