1. 程式人生 > >手把手教你如何基於Anaconda安裝Tensorflow(Windows和Linux兩種版本)

手把手教你如何基於Anaconda安裝Tensorflow(Windows和Linux兩種版本)

現在越來越多的人工智慧和機器學習以及深度學習,強化學習出現了,然後自己也對這個產生了點興趣,特別的進行了一點點學習,就通過這篇文章來簡單介紹一下,關於如何搭建Tensorflow以及如何進行使用。建議的話,還是要學習了一點Python基礎知識和Linux知識是最好的!

版本:Windows10

一:安裝Anaconda和Tensorflow

步驟:

1:從官方網站下載Anaconda

https://www.anaconda.com/download/

2:進行軟體安裝(這個和普通的沒什麼特別區別)

注意一點:

3:安裝完成Anaconda之後進行環境變數的測試

進入到windows中的命令模式:

(1)檢測anaconda環境是否安裝成功:conda --version

(2)檢測目前安裝了哪些環境變數:conda info --envs

(3)對於Anaconda中安裝一個內建的python版本解析器(其實就是python的版本)

        檢視當前有哪些可以使用的python版本:conda search  --full -name python

        安裝python版本(我這裡是安裝的3.5的版本,這個根據需求來吧):conda create --name tensorflow python=3.5

(4)啟用tensflow的環境:activate tensorflow(注意:這個是在後序安裝成功之後才能進行的,否則會提示錯誤)

(5)檢測tensflow的環境新增到了Anaconda裡面:conda info --envs(注意:基於後序安裝成功之後才進行的,否則會提示錯誤)

(6)檢測當前環境中的python的版本:python --version

(7)退出tensorflow的環境:deactivate

(8)切換到tensorflow的環境:activate tensorflow      

上面的這些基本就可以對於Anaconda有一個比較簡單的瞭解,其實它就類似於JDK的一些操作,比如我們檢視jdk的版本,也可以用java --version ,所以說對於Anaconda去安裝tensorflow是比較簡單的原因也正是這樣,也就是是給我們提供了一個基礎的依賴環境,這樣就方便我們進行後面的安裝操作;

Anaconda的官方開發文件,可以看看,還是官網的東西更加好:

https://docs.anaconda.com/anaconda/user-guide/getting-started

https://anaconda.org/

4:進行正式的安裝Tensorflow

注意事項:根據Tensorflow的官方文件,可以得到安裝tensorflow的一個命令是下面:

pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_x86_64.whl

但是,如果我們在cmd中,直接進行這樣的話,有可能是不能夠成功的,開始也不知道為什麼,後面發現是跟電腦的cpu和顯示卡有點關係,所以,採取後面的方法進行安裝;

5:通過命令:pip install --upgrade --ignore-installed tensorflow

剩下的就是慢慢的等待安裝的過程啦

溫馨提示:(1)如果在這個命令之後,有提示說需要你升級你的pip的版本,那麼你就根據上面的提示進行命令安裝就可以了

6:等待完成之後,確認是否安裝成功

(1)開啟之前安裝的Anaconda

這兩個都可以,我這裡說一下使用Anaconda Prompt的方式;

方法一:步驟:①直接點選進入,就會顯示如下的內容:

②切換到tensorflow的環境

③進入python編輯環境

④然後編寫一個使用的程式碼:

方法二:通過使用Anaconda中的spyder的編輯器

通過這個的方式的話,更加簡單,直接編寫上面的程式碼,然後進行執行就可以啦,我這裡就不多介紹了。。。

7:OK,到這裡的話,基本上從安裝到成功就已經實現了~~~~

溫馨提示:如果你發現,你的conda和tensorflow環境都是安裝成功的,但是一用測試程式碼進行跑的時候就出問題了,那麼請注意,這個原因你由於你在安裝tensorflow的時候,是直接在cmd下,而不是在你用conda啟用的一個環境,所以導致,tensorflow並沒有直接嵌入到conda環境,所以,就導致無法匯入模組的一個錯誤;

解決方法:(1)只需要在activate tensorflow      ----------注意:這個環境是第三步中的第3點裡面建立的;

(2)然後再使用第五步中的命令就可以了  

二:將Tensorflow環境嵌入到編輯器中

環境:Tensorflow和Pycharm編輯器

步驟:

1:下載Pycharm軟體,,這個的話下載安裝都很簡單,所以就不多說了

2:使用Pycharm建立一個專案

3:設定專案的相關內容

溫馨提示:注意上面的Interpreter的選擇,因為我們現在要測試的是tensorflow嵌入到我們的IDE,方便我們開發,所以這個python解析器就是要選擇我們之前安裝tensorflow目錄下的解析器,否則的話,我們之後是使用不了tensorflow的模組的內容的哦。。。特別要注意。。。當然,如果這裡不選擇,那麼在建立工程之後還是可以修改的,後面我會說;

4:建立一個py檔案,用於編寫測試程式碼

5:執行程式程式碼

OKOK,,,這就說明我們的環境已經整合完成啦。。。。大功告成

溫馨提示:有時候我們會發現,我們引入了tensorflow模組之後,那就會報錯,這個原因有如下可能:

(1)tensorflow沒有安裝成功,這樣的話,就需要重新按照我的步驟去了!

(2)IDE中的python解析器,沒有使用tensorflow中安裝的那個,所以導致無法識別

這個解決方案有兩種:

第一種:就是建立工程的時候就選擇正確的解析器,也就是我上面所使用的方法

第二種:就是在專案工程裡面進行修改配置:

步驟:1:選擇File----》setting

2:

3:新增新的解析器

4:找到我們安裝的Anadonda中的env中的tensorflow中的python.exe

5:點選apply應用,然後重啟我們的IDE,這樣的話就不會報無法找到tensorflow的模組的錯誤了。

版本:Linux(Ubuntu14.0.1)

三:Linux環境安裝Tensorflow(通過Anaconda方式)

步驟:(1)下載Anaconda的Linux版本   https://www.anaconda.com/download/#linux

從官網的路徑進行下載,一般都很慢,所以,大家可以去這個地址進行下載(或者在進行留言也可以):https://download.csdn.net/download/cs_hnu_scw/10389323

(2)執行下載好的Anaconda,找到下載的目錄,然後執行命令:bash XXXXXXXXX(就是Anaconda檔案的名字)

(3)一直等待安裝完成即可;

當出現下面這個的時候:

強烈注意一點:在安裝的時候,會提示你是否要將這個新增到環境變數中,最好選擇Yes,要不然每次都要進行額外的手動新增,非常的不方便,所以強烈建議直接新增到環境變數中;

(4)當執行完成上面的步驟之後,對Anaconda 的環境進行測試;

執行命令:conda --version (作用:檢視當前Anaconda的版本)

如果,出現對應的安裝版本,那麼就表示安裝成功,可以繼續後面的安裝步驟。

(5)新增tensorflow的環境。執行命令:conda create -n tensorflow python=3.5(版本的話,我個人比較喜歡3.X+版本)。當執行完成之後,就根據提示,進行輸入yes就可以了,慢慢等待。

(6)啟用環境,執行命令:source activate tensorflow (作用:進入到tensorflow的環境)

(7)啟用tensorflow的環境,執行命令:

pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl

千萬要注意一個地方:如果你安裝的python的版本是2.7.那麼就用上面的地址,即可,如果你用了3.5版本,那麼久需要對應的修改為如下連結:(其他版本類似修改)

pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.12.1-cp35-cp35m-linux_x86_64.whl

(8)執行完之後,剩下的就只有等待了,,,對於出現的提示,全部都是“yes”即可。

(9)安裝完成之後,進行測試。

具體步驟:

1:在tensorflow的環境下,執行命令:python      (作用:表示進入python環境)

2:然後輸入程式碼(這個其實和windows安裝的時候測試時一樣):

import tensorflow as tf
hello = tf.constant('first tensorflow')
sess = tf.Session()
print sess.run(hello)

如果:輸出first tensorflow ,那麼就表示安裝成功了。

補充內容:

1:當需要退出python環境,即執行Ctrl+D或者輸入quit即可

2:退出tensorflow環境,source deactivate

3:啟用tensorflow環境,source activate tensorflow

四:Pycharm整合tensorflow環境

(1)下載Pycharm,這個就自己到官網下載Linux的社群版本即可,然後對其下載的檔案進行相應的解壓命令處理就可以了,另外的話,注意一點,在Linux中執行Pycharm不是直接點選就執行,而是需要找到對應的目錄下(bin目錄),然後執行命令:sh pycharm.sh 即可執行Pycharm。

(2)這個其實和windows的整合方式是一樣的,只是說tensorflow的路徑是不一樣的而已,所以,大家可以參考上面對於Windows版本的詳細配置過程即可,這裡就不多說了。

---------------------------------------------------------------------------------------------------------------------------------

五:Tensorflow的案例實踐

(1)案列實踐:通過百度雲盤下載我分享的內容即可,裡面的內容都是封裝好的,所以應該能看懂

專案連結:https://pan.baidu.com/s/1-TelzkLHodDNsdX6G82ZOg       密碼:b05p

溫馨提示:(1)在執行這個程式碼的時候,會出現ImportError: No module named 'matplotlib',這是因為你python中缺少了這個包,所以需要進行額外新增;或者進入tensorflow的環境,然後通過pip install matplotlib

解決辦法:進入cmd,然後conda install matplotlib ,,然後等安裝成功即可,這時候就會找到從而解決這個問題;

(2)手寫數字的識別案例:

資料:https://pan.baidu.com/s/1UC6uBPPOBzZhYvNV93RgNw

程式碼:

#!/usr/bin/python
# -*- coding:utf-8 -*-
# @Time   : 2018/3/30 0030 15:20
# @Author : scw
# @File   : writenumbercompute.py
# 描述:進行手寫數字的識別的例項分析
import tensorflow as tf

from tensorflow.examples.tutorials.mnist import input_data

# 獲取資料
mnist = input_data.read_data_sets("E:/tensorflowdata/MNIST_data/", one_hot=True)

print('訓練集資訊:')
print(mnist.train.images.shape,mnist.train.labels.shape)
print('測試集資訊:')
print(mnist.test.images.shape,mnist.test.labels.shape)
print('驗證集資訊:')
print(mnist.validation.images.shape,mnist.validation.labels.shape)

# 構建圖
sess = tf.InteractiveSession()
x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10]))

y = tf.nn.softmax(tf.matmul(x,W) + b)

y_ = tf.placeholder(tf.float32, [None,10])
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y),reduction_indices=[1]))
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)

# 進行訓練
tf.global_variables_initializer().run()

for i in range(1000):
  batch_xs, batch_ys = mnist.train.next_batch(100)
  train_step.run({x: batch_xs, y_: batch_ys})

# 模型評估
correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))

print('MNIST手寫圖片準確率:')
print(accuracy.eval({x: mnist.test.images, y_: mnist.test.labels}))

(3)撥號鍵與簡訊息圖示的識別

功能描述:主要是實現對於撥號鍵圖示與簡訊息鍵圖示的一個識別,作為一個簡單的分類Demo。

百度雲地址:連結:https://pan.baidu.com/s/1MC7Recml5laTsrHBQ94NcA               密碼:nwxj

(4)人臉捕捉和識別

功能描述:對於某個特定的人物進行捕捉,並且能識別是否是訓練中的人臉,作為一個人臉識別的Demo。

由於這個資料集太多了,百度雲不讓傳,所以,如果有需要的同學,可以留言,我會每天都進行檢視訊息的。

github地址:https://github.com/qq496616246/FaceCheckPython.git

或者[email protected]:qq496616246/FaceCheckPython.git

(5)簡單的網頁爬蟲

功能描述:非常簡單,容易上手的網頁爬蟲小Demo。

百度雲地址:連結:https://pan.baidu.com/s/1FzIzmfYON9pUpms3GyVQqQ           密碼:5di1

六:安裝的一些額外庫的方法

(1)安裝cv2:pip install opencv-python

(2)安裝人臉識別的庫:pip install dlib == 18.17.100

(3)安裝機器學習的庫:pip install sklearn

(4)安裝scipy庫:pip install scipy

(5)安裝numpy庫:pip install numpy

(6)安裝Pillow影象庫:pip install Pillow

(7)安裝matplotlib繪相簿:pip install matplotlib

(8)升級pip:python -m pip install -U pip

七:常見的一些問題彙總

(1)問題:在cmd中,輸入conda 命令,提示conda不是內部命令

解決方法:在環境變數(系統的Path)中新增:你的Anaconda安裝目錄下面的Scripts這個目錄,比如我的就是,

D:\anacondadownload\Scripts