手把手教你如何在阿里云ECS搭建Python TensorFlo

2019-11-19  本文已影响0人  统计学家

前段时间在阿里云买了一台服务器,准备部署网站,近期想玩一些深度学习项目,正好拿来用。TensorFlow官网的安装仅提及Ubuntu,但我的ECS操作系统是 CentOS 7.6 64位,搭建Python、TensorFlow、Jupyter开发环境过程中遇到很多问题。这里将具体步骤分享给大家,可以少走很多弯路。

第一步 安装anaconda

Anaconda在linux依然功能强大,管理工具包、开发环境、Python版本都非常方便。

先在根目录下创建一个文件夹用于存放Anaconda安装包

~# mkdir anaconda

~# cd anaconda

为保障下载速度,建议选择清华大学镜像站

https://mirrors.tuna.tsinghua.edu.cn

选择版本,复制链接

anaconda目录下运行:

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2019.03-Linux-x86_64.sh

这里可能会报错,多半是无法解析主机地址,也即DNS解析的问题。

解决办法:

登入root

sudo vim /etc/resolv.conf

修改内容为下

nameserver 8.8.8.8

nameserver 8.8.4.4

切换到anaconda3所在文件位置

bash Anaconda3-2019.03-Linux-x86_64.sh

一路yes,直到安装完成

如果中间报错,这是因为之前创建过anaconda3了

解决办法:

bash Anaconda3-2019.03-Linux-x86_64.sh -u

测试一下,python pip也都安装成功了

如果在安装Anaconda的过程中没有将安装路径添加到系统环境变量中,需要在安装后手工添加:

1、在终端输入 vim/etc/profile,打开profile文件。

2、在文件末尾添加一行:

exportPATH=/root/anaconda3/bin:$PATH,保存。

3、让/etc/profile文件修改后立即生效 ,可以使用如下命令: source /etc/profile

另外,Anaconda安装完成后会创建一个叫base的默认环境,Linux的终端界面前部出现(base)字样,如不介意,可以跳过这个步骤:

在终端中输入conda deactivate,即可消除base字样,但这是一次性的,再次打开终端依然存在base字样。在.bashrc文件添加命令:conda deactivate可以永久消除base字样。

1.打开一个终端 ,输入命令:gedit~/.bashrc

2.在 .bashrc文件最后面添加命令:conda deactivate

第二步 安装虚拟环境

virtualenv 是一个创建隔绝的Python环境的工具,用virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。

conda也能配置虚拟环境,可以直接从base克隆

conda create -n myenv--clone base

但是我还是习惯用virtualenv,conda方法的后续配置方法,大家自行尝试。

1、安装virtualenv

pip install virtualenv

在pip安装包时,系统默认是从aliyun镜像,我试过几个镜像源,发现还是清华的镜像源比较快。我们修改一下配置文件:

mkdir ~/.pip

cd ~/.pip

vi pip.conf

将文件内容修改为以下内容,保存即可。

[global]

index-url =https://pypi.mirrors.ustc.edu.cn/simple/

2、安装虚拟环境,这里选择Python3.7版,环境名设为:myenv

conda create -n myenv python=3.7

3、激活虚拟环境

source activate myenv

4、在虚拟环境安装TensorFlow

pip install --ignore-installed --upgrade packageURL

官网提供的URL来自google,由于众所周知的原因。。。所以我们从pypi.org下载安装

pip install --ignore-installed --upgrade https://files.pythonhosted.org/packages/2a/5c/f1d66de5dde6f3ff528f6ea1fd0757a0e594d17debb3ec7f82daa967ea9a/tensorflow-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl

测试一下,安装成功!

第三步 搭建Jupyter并远程访问

Anaconda安装成功后,Jupyter也一样安装好了

But这样是不行的,因为juypter集成在anaconda中,并不在虚拟环境myenv下,所以我们需要回到第二步中的激活虚拟环境,然后再次安装jupyter:

pip install jupyter

安装完成后运行#jupyter notebook会报错,提示说找不到该文件之类的,是没有配置环境变量的原因。

解决办法:

vim /root/.jupyter/jupyter_notebook_config.py

改几个地方:

c.NotebookApp.ip = 'ip地址' #

c.NotebookApp.password = u'秘钥'

c.NotebookApp.port = 8889 # 端口号,自设

c.NotebookApp.enable_mathjax = True

c.NotebookApp.notebookdir = "jupyter安装地址"

其中,ip地址可以在控制台实例列表中查询,这里要填写下图私有ip

秘钥可以用ipython生成,是的anaconda也集成了ipython,设置一个简单的密码(别忘了,后面还要用),生成的秘钥复制过去即可,代码如下:

查询jupyter安装地址

将上文地址修改为/root/anaconda3/envs/myenv/bin

以上修改完毕,再次运行jupyter notebook

但是,还没有结束呢。

我们还需要设置一下ECS实例的安全规则,入方向、出方向一样。

至此,所有设置完毕!在服务器端运行jupyter notebook,进程在后台运行。

再次在控制台实例列表中查询ip

http://上图第一个IP地址:8889,复制到本地电脑浏览器,输入设置的密码,即可访问了!测试一下,一切正常,大功告成!

首发于微信公众号:机器学习与统计学

上一篇下一篇

猜你喜欢

热点阅读