一份極簡 Tensorflow 安裝配置指南

整體過程參考這份官方文檔相關步驟並參考內地網路狀況本地化

tensorflow.org/install

主要環境 :Ubuntu 安裝方式 :Docker

tensorflow.org/install/

準備環境

sudo apt update -y && sudo apt upgrade -y && sudo apt autoremove -y && sudo apt autoclean -y

安裝 docker

以下步驟參考 Docker 官方文檔

Install Docker

安裝環境與版本 :Ubuntu :Docker-CE (Community Edition)

Get Docker for Ubuntu

準備環境

sudo apt update -y && sudo apt upgrade -ysudo apt install apt-transport-https ca-certificates curl software-properties-common -y

添加 Docker 的源

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -sudo apt-key fingerprint 0EBFCD88sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

下載安裝 docker

sudo apt update -y && sudo apt install docker-ce -y

驗證

sudo docker run hello-world

配置以非 root 用戶使用 Docker(不用每次都 sudo)

sudo groupadd dockersudo usermod -aG docker $USER

退出並再次登陸

驗證

docker run hello-world

安裝運行 Tensorflow 的 Docker 鏡像

使用命令行啟用 Tensorflow 鏡像

docker run -it adolphlwq/docker-tensorflow bash

首次使用時需要下載鏡像文件。使用這個鏡像而不使用官方鏡像的原因是官方鏡像需要翻牆下載,比較慢。

使用 Jupyter 訪問 Tensorflow 鏡像

設定埠參數並啟動

docker run -it -p 8888:8888 adolphlwq/docker-tensorflow

本地訪問

http://127.0.0.1:8888

或者 http://實際 IP 地址:8888

為鏡像添加本地持久化存儲(數據訪問和結果保存)

創建數據目錄

mkdir ~/tensorflow

查詢鏡像中用戶 id 和組 id (假設當前使用的是上面推薦的鏡像,則其用戶名為 `geek`)

docker run -it adolphlwq/docker-tensorflow id geek

返回結果

uid=1000(geek) gid=100(users) groups=100(users)

為主機目錄(host)設置訪問許可權

sudo chown -R 1000:100 ~/tensorflow

啟動帶有共享目錄的 Tensorflow 鏡像

docker run -it -v /home/user/tensorflow:/home/geek/work adolphlwq/docker-tensorflow

常用配置

交互開發

可以使用帶有 Jupyter 的 Tensorflow 鏡像

docker run -d -p 8888:8888 -p 6006:6006 -v /home/user/tensorflow:/home/geek/work adolphlwq/docker-tensorflow

本地訪問

http://127.0.0.1:8888

或者 http://實際 IP 地址:8888

命令行調試(其實複製粘貼不太方便)

docker run -it -p 8888:8888 -p 6006:6006 -v /home/user/tensorflow:/home/geek/work adolphlwq/docker-tensorflow bash

運行 python 進入調試環境

推薦閱讀:

什麼是創造力,AI可以獲得嗎?
怎麼評判卷積神經網路訓練得差不多了?
截至2017年3月,音樂和人聲分離的研究有哪些最新進展?
需要一個「隨機梯度下降」的詳細教程?
為什麼目前的特徵學習演算法都是無監督的?

TAG:深度学习DeepLearning | TensorFlow |