ubuntu下的virtual环境配置jupyter notebook局域网访问-----详解图文版

ubuntu下的virtual环境配置jupyter notebook局域网访问

深度学习中,若是局域网内有一台运行ubuntu的主机是一件非常方便的事,很多事情就会变得容易处理。比如,练习ubuntu命令,学习配置深度学习环境,运行jupyter服务。

由于我们要保证系统的稳定性,也就是说我们的主机是存在出故障的可能性的,所以我建议的是针对不同的服务,将不同的环境单独建立起来存在虚拟环境中,使用的时候,激活需要使用的环境,在该环境下运行对应的命令行即可。

ps:推荐使用python3.*版本!

  • ubuntu创建自己的虚拟环境.
# 安装创建虚拟环境所需要等待对应的安装包和创建虚拟环境名称.
sudo apt-get install python3-pip python3-dev python-virtualenv

# 名称为tensorflow,位置为当前用户的home目录下.
virtualenv --system-site-packages -p python3 ~/tensorflow
  • 激活环境&安装对应安装包
source ~/tensorflow/bin/activate

# 更新pip命令行,其实这个是苹果系统的更新命令,可能源于linux吧,使用并没有任何问题.
easy_install -U pip

# 安装jupyter,包名有好几个,使用不同的包名安装并没有什么问题。
# 使用清华镜像目前可能是最好的选择,理由是速度相对于阿里云,网易云,速度会差一点,但是稳定,可能是习惯使然吧.
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyter ipython vim

# 生成配置文件,默认生成文件的位置为:~/.jupyter/jupyter_notebook_config.py
jupyter notebook --generate-config

# 配置文件信息.
ipython

In [1]: from notebook.auth import passwd
In [2]: passwd()

# 以上由ipython对话式,生成密文.
Enter password: 
Verify password: 
Out[2]: 'sha1:5462a9592a3d:e502996ab12a5564638f588bd1bd661fcf8b9ad7'

# 在~/.jupyter/jupyter_notebook_config.py末尾添加.
#c.ConnectionFileMixin.ip = '0.0.0.0'#若有问题请添加此行上去...
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.open_browser = False
c.NotebookApp.password = 'sha1:5462a9592a3d:e502996ab12a5564638f588bd1bd661fcf8b9ad7'
c.NotebookApp.port = 12345

信息如图:
ubuntu下的virtual环境配置jupyter notebook局域网访问-----详解图文版_第1张图片

  • 运行jupyter notebook
# 后台运行jupyter,且将重定向文件定位为,当前用户home目录下的log目录下的jupyter.log文件中.
nohup jupyter notebook >~/log/jupyter.log 2>&1&

默认是没有该文件的,可以vi ~/log/jupyter.log,会生成对应文件目录+文件.或者:

mkdir ~/log/
touch jupyter.log

# 再后台运行.
nohup jupyter notebook >~/log/jupyter.log 2>&1&

# 直接运行,关掉窗口该程序就会关闭,无法通过浏览器登录进去.
jupyter notebook

浏览器登录如图:
特别提示是:密码,而不是密码生成的密文!!!
ubuntu下的virtual环境配置jupyter notebook局域网访问-----详解图文版_第2张图片
ubuntu下的virtual环境配置jupyter notebook局域网访问-----详解图文版_第3张图片

  • 结束该程序

后台运行一旦关闭该窗口,是无法通过其他terminal窗口查看该进程的,可以通过:

ps aux | grep jupyter,查看进程pid.

# 干掉该后台进程.
kill -9 pid编号.

如图示例:
ubuntu下的virtual环境配置jupyter notebook局域网访问-----详解图文版_第4张图片

特别链接:后台运行命令行,https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/index.html


服务器端口转发实现

对于访问服务器的数据,比如需要将tensorflow的训练数据可视化时候,需要:

# tensorboard –logdir /path/to/logs ,default port 6006.
tensorboard –logdir=logs

"""
(tensorflow-gpu) gmxy@px-gmxy:~/MyWorkStation/MyGAN/Old_DCGAN-tensorflow/logs$ ls -lh
total 37G
-rw-rw-r-- 1 gmxy gmxy 37G May 10 10:11 events.out.tfevents.1557366398.px-gmxy
(tensorflow-gpu) gmxy@px-gmxy:~/MyWorkStation/MyGAN/Old_DCGAN-tensorflow/logs$ ip ad
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp2s0:  mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 44:87:fc:a6:1e:85 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.108/24 brd 192.168.1.255 scope global dynamic noprefixroute enp2s0
       valid_lft 5629sec preferred_lft 5629sec
    inet6 fe80::9674:ed:e975:723d/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
(tensorflow-gpu) gmxy@px-gmxy:~/MyWorkStation/MyGAN/Old_DCGAN-tensorflow/logs$ clear
(tensorflow-gpu) gmxy@px-gmxy:~/MyWorkStation/MyGAN/Old_DCGAN-tensorflow/logs$ ls
events.out.tfevents.1557366398.px-gmxy
(tensorflow-gpu) gmxy@px-gmxy:~/MyWorkStation/MyGAN/Old_DCGAN-tensorflow/logs$ cd ..
(tensorflow-gpu) gmxy@px-gmxy:~/MyWorkStation/MyGAN/Old_DCGAN-tensorflow$ tensorboard --logdir=logs
TensorBoard 1.5.1 at http://px-gmxy:6006 (Press CTRL+C to quit)
W0510 13:06:45.387127 ProjectorPluginIsActiveThread saver.py:1023] FailedPreconditionError: /home/gmxy/MyWorkStation/MyGAN/Old_DCGAN-tensorflow/checkpoint; Is a directory
W0510 13:06:45.387722 ProjectorPluginIsActiveThread saver.py:1024] /home/gmxy/MyWorkStation/MyGAN/Old_DCGAN-tensorflow/logs/../checkpoint: Checkpoint ignored
W0510 13:06:45.689087 ProjectorPluginIsActiveThread saver.py:1023] FailedPreconditionError: /home/gmxy/MyWorkStation/MyGAN/Old_DCGAN-tensorflow/checkpoint; Is a directory
W0510 13:06:45.689541 ProjectorPluginIsActiveThread saver.py:1024] /home/gmxy/MyWorkStation/MyGAN/Old_DCGAN-tensorflow/logs/../checkpoint: Checkpoint ignored
"""
# 此时使用远程的ssh工具可以将端口映射到本地端口,实现对服务器数据的访问.

ubuntu下的virtual环境配置jupyter notebook局域网访问-----详解图文版_第5张图片

你可能感兴趣的:(深度学习)