前言:
由于服务器端没有图形界面,无法访问浏览器使用jupyter和tensorboard,且使用的不是服务器的用户,而是服务器上的容器docker,因此需要一些操作才能使用jupyter和tensorboard,搜了一圈都是要开ssh隧道,但是其实完全不需要。
Docker中使用jupyter/tensorboard
想要在本地浏览器当中使用jupyter或tensorboard,必须在run docker的时候分配好端口,如果已经分配好端口,则并不需要使用ssh隧道
分配端口给该docker
docker run -it -p 21003:22 -p 21488:8888 -p 21481:8081 -p 21482:8082 --shm-size=32g --name cuda cuda_image /bin/bash
jupyter 安装
pip3 install jupyter
# 生成配置文件,默认位置在 ~/.jupyter/jupyter_notebook_config.py
jupyter notebook --generate-config
进入 python
生成密码
from notebook.auth import passwd
passwd()
打开配置文件修改
c.NotebookApp.password = u'' # 修改密码
c.NotebookApp.ip = '*' # 修改 ip
c.NotebookApp.port = 8888 # 修改端口
c.NotebookApp.open_browser = False # 关闭启动浏览器
c.NotebookApp.notebook_dir = './' # 修改启动目录
c.NotebookApp.allow_root = True # 允许 root 启动
修改样式
# 安装
pip3 install jupyterthemes
jt -l # 列出可用样式
jt -t grade3 -f consolamono -T # 选择样式
启动jupyter并放在后台不动
jupyter notebook --no-browser --port=8888 --ip=0.0.0.0 --allow-root
在本地浏览器当中输入
服务器ip:之前开docker映射到8888的端口21488
e.g. 192.168.100.4:21488 即可访问
tensorboard
安装tensorboard
pip install tensorboard
pip install tensorboardx
在权重路径启动tensorboard
# 一定要加bind_all
tensorboard --logdir=./runs --port=8081 --bind_all
在本地浏览器当中输入
服务器ip:之前开docker映射到8081的端口21481
e.g. 192.168.100.4:21481 即可访问