手把手教你搭建深度學習開發環境(Tensorflow)
前段時間在阿里雲買了一臺伺服器,準備部署網站,近期想玩一些深度學習專案,正好拿來用。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,複製到本地電腦瀏覽器,輸入設定的密碼,即可訪問了!測試一下,一切正常,大功告成!