相关资料:
Github地址:https://github.com/lanpa/tensorboardX
一个博客:Pytorch使用tensorboardX可视化。超详细!!!
安装过程:
先安装TensorboardX
pip install tensorboardX
再安装TensorFlow
pip install tensorflow
我疑惑了一下为什么要装TensorFlow,后来发现它的工作方式是炼丹程序运行时创建了log文件,然后Tensorboard去读取和生成图表,TensorboardX做的事应该是支持了pytorch创建这个log文件。
小提示:
我在运行的时候(后话),出现了下面的错误(如下图),上网查了一下(stackoverflow),然后感觉我的numpy和pandas可能版本不对,就更新了一下pandas和numpy(然后就work了,快乐)。
pip install -U pandas, numpy
运行:
运行demo.py,此时demo.py同级目录下会有runs等文件夹(下图)
然后在这个runs文件夹的同级目录下,命令行运行tensorboard
tensorboard --logdir runs
如果运行正常,会显示网页链接如下,然后在浏览器里打开就行了
TensorBoard 1.12.1 at http://DESKTOP-AKAISORA:6006 (Press CTRL+C to quit)
详细基本用法:
可以看Doc,或者相关博客。
add_scalar
from tensorboardX import SummaryWriter writer=SummaryWriter() writer.add_scalar('Train/Duration',turns+1,episodes_id) writer.add_scalars('Train/turn-value',{'turns':turns+1,'value':value},gturn)
add_graph
from tensorboardX import SummaryWriter writer=SummaryWriter() class Net(nn.Module): def __init__(self): super(Net,self).__init__() self.fc1=nn.Linear(12,16) self.fc2=nn.Linear(16,16) self.fc3=nn.Linear(16,2) def forward(self,x): x=torch.cat([x,pow(x,2),0.1/x],1) x=F.relu(self.fc1(x)) x=F.relu(self.fc2(x)) x=self.fc3(x) return x device=torch.device("cuda" if torch.cuda.is_available() else "cpu") policy_net=Net().to(device) batch_state=torch.tensor([1,2,3,4],device=device,dtype=torch.float32).view(1,1,-1) writer.add_graph(policy_net,(batch_state,))
附加内容:
用add_graph功能的时候出错了(cannot import name ‘OperatorExportTypes’)
解决办法是把pytorch从0.4升到1.0