如何在服务器上使用 Tensorflow, Notebook

栏目: 数据库 · 发布时间: 5年前

内容简介:多数情况下我们都是在本地使用 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 时要用到.

如何在服务器上使用 Tensorflow, 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 界面出来了.

如何在服务器上使用 Tensorflow, 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, 就不用每次都弄一遍了.


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

React Native开发指南

React Native开发指南

[美]艾森曼 / 黄为伟 / 人民邮电出版社 / 2016-6-1 / CNY 59.00

本书通过丰富的示例和详细的讲解,介绍了React Native这款JavaScript框架。在React Native中利用现有的JavaScript和React知识,就可以开发和部署功能完备的、真正原生的移动应用,并同时支持iOS与Android平台。除了框架本身的概念讲解之外,本书还讨论了如何使用第三方库,以及如何编写自己的Java或Objective-C的React Native扩展。一起来看看 《React Native开发指南》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换