AttributeError: модуль 'tenorflow' не имеет атрибута 'value' - PullRequest
1 голос
/ 10 марта 2020

Я тренирую pytorch-yolov3 в пользовательском наборе данных. Я подготовил все необходимые файлы txt, data и names.

во время выполнения следующей команды:

python3 train.py --model_def config/yolov3.cfg --data_config config/custom.data

Я получил следующую ошибку:

Warning: indexing with dtype torch.uint8 is now deprecated, please use a dtype torch.bool instead. (expandTensors at /pytorch/aten/src/ATen/native/IndexingUtils.h:20)
Warning: indexing with dtype torch.uint8 is now deprecated, please use a dtype torch.bool instead. (expandTensors at /pytorch/aten/src/ATen/native/IndexingUtils.h:20)
Traceback (most recent call last):
  File "train.py", line 136, in <module>
    logger.list_of_scalars_summary(tensorboard_log, batches_done)
  File "/home/sudip/torch/PyTorch-YOLOv3/utils/logger.py", line 16, in list_of_scalars_summary
    summary = tf.summary(value=[tf.summary.Value(tag=tag, simple_value=value) for tag, value in tag_value_pairs])
  File "/home/sudip/torch/PyTorch-YOLOv3/utils/logger.py", line 16, in <listcomp>
    summary = tf.summary(value=[tf.summary.Value(tag=tag, simple_value=value) for tag, value in tag_value_pairs])
AttributeError: module 'tensorboard.summary._tf.summary' has no attribute 'Value'

Это logger.py файл:

import tensorflow as tf 
class Logger(object):
    def __init__(self, log_dir):
        self.writer = tf.summary.create_file_writer(log_dir)

    def scalar_summary(self, tag, value, step):
        """Log a scalar variable."""
        summary = tf.summary(value=[tf.summary.Value(tag=tag, simple_value=value)])
        self.writer.add_summary(summary, step)

    def list_of_scalars_summary(self, tag_value_pairs, step):
        """Log scalar variables."""
        summary = tf.summary(value=[tf.summary.Value(tag=tag, simple_value=value) for tag, value in tag_value_pairs])
        self.writer.add_summary(summary, step)

Есть идеи или предложения по решению этой проблемы?

Любая помощь будет оценена.

Спасибо

1 Ответ

0 голосов
/ 10 марта 2020

После обновления файла logger.py до версии, которая фактически вызывается из train.py, возникает ошибка

AttributeError: module 'tensorboard.summary._tf.summary' has no attribute 'Value'

. Вероятно, это связано с тем, что вы используете tenenflow 2.1.0, тогда как сценарий logger.py из проекта с открытым исходным кодом использует более раннюю версию tenorflow с другим API.

...