Pytorch使用tensorboard_logger进行configure时报错“ValueError: default logger already configured”

由于某些原因,代码不支持最新版的Pytorch,所以不能用tensorboard,所以只能使用Pytorch0.4.1使用tensorboard_logger来可视化训练过程。

出现这个报错的原因是我想在训练过程建两个logger文件,这时默认logger会冲突。

解决办法:

按照报错提示找到tensorboard_logger的源码,我的如下:

D:\此处省略\lib\site-packages\tensorboard_logger\tensorboard_logger.py

在317行的log_images函数后面添加如下代码:

def clean_default_logger():
    global _default_logger
    _default_logger = None
    return _default_logger

再在这个文件开头第26行的__all__列表中添加“clean_default_logger”一项,结果如下:

__all__ = ['Logger', 'configure', 'log_value', 'log_histogram', 'log_images', 'clean_default_logger']

在之前报错代码前面加上:

import tensorboard_logger
tensorboard_logger.clean_default_logger()

再次运行代码,成功解决!有用点个赞呀~

(对了,要是使用pycharm运行提示没有clean_default_logger这个函数那就重新导入一下环境,先切成其他环境再切回来就好了)

你可能感兴趣的:(Pytorch,python)