1. 程式人生 > >基於NVIDIA-Docker的Caffe-GPU環境搭建

基於NVIDIA-Docker的Caffe-GPU環境搭建

主要包括兩部分:
1. Docker與NVIDIA-Docker的安裝與配置
2. Caffe映象使用

1 Docker與NVIDIA-Docker的安裝與配置

1.1 Docker安裝

Docker安裝過程需要使用root許可權, 主要有兩種安裝方式:

1.1.1 Ubuntu14.04 軟體源安裝

使用Ubuntu14.04系統預設自帶的docker.io安裝包安裝Docker,版本相對較舊.
命令列操作過程如下:

  1. sudo apt-get update
  2. sudo apt-get -y install docker.io
  3. sudo service docker.io status (檢查Docker服務的狀態)
  4. sudo docker run hello-world (測試Docker安裝是否成功)

採用官網安裝方式可以獲取最新版本Docker. 在安裝Docker之前需要配置Docker官方倉庫,然後從該倉庫進行獲取與安裝.
首先,進行Docker倉庫設定:

  1. sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  2. sudo apt-key fingerprint 0EBFCD88
  3. sudo add-apt-repository “deb [arch=amd64]
    https://download.docker.com/linux/ubuntu
    $(lsb_release -cs) stable”

然後, 安裝Docker:

  1. sudo apt-get update
  2. sudo apt-get install docker-ce
  3. sudo docker run hello world

1.2 阿里雲加速器設定

  1. 針對Docker客戶端版本大於1.10的使用者:
    您可以通過修改daemon配置檔案/etc/docker/daemon.json來使用加速器:

    1. sudo mkdir -p /etc/docker
    2. sudo tee /etc/docker/daemon.json <<-‘EOF’
      {
      “registry-mirrors”: [“
      https://fird1mfg.mirror.aliyuncs.com
      “]
      }
      EOF
    3. sudo systemctl daemon-reload
    4. sudo systemctl restart docker
  2. 針對Docker客戶的版本小於等於1.10的使用者:
    或者想配置啟動引數,可以使用下面的命令將配置新增到docker daemon的啟動引數中.
    Ubuntu 12.04 14.04的使用者:

    1. echo “DOCKER_OPTS=\”$DOCKER_OPTS –registry-mirror=https://fird1mfg.mirror.aliyuncs.com\”” | sudo tee -a /etc/default/docker
    2. sudo service docker restart

    Ubuntu 15.04 16.04的使用者

    1. sudo mkdir -p /etc/systemd/system/docker.service.d
    2. sudo tee /etc/systemd/system/docker.service.d/mirror.conf <<-‘EOF’
      [Service]
      ExecStart=/usr/bin/docker daemon -H fd:// –registry-mirror=https://fird1mfg.mirror.aliyuncs.com
      EOF
    3. sudo systemctl daemon-reload
    4. sudo systemctl restart docker
  • Prerequisties

    GNU/Linux x86_64 with kernel version > 3.10
    Docker >= 1.9 (official docker-engine, docker-ce or docker-ee only)
    NVIDIA GPU with Architecture > Fermi (2.1)
    NVIDIA drivers >= 340.29 with binary nvidia-modprobe (驅動版本與CUDA計算能力相關)

  • CUDA與NVIDIA driver安裝
    處理NVIDIA-Docker依賴項 NVIDIA drivers >= 340.29 with binary nvidia-modprobe 要求.
    根據顯示卡,下載對應版本的CUDA並進行安裝.

  • NVIDIA-Docker安裝

    #Install nvidia-docker and nvidia-docker-plugin

    #Test nvidia-smi

    1. sudo nvidia-docker run –rm nvidia/cuda nvidia-smi

2. Caffe映象使用

這裡使用阿里雲的映象服務.,從Docker註冊伺服器的Docker倉庫下載一個已有的Docker映象.

# 登入阿里雲
1. sudo nvidia-docker login registry.aliyuncs.com

Username: **********
Password: **********

# 拉取Caffe映象
2. sudo nvidia-docker pull registry.cn-hangzhou.aliyuncs.com/docker_learning_aliyun/caffe:v1

# 檢視拉取的Caffe映象資訊
3. sudo nvidia-docker images

