访问 docker 容器的 tensorboard

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 [email protected] -p 2212
  • 6006为本地的端口,6166为docker容器中开启tensorboard服务的端口号的主机映射端口;
  • root为你的用户名,10.10.10.10为你的服务器IP地址,2212为服务器的ssh端口;
  • 连接到服务器后,会提示输入密码,然后输入即可。

打开本地浏览器访问tensorboard

在本地浏览器打开页面:http://127.0.0.1:6006/,即可访问服务器里的docker容器的tensorboard服务。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42363032/article/details/131212303