【Linux】远程使用Tmux+Tensorboard监测模型训练

前言

最近使用Lightning-AI/pytorch-lightning: Pretrain, finetune ANY AI model of ANY size on multiple GPUs, TPUs with zero code changes.框架来搭建了一些模型,这个框架集合了Tensorboard日志功能,很好用,具体用法可以参考官方日志文档。

Tensorboard的使用方法也很简单:

tensorboard --logdir=你的日志路径

运行后会自动开启一个默认为6006的端口,通过路径http://localhost:6006/即可访问:

然而问题是大部分服务器都是只允许少部分端口开放,我们无法通过远程主机IP+6006访问到Tensorboard,而手动下载日志文件到本机再运行太麻烦且达不到实时监控的效果,那么我们可以考虑使用端口映射的方式来实现。

一、后台运行

一般后台运行的最简单方式是:

nohup python xxxx

这种方式简单,输出会自动保存到运行路径下的nohup.out文件中

但是管理起来相当麻烦,且关闭进程需要去查进程号

因此我们选择使用tmux来进行,这里列出tmux的一些常用命令

tmux new -s 会话名    # 创建一个会话
tmux attach -t 会话名 # 打开指定会话

# 在当前会话下
exit() #关闭会话

这样我们只需要创建一个Tmux 会话,然后在会话中配置好Tensorboard就可以了,关闭也不会影响Tensorboard的运行。

 

二、端口映射

由于Tensorboard服务运行在服务器端,我们在用户端访问需要进行端口的映射,也很简单:

ssh -L 6006:127.0.0.1:6006 用户名@服务器IP

这样我们连接成功后即可在本机浏览器直接通过该网址访问Tensorboard

 

进一步地,我们可以将这条命令写成脚本,在桌面新建一个txt文档并输入以下内容:

@echo off
start http://localhost:6006/
ssh -L 6006:127.0.0.1:6006 用户名@服务器IP

后缀名改成bat即可。

 

posted @ 2024-12-04 16:54  巴塞罗那的余晖  阅读(25)  评论(0编辑  收藏  举报
//雪花飘落效果