現在越來越多的人工智能和機器學習以及深度學習,強化學習出現了,然后自己也對這個產生了點興趣,特別的進行了一點點學習,就通過這篇文章來簡單介紹一下,關於如何搭建Tensorflow以及如何進行使用。建議的話,還是要學習了一點Python基礎知識和Linux知識是最好的!
版本:Windows7
一:安裝Anaconda和Tensorflow
步驟:
1:從官方網站下載Anaconda
https://www.anaconda.com/download/或者https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
2:進行軟件安裝(這個和普通的沒什么特別區別)
注意一點:
3:安裝完成Anaconda之后進行環境變量的測試
進入到windows中的命令模式:
(1)檢測anaconda環境是否安裝成功:conda --version
(2)檢測目前安裝了哪些環境變量:conda info --envs
(3)對於Anaconda中安裝一個內置的python版本解析器(其實就是python的版本)
查看當前有哪些可以使用的python版本:conda search --full -name python
(備注:如果是用比較新的版本的話,就使用conda search --full --name python 它們的name的前面是兩個‘-’)
安裝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
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
或者git@github.com: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
(9)安裝word2vec:必須先安裝Cython,其次pip install word2vec (如果提示你沒有對應的文件,那么說明你電腦沒有c++的編輯環境(windows默認不帶),所以先安裝一個c++的編譯軟件,比如VS,Dev-App都可以)可以參考如下博客:
https://blog.csdn.net/BEYONDMA/article/details/88381650
七:常見的一些問題匯總
(1)問題:在cmd中,輸入conda 命令,提示conda不是內部命令
解決方法:在環境變量(系統的Path)中添加:你的Anaconda安裝目錄下面的Scripts這個目錄,比如我的就是,
D:\anacondadownload\Scripts
(2)