docker中安裝anaconda+ jupyter(遠程訪問)+tensorflow


一、docker安裝anaconda

1、到anaconda清華鏡像網站下載:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

注意版本:Anaconda2表示python2,Anaconda3表示python3。查看:https://blog.csdn.net/yuejisuo1948/article/details/81043823

2、如下載的是Anaconda3-5.3.0-Linux-x86_64.sh,則安裝的命令是 sh Anaconda3-5.3.0-Linux-x86_64.sh

3、更新環境變量

# source ~/.bashrc

# conda -V

4、安裝相關包:conda install 包名

如安裝jupyter notebook,詳細看一; conda install jupyter notebook

啟動:jupyter notebook

5、創建tensorflow環境:

  • conda create -n tf1 .13.1-py3.6 python=3.6
    激活環境:source activate tf1.4-py3.6
     
    查看conda有哪些環境:conda info -e
     

二、安裝jupyter

進入docker交互式環境:docker exec -it ***** bash

安裝jupyter:

  • 安裝python dev包 :  apt-get install python-dev
  • 安裝jupyter :  pip install jupyter [若pip沒安裝好,需要安裝sudo apt install python3-pip]

配置文件:

  • 生成jupyter配置文件:jupyter notebook --generate-config
  • 使用ipython生成密碼 

In [1]: from notebook.auth import passwd

In [2]: passwd()

Enter password:

Verify password:

Out[2]: 'sha1:******'

  • 到配置文件/root/.jupyter/jupyter_notebook_config.py中修改以下參數

c.NotebookApp.ip='*'                          #綁定所有地址,即所有IP 地址都可以訪問
c.NotebookApp.password = u'sha1:******'
c.NotebookApp.open_browser = False            #啟動后是否在瀏覽器中自動打開
c.NotebookApp.port =8100                      #指定一個訪問端口8100,默認8888

c.NotebookApp.allow_remote = True     #將遠程訪問設置成True

 

啟動:

jupyter notebook --allow-root

 

本機訪問:

  • 查看docker IP,需安裝  apt install net-tools ,然后輸入命令ifconfig -a。

找到inet后的IP地址即為docker地址。如:inet  153.16.0.1

    • 遠程訪問:http://153.16.0.1:8100即可。8100為配置文件時修改的啟動端口,若有密碼,即token=  后面輸入密碼。/

 遠程訪問:

在啟動容器時,如果不配置宿主機器與虛擬機的端口映射,外部程序是無法訪問虛擬機的,因為沒有端口。

1、若沒有啟動容器時,即docker run -it ***,則可以通過以下命令指定容器8888端口映射成主機端口8000。-p 后面接主機端口:容器端口,-d表示后台執行,-it是進入交互式。

  docker run -d -it -p 8000:8888 tensorlow_gpu:latest /bin/bash

  【然后通過docker ps可以查看映射成功】

2、若容器已經執行了,即docker ps -a是存在的容器可以通過以下兩種方式:本人只成功了第一種:

(1)

    • 提交一個運行中的容器為鏡像,先查詢該容器的ID *****,通過docker ps -a查詢,以下tensorflow1_13_1是自己取的新容器名字。

 

docker commit ****(containerid) tensorflow1_13_1
    • 運行鏡像並添加端口
docker run -d -it -p 8000:8888 tensorflow1_13_1 /bin/bash
    • 進入docker 中,docker exec -it *****(新容器ID,docker ps -a查詢) bash
    • 啟動jupyter notebook,jupyter notebook --allow-root,默認端口8888
    • 遠程訪問jupyter,瀏覽器中輸入網址:主機IP+映射端口8000,即http://11.161.112.1:8000

(2)試得不成功,沒理解inspect ,過后再補

http://www.yinxi.net/doc/show.php?DocID=10732

1、獲得容器IP

將container_name 換成實際環境中的容器名

docker inspect `container_name` | grep IPAddress

2、 iptable轉發端口

將容器的8000端口映射到docker主機的8001端口

復制代碼 代碼如下:
iptables -t nat -A  DOCKER -p tcp --dport 8001 -j DNAT --to-destination 172.17.0.19:8000

三、安裝tensorflow

1、安裝cuda和cudnn

CUDA看作是一個工作台,上面配有很多工具,如錘子、螺絲刀等。cuDNN是基於CUDA的深度學習GPU加速庫,有了它才能在GPU上完成深度學習的計算。它就相當於工作的工具,比如它就是個扳手。但是CUDA這個工作台買來的時候,並沒有送扳手。想要在CUDA上運行深度神經網絡,就要安裝cuDNN,就像你想要擰個螺帽就要把扳手買回來。這樣才能使GPU進行深度神經網絡的工作,工作速度相較CPU快很多。
鏈接:https://www.jianshu.com/p/622f47f94784
只要把cuDNN文件復制到CUDA的對應文件夾里就可以,即是所謂插入式設計,把cuDNN數據庫添加CUDA里,cuDNN是CUDA的擴展計算庫,不會對CUDA造成其他影響。

(1)注意顯卡型號:

輸入命令lshw -c video,查看顯卡型號driver version。找到對應的cuda版本下載。

看到以下這些結果表明支持nvidia以及顯卡類型為GP102 [TITAN Xp]

product: GP102 [TITAN Xp]

vendor: NVIDIA Corporation

(2)安裝顯卡驅動

NVDIA driver search page搜索你的顯卡需要的驅動型號並下載(如圖)。

 

或者輸入命令查詢可用 驅動版本:ubuntu-drivers devices

要想安裝440:sudo apt install nvidia-440

測試安裝成功:輸入nvidia-smi命令測試是否有結果

(3)安裝cuda

如果訓練中用到了 tensorflow,應該確認一下 cuda 版本與 tensorflow 版本的兼容性問題

https://tensorflow.google.cn/install/source#linux

 

確定安裝cuda10.0+cudnn7.4+tensorflow1.13.1

cuda下載地址:https://developer.nvidia.com/cuda-toolkit-archive

 

 根據命令安裝cuda

(4)安裝cudnn

https://developer.nvidia.com/rdp/cudnn-archive

下載對應版本的tgz文件,然后解壓 tar xfz

 

 

 

 (5)安裝tensorflow1.13.1


免責聲明!

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



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