Linux服務器裝Anaconda&TensorFlow


遠程Linux服務器裝Anaconda&指定版本TensorFlow

說明:

由於疫情影響,原先使用的服務器已斷電,故重選了一台服務器對環境重選進行搭建,正好補上這篇博文。

01 下載Anaconda3

  1. 進入清華開源軟件鏡像站,其網址如下:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
  2. 下載相應的版本信息:

此處可通過命令 uname -a查看系統的版本等信息:

zcc@new-gpu:/home$ uname -a
Linux new-gpu 4.4.0-78-generic #99-Ubuntu SMP Thu Apr 27 15:29:09 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
  1. 通過Xftp將下載好的軟件上傳到服務器上

02 安裝

  1. 定位到Anaconda3-2019.10-Linux-x86_64.sh所在路徑

  2. 在命令窗口中輸入:bash Anaconda3-2019.10-Linux-x86_64.sh 進行安裝

    • 安裝過程中根據相應提示,輸入enter/yes等確認操作
  3. 安裝過程很快速,安裝完成后,提示:Thank you for installing Anaconda3!

  4. 環境激活:輸入命令source ~/.bashrc ,激活環境后,默認進入base環境下

    • 如:(base) zcc@new-gpu:~$

    若無法通過該命令激活環境,則采取下列操作:

    1. vim ~/.bashrc
    2. 在最后一行加上:export PATH=$PATH:/你的路徑/anaconda3/bin
    3. 保存后再運行source ~/.bashrc
  5. 驗證是否安裝成功:輸入命令conda --version,查看是否能查看安裝版本

    • (base) zcc@new-gpu:~$ conda --version
      conda 4.7.12
      

上述版本的Anaconda安裝后,默認安裝了python3

  1. 鏡像源的修改:各種鏡像源的更換

03 安裝指定版本TensorFlow

版本解決

考慮到項目中需要使用的TensorFlowpython版本和服務器端現有的CUDA``版本,故重新創建一個新的conda環境進行各個內容的安裝,此處我需要安裝的版本為:python3.6,tensorflow-gpu 1.12.0

  1. 查看服務器端的cudacudnn版本, 通過輸入命令:cat /usr/local/cuda/version.txtcat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2,如下:
(base) zcc@new-gpu:~$ cat /usr/local/cuda/version.txt
CUDA Version 8.0.61
(base) zcc@new-gpu:~$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR      5
#define CUDNN_MINOR      1
#define CUDNN_PATCHLEVEL 10
--
#define CUDNN_VERSION    (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#include "driver_types.h"

  1. 在以下網址查看需要安裝的TensorFlow是否匹配cudacudnnPython版本,如下:https://tensorflow.google.cn/install/source

  1. 非常不幸的是,這台服務器上的CUDA版本和我的需要安裝的TensorFlow版本並不匹配:-(

該不匹配的情況不會影響你后續的安裝,因此先進行后續的安裝,完成后再來解決cuda版本匹配問題

修改CUDNCUDNN版本

再次說明:因為之前我遇到過一次該問題,也的確是會有版本沖突的問題,去了英偉達的官方網下載了相應的cudnn,但是這次雖然版本也沒有匹配上,但是程序居然跑通了,弄的我一臉懵逼。

故在此只貼出上次解決是參考的博客:https://blog.csdn.net/weixin_42567692/article/details/80844696

親測有效

后來在路徑usr/local一查,原來服務器下CUDA8.0和CUDA9.0的版本都有

創建新Conda環境

  1. 創建一個新的conda環境,並指定Python的版本號未3.6
# conda create -n 環境名 python=制定版本號
conda create -n tensorflow1.12 python=3.6

# ....創建環境,安裝各種包....

# To activate this environment, use
#
#     $ conda activate tensorflow1.12
#
# To deactivate an active environment, use
#
#     $ conda deactivate

由於並沒有進行鏡像的更換,可以在命令后方制定臨時的鏡像源

  1. 安裝成后,通過命令conda info -e查看目前現有環境,通過命令conda activate tensorflow1.12切換到指定環境

    當出現如下錯誤時:

    CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
    To initialize your shell, run
    
        $ conda init <SHELL_NAME>
    

    解決:

    1. 輸入命令source activate進入base環境
    2. 再輸入conda activate 環境名即可
    3. 退出環境命令:source deactivate
  2. 輸入python,查看是python是否是你指定安裝的Python版本

安裝tensorflow

方式一:直接安裝

通過pip工具對tensorflow-gpu進行安裝

# 指定臨時鏡像源對指定版本的tensorflow進行安裝
pip install tensorflow-gpu==1.12.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/

# ...漫長的安裝tensorflow+依賴包...

若出現下載鏈接超時pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='pypi.tuna.tsinghua.edu.cn', port=443): Read timed out.的異常

可設定超時時間:pip install --default-timeout=1000 tensorflow-gpu==....

若還是下載緩慢,比如我這次安裝時就遇見了,那就采用下載方式二:

方式二:本地下載好再裝

  1. 根據pip在下載時提示的網站地址,自行下載

例如我下載的tensorflow1,12-gpu的地址為: https://pypi.tuna.tsinghua.edu.cn/packages/55/7e/bec4d62e9dc95e828922c6cec38acd9461af8abe749f7c9def25ec4b2fdb/tensorflow_gpu-1.12.0-cp36-cp36m-manylinux1_x86_64.whl

  1. 下載完成后,將文件tensorflow_gpu-1.12.0-cp36-cp36m-manylinux1_x86_64.whl移動到服務器端
  2. 通過命令pip install 包路徑+包名指定剛剛上傳的包路徑進行安裝

此方法安裝也會去網上下載所依賴的包,因此最好也指定下路徑,最好還指定下超時時間

我的完整命令如下:

pip install --default-time=1000 tensorflow_gpu-1.12.0-cp36-cp36m-manylinux1_x86_64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple/

驗證:

經過漫長的安裝:控制端提示安裝成功,驗證如下:

(tensorflow1.12) zcc@new-gpu:~$ python
Python 3.6.10 |Anaconda, Inc.| (default, Jan  7 2020, 21:14:29) 
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__
'1.12.0'

可見,我們tensorflow1.12安裝成功

在導入包的時候會報一串FutureWarning警告,這是由於numpy的版本問題,不影響使用,網上有很多解決方法,此處就不貼解決方案了。

參考:

https://blog.csdn.net/weixin_41519463/article/details/89373643
https://blog.csdn.net/qq_33221533/article/details/100150534
https://blog.csdn.net/weixin_38705903/article/details/86533863

PS:就在我剛剛裝完環境后,居然告訴我電力恢復,我真是暈了:-(


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM