pytorch中使用tensorboard,各种补坑,不是tensorboardX,是1.x版本自带的 torch.utils.tensorboard

运行的是官网上的tensorboard_tutorial

问题及解决方法总结:

(1) ModuleNotFoundError: No module named ‘past’

解决方法:

安装future包,解决Py2、py3之间版本不兼容问题,

问题链接:discuss.pytorch.org

(2)UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 0… 出现这个问题是因为电脑名称是中文

解决方法:

电脑主机名称要用英文,关于这个问题我在这篇文章里用过修改源码的方式解决过,时隔一年又一次碰到这个问题,直接改名,一步到位

(3)graphs显示问题:代码没问题,官方给出的示例代码,但graphs只显示两个矩形框

pytorch中使用tensorboard,各种补坑,不是tensorboardX,是1.x版本自带的 torch.utils.tensorboard

解决方法:

关于这个问题,在github上看到pytorch官方的程序猿也正在修改,并且将改动更新到了测试版之中,截止到目前给出一种解决方法,升级pytorch到测试版

我升级后解决问题 :

torch ------ 1.3.0.dev20191002

tensorboard ------- 2.0.0

Python ---------3.7

(4)scalar图形无法显示,no data。。。。。。

tensorboard --logdir=logs 不写等号scalar图形无法显示

(5) 打开tensorboard报错:ValueError: Duplicate plugins for name projector,这个问题原因是有多个版本的tensorboard,因为我调试上面问题(3)时换过多个版本的tensorboard,所以造成环境有些混乱

解决方法:

尝试 pip uninstall tensorboard 后重装tensorboard 看能不能成功,或者重装TensorFlow。。。

我试过无效,所以最后删除环境,重新建了一个新环境,23333

Tricks:

(1)打乱tensor中数据顺序的一种方法 data = torch.tensor([11,12,13,14,15])

data[torch.randperm(5)]

perm = torch.randperm(5) 返回一个 0~5 随机顺序的 tensor

data[perm] 按照随机顺序perm打乱数据

(2)plt.imshow(np.transpose(npimg, (1, 2, 0))) # 图片在tensor中是[c,h,w]形式存储的

# imshow显示numpy数组格式数据,形式为[h,w,c]