内容简介:多数情况下我们都是在本地使用 Anaconda 来安装 tensorflow, notebook 做深度学习, 数据分析.但有时还是有需要在服务器上处理这些事, 比如 macbook 空间又双叕不够啦, 公司的数据不方便走外网啦, 数据导来导去非常麻烦啦, 还不如直接在服务器上跑 notebook 分析数据.好, 不废话了, 直接上
多数情况下我们都是在本地使用 Anaconda 来安装 tensorflow, notebook 做深度学习, 数据分析.
但有时还是有需要在服务器上处理这些事, 比如 macbook 空间又双叕不够啦, 公司的数据不方便走外网啦, 数据导来导去非常麻烦啦, 还不如直接在服务器上跑 notebook 分析数据.
好, 不废话了, 直接上
1. 安装 conda
Anaconda 其实也是用的 conda 来安装 package, 所以我们直接用conda 就行了. 下面就以 Ubuntu 环境下安装 conda:
# Install our public gpg key to trusted store curl https://repo.anaconda.com/pkgs/misc/gpgkeys/anaconda.asc | gpg --dearmor > /tmp/conda.gpg install -o root -g root -m 644 /tmp/conda.gpg /etc/apt/trusted.gpg.d/ # Add our debian repo echo "deb [arch=amd64] https://repo.anaconda.com/pkgs/misc/debrepo/conda stable main" > /etc/apt/sources.list.d/conda.list apt-get update apt-get install conda 复制代码
2. 常用的 conda 命令
# 把 conda 加入环境变量, 你也可以在 ~/.bash_profile 里加入一行 export PATH > source /opt/conda/etc/profile.d/conda.sh # 验证 conda 命令是否正常 > conda -V conda 4.5.11 # 更新一下 conda > conda update conda # 创建一个 conda 环境 conda create --name <env_name> # 查看当前有哪些环境 conda info --envs # 激活环境 conda activate <env_name> # 在这个环境下安装库 conda install <packagename> # 列出当前环境下安装的库 conda list # 删除环境下的库 conda remove <packagename> # 退出环境 conda deactivate 复制代码
3. conda 安装 tf, notebook
下面的例子创建了一个叫 tf
的 conda 环境, 然后安装 tf, notebook.
conda create --name tf conda activate tf conda install tensorflow jupyter notebook 复制代码
4. 启动 notebook
在这个环境下启动 notebook, 指定ip, port. 端口避开了常用的 8080.
jupyter notebook --ip=127.0.0.1 --port=10082 --allow-root 复制代码
启动时留意一下 token, 一会访问 notebook 时要用到.
5. 配置 nginx
通过 nginx 把 test.notebook.domain.com
的请求打到第4步的 notebook 的端口.
因为 notebook 还用了 websocket, nginx需要支持.
map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { server_name test.notebook.domain.com; listen 80; location / { proxy_pass http://127.0.0.1:10082; proxy_set_header Host $host; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } } 复制代码
6. 热启动 nginx
nginx -s reload 复制代码
7. 修改本地 hosts
nginx 里配置的域名 test.notebook.domain.com
不需要做域名解析, 我们修改一下本地hosts 就好.
[云服务器ip] test.notebook.domain.com 复制代码
8. 访问 notebook
打开浏览器, 访问 test.notebook.domain.com
这时熟悉的 notebook 界面出来了.
9. 添加 notebook 配置
这时虽然能访问了, 但创建新的 notebook 脚本时会报错, 原因是请求跨域了. 要解决这个问题虽然可以按跨域请求思路找办法, 但 jupyter 已经可以通过配置来解决, 还能去掉token.
touch ~/.jupyter/jupyter_notebook_config.py 复制代码
添加4行
c.NotebookApp.ip = '0.0.0.0' c.NotebookApp.token = '' c.NotebookApp.allow_origin = '*' c.NotebookApp.disable_check_xsrf = True 复制代码
这里再重新启动 notebook 就可以正常创建了.
有兴趣的同学可以把这些步骤做成 ansible playbook, 就不用每次都弄一遍了.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 使用 Nagios 搭建监控服务器
- 使用solr搭建搜索服务器
- 独立文件服务器VSFTPD的使用
- 使用Knative提供无服务器服务的简单案例
- Eclipse使用jetty服务器运行项目
- 使用Go语言创建静态文件服务器
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
垃圾回收的算法与实现
中村成洋、相川光 / 丁灵 / 人民邮电出版社 / 2016-7-1 / 99.00元
★ Ruby之父Matz作推荐语:上古传承的魔法,彻底揭开垃圾回收的秘密! ★ 日本天才程序员兼Lisp黑客竹内郁雄审校 本书前半介绍基本GC算法,包括标记-清除GC、引用计数、复制算法的GC、串行GC的算法、并发GC的算法等。后半介绍V8、Rubinius、Dalvik、CPython等几种具体GC的实现。本书适合各领域程序员阅读。一起来看看 《垃圾回收的算法与实现》 这本书的介绍吧!