demo代码示例
'''
tensorboard --logdir=log_path
:return:
'''
from torch.utils.tensorboard import SummaryWriter
logger = SummaryWriter(log_dir='./log/boardtest/')
loss = [5.5, 4.1, 4.2, 3.2, 3.3, 2.9, 2.5, 1.2, 0.8, 0.6]
steps = [1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000]
for i in range(len(loss)):
logger.add_scalar('train_loss', loss[i], steps[i])
logger.add_scalar('train_steps', loss[i], steps[i])
logger.add_scalar('val_loss', loss[i], steps[i])
logger.add_scalar('val_steps', loss[i], steps[i])
docker 容器端口映射
映射端口为6666
docker run --rm -it --gpus '"device=0"' --name chat_demo\
-p 6666:6666/tcp \
--shm-size 15G \
-v /data/donews/wangguisen/chat:/home \
wgs-torch:chat \
sh -c "tensorboard --logdir=/home/log/boardtest --port=6666 --bind_all"
- gpus all:使docker能支持GPU,要用gpu必须用这种方式(版本19.03以上);
- -i:–interactive,保持标准输入始终开启着,保证容器能收到STDIN;
- -t:–tty,为创建的容器分配一个伪tty,相当于提供了交互式shell;
- –name:这个容器的名字,建议加上自己标识,明确是谁的容器;
- -v:挂载一个host的目录到容器内,可以挂载多个目录;
- -p:端口映射,容器的6166端口映射到主机的6166,主机端口:容器端口;
- –shm-size :可选,有时候shared-memory不足,可以通过这个参数指定;
上述启动容器,运行 tensorboard
tensorboard --logdir=/home/log/boardtest --port=6666 --bind_all
--bind_all
: 将服务暴漏到网络中
本地ssh连接到服务器
ssh -L 6006:127.0.0.1:6166 root@10.10.10.10 -p 2212
- 6006为本地的端口,6166为docker容器中开启tensorboard服务的端口号的主机映射端口;
- root为你的用户名,10.10.10.10为你的服务器IP地址,2212为服务器的ssh端口;
- 连接到服务器后,会提示输入密码,然后输入即可。
打开本地浏览器访问tensorboard
在本地浏览器打开页面:http://127.0.0.1:6006/,即可访问服务器里的docker容器的tensorboard服务。