輸出資訊:

# 檢視Caffe映象的顯示卡資訊
4. sudo nvidia-docker run -it registry.cn-hangzhou.aliyuncs.com/docker_learning_aliyun/caffe:v1 nvidia-smi

輸出資訊:

# 進入容器,操作類似於Ubuntu系統,預設進入容器內的 /workspace 目錄
5. sudo nvidia-docker run -it registry.cn-hangzhou.aliyuncs.com/docker_learning_aliyun/caffe:v1 /bin/bash

# 基於容器Caffe映象執行python程式
6. sudo nvidia-docker run –volume=$(pwd):/workspace –volume=/path/to/data:/data –rm caffe-image:base python demo.py

例項說明:
1. nvidia-docker run:執行映象
2. –volume=$(pwd):/workspace –volume=/path/to/data:/data: 將主機的路徑掛載到容器中, “:”前後分別為為主機目錄和容器路徑
3. -rm: 執行映象後刪除
4. caffe-image:base: Caffe映象.
5. python demo.py: python程式執行,類似於Ubuntu環境.

3. Docker 錯誤解決

3.1 python 提示錯誤UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position

錯誤:

# docker 中 python 程式碼的 print(“中文”) 出現錯誤,但宿主機不會出現該錯誤,如下:
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-127: ordinal not in range(128)

錯誤原因:

因為locale 的設定導致 shell 的stdin/stdout/stderr 的預設編碼為ascii,當用ascii編碼去解釋python3預設unicode編碼的時候,則會有問題

解決方法:

# python3 的解決方式是 容器在初始化時候 需要設定shell的stdin/stdout/stderr 的預設編碼方式為 utf-8,需要重啟容器
# docker run 方式
docker run -e PYTHONIOENCODING=utf-8 m_container:latest my-python3

# docker-compose 方式
environment:
- PYTHONIOENCODING=utf-8

相關推薦

基於NVIDIA-Docker的Caffe-GPU環境搭建

主要包括兩部分: 1. Docker與NVIDIA-Docker的安裝與配置 2. Caffe映象使用 1 Docker與NVIDIA-Docker的安裝與配置 1.1 Docker安裝 Docker安裝過程需要使用root許可權, 主要有兩種

基於tomcat的solr環境搭建(Linux)

column def ews web 排序 publish text height lte ?? solr是基於lucene的一個全文檢索服務器,提供了一些類似webservice的API接口,用戶可以通過http請求solr服務器,進行索引的建立和索引的搜索。索引建立的

Appium移動自動化測試之—基於java的iOS環境搭建

res .sh 變更 order edev curl 軟件包 comm 簡單的 本文僅供參考,同時感謝幫助我搭建環境的同事 操作系統的名稱:Mac OS X操作系統的版本:10.12.6 接下來我們開始踏上搭建Appium+java+ios之路,本文只說個大概,畢竟本機已經

Docker 基於centos7 的LAMP環境搭建 (實驗一)

docker mysql docke docker centos7 前言 為方便其他開源軟件的配置實驗,利用docker技術基於centos7 系統搭建了lamp 環境,其中將部署mysql 、apache、php5.6。提供基礎的數據存儲,還將部署phpmyadmin 、memadmi

EOS Dapp開發(1)-基於Docker的開發環境搭建

rbo err 通過命令 plugin cat cti nec docker 反饋 隨著EOS主網的上線,相信基於EOS的Dapp開發會越來越多,查閱了很多資料相關的開發資料都不是很多,只能自己摸索,按照網上僅有的幾篇教程,先git clonehttps://github.

工作筆記-服務器下ubuntu+cuda9.0+cuDNN+tensorflow-gpu環境搭建

應該 .bashrc run imp $path 系列 per 退出 一個 記錄實習工作中學到的新東西 服務器下ubuntu+cuda9.0+cuDNN7.0+tensorflow-gpu環境搭建 1.登陸服務器 windows系統下用xshell或者MobaXterm,新

win10+1050ti+CUDA9.0+cudnn9.0的tensorflow-gpu環境搭建

