UnboundLocalError: локальная переменная logs, на которую ссылаются перед назначением - PullRequest
0 голосов
/ 10 июля 2020

При запуске model.fit () я получаю сообщение об ошибке «UnboundLocalError: локальная переменная 'logs'. Я использую модель tf.keras с tenorflow 2.0. Набор данных имеет формат tf.data.Dataset - OrderedDict ([(x, (None, 1)), (y, (None, 1))]), типы: OrderedDict ([(x, tf.float32), (y, tf.float32)]). Код приведен ниже. Основываясь на аналогичных вопросах по Stackoverflow, я даже проверил, не путаю ли tf.keras и keras.

model.fit (train_data, epochs = 1)

---------------------------------------------------------------------------

UnboundLocalError                         Traceback (most recent call last)
<ipython-input-28-775a093e0b8e> in <module>()
----> 1 model.fit(train_data,  epochs=1,validation_data=federated_train_data)

1 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py in 
_method_wrapper(self, *args, **kwargs)
 64   def _method_wrapper(self, *args, **kwargs):
 65     if not self._in_multi_worker_mode():  # pylint: disable=protected-access
---> 66       return method(self, *args, **kwargs)
 67 
 68     # Running inside `run_distribute_coordinator` already.

 /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py in 
 fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, 
 shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, 
 validation_batch_size, validation_freq, max_queue_size, workers, use_multiprocessing)
 854               logs = tmp_logs  # No error, now safe to assign to logs.
 855               callbacks.on_train_batch_end(step, logs)
 --> 856         epoch_logs = copy.copy(logs)
 857 
 858         # Run validation.

 UnboundLocalError: local variable 'logs' referenced before assignment
...