AttributeError: у объекта 'Tensor' нет атрибута 'assign' callbacks = [checkpointer, mycallback]) - PullRequest
0 голосов
/ 13 марта 2019

В моем проекте использовалась 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, но я ничего об этом не нахожу, так что если кто-нибудь может мне помочь?

...