原創文章,轉載請註明本地址 由於前段時間在學tensorflow框架,一直沒有仔細考慮如何整理學習的內容,現在打算開始系統的整理tensorflow的學習筆記,那就從環境搭建開始把,現從win10環境開始,後續ubuntu系統的在補充 python—使用的是Anaconda,

基於Docker的Spark環境搭建理論部分

1.映象製作方案 我們要使用Docker來搭建hadoop,spark,hive及mysql叢集,首先使用Dockerfile製作映象,把相關的軟體拷貝到約定好的目錄下,把配置檔案在外面先配置好,再使用docker and / docker run,拷貝移動到hadoop,spark

windows10+VS+CUDA+cuDNN+TensorFlow-gpu環境搭建(問題及解決)

TensorFlow-gpu環境需要CUDA+cuDNN+python,CUDA又需要VS,所以,,,環境越來越大哈哈。 1、主要環境: Python 3.6 CUDA9.0 Cudann7.0 Tensorflow-gpu1.5 2、安裝步驟(簡略): Anaconda prompt(python3)-&

基於docker的caffe環境搭建與使用示例

0. 引言Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上。因此,Docker給應用提供了一個從開發到上線均一致的程式碼環境,讓程式碼的流水線變得簡單不少。以下是基於docker的caf

ubuntu下tensorflow-gpu環境搭建(通過anaconda,不需要手動安裝cuda和cudnn)

本篇文章主要講解在Ubuntu16.04環境下,搭建TensorFlow框架,主要是GPU版本的。下面我採用conda安裝tensorflow-gpu。 第一步:安裝navidia driver 第二步:安裝anaconda 參考我的另一篇

基於hadoop的Spark環境搭建

解壓後在配置中新增java環境變數、scala環境變數、hadoop環境變數等conf/spark-env.sh <code class="hljs http has-numbering" style="display: block; padding: 0px; box-sizing: border

ubuntu下tensorflow-gpu環境搭建(通過anaconda,需預先手動安裝(或環境含有)cuda和cudnn)

第一步 創造一份conda環境 conda create -n tensorflow python=3.6 第二步 啟用tensorflow環境 source activa

solr測試專案(上)--基於maven的springmvc環境搭建

從去年9月21開始寫部落格,今天整一年了。 從開始寫文章到現在,寫過spring的,springmvc的,spring與其他框架整合的(包括hibernate,ehcache,shiro),寫過一些工具類,寫過微信公眾號開發,寫過前端的一些小demo,雖然一直

基於docker的caffe環境搭建與使用示例(根據自己的情況稍作修改)

0. 引言 Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上。因此,Docker給應用提供了一個從開發到上線均一致的程式碼環境,讓程式碼的流水線變得簡單不少。 以下是基於dock

基於Linux安裝Apache環境搭建過程及報錯解決方案

⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄決定寫一篇完整的了!! 一、需要準備的安裝包: 二、上傳到Linux系統裡,tar -zxvf 解壓,再分別進入三個資料夾編譯 首先把三個壓縮包都傳入/usr/lo

基於MAC的 LNMP環境搭建, PHP5.6,PHP7.2.3 雜記

sudo ./configure --prefix=/Users/heweijun/www/server/php --with-config-file-path=/Users/heweijun/www/server/php/etc --enable-fpm --with-fpm-user=www --wit

WIN10+RTX2070 tensorflow-gpu環境搭建

浪費了“黃金五年”的Java程式設計師,還有救嗎? >>>   

基於Python的Appium環境搭建合集

自動化一直是測試圈中的熱聊,也是大家追求的技術方向。在測試中,往往回歸測試也是測試人員的“痛點”。對於迭代慢、變更少的功能,就能用上自動化來替代人工迴歸,減輕工作量。 問題 在分享環境搭建之前,先丟擲我的一個疑問吧。 app啟用時,分不同的場景: 1.首次安裝啟用,有歡迎頁;

Ubuntu14.04下基於nvidia-docker的Tensorflow深度學習環境搭建

* 記錄一下配置過程,內容基本上是配置的每一步中遇到的問題及網上找到的對應方法,格式會比較混亂。做一些記錄,為學弟學妹們後來搭建新伺服器提供些參考(如果老師還給買新伺服器),也希望能幫到有需要的人。 系統配置:CPU 至強E5-2620 V3, GPU:NVIDA TIT