远程linux服务器跑代码使用TensorBoard画出训练得出的奖励的图表
个人操作成功,除了ssh还可以用ip
1. 服务器上安装 TensorBoard
pip install tensorboard
2. 使用 TensorBoard
// 导入SummaryWriter
from torch.utils.tensorboard import SummaryWriter
// 初始化 SummaryWriter 类,命名 log_dir 路径名,runs 是已有文件夹名,dqn_experiment 是自定义文件名
writer = SummaryWriter(log_dir="runs/dqn_experiment")
for i in range(100):
// tag 图表名,scalar_value 纵坐标,global_step 横坐标
writer.add_scalar(tag='Reward/train', scalar_value=np.random.random(), global_step=i)
// 可以写多个add_scalar,不同的tag,最后会显示多个图表
3. 在上述代码运行之前,先进行如下操作:
3.1 通过ssh转发访问服务器
在本地电脑(要支持ssh)命令行中输入以下命令
ssh -L 16006:127.0.0.1:6006 username@ip
这条命令的含义就是将服务器上6006端口的信息通过SSH转发到本地的16006端口,其中16006是本地的任意端口(无限制),只要不和本地应用有冲突就行;后面则是对应的用户名和服务器IP。
3.2 服务器终端启动tensorboard
进入要运行代码所在目录,服务器命令行输入以下命令启动tensorboard
// runs 是 1 中自定义的存放文件夹路径
tensorboard --logdir=runs
3.3 查看tensorboard网页
运行2中编写的代码
在本地浏览器输入地址,进入网页查看渲染
http://127.0.0.1:16006
使用vscode更加简便的使用tensorboard
打开vscode,在远程服务器中,点击F1,选择tensorboard
点击选择运行目录
就可以运行代码,查看tensorboard图表渲染了