本文介紹了詳解tensorflow在windows上安裝與簡單示例,分享給大家,具體如下:
安裝說明
平臺:目前可在ubuntu、mac os、windows上安裝
版本:提供gpu版本、cpu版本
安裝方式:pip方式、anaconda方式
tips:
- 在windows上目前支持python3.5.x
- gpu版本需要cuda8,cudnn5.1
安裝進度
2017/3/4進度:
anaconda 4.3(對應(yīng)python3.6)正在安裝,又刪除了,一無所有了
2017/3/5進度:
anaconda 4.3(對應(yīng)python3.6)get
anaconda中python3.5.2get
tensorflow1.0.0get
行文思路
在看別人教程時候總遇到些沒見過的名詞,讓人望而生畏。
所以索性從名詞解釋開始。
然后講述tensorflow的安裝和簡單示例。
作為自己的筆記,
也希望像我一樣的小白看到這篇教程能覺得做起來很順暢!
cuda
cuda(compute unified device architecture),是顯卡廠商nvidia推出的運算平臺。 cuda™是一種由nvidia推出的通用并行計算架構(gòu),該架構(gòu)使gpu能夠解決復(fù)雜的計算問題。 它包含了cuda指令集架構(gòu)(isa)以及gpu內(nèi)部的并行計算引擎。 開發(fā)人員現(xiàn)在可以使用c語言來為cuda™架構(gòu)編寫程序,c語言是應(yīng)用最廣泛的一種高級編程語言。所編寫出的程序于是就可以在支持cuda™的處理器上以超高性能運行。cuda3.0已經(jīng)開始支持c++和fortran。
計算行業(yè)正在從只使用cpu的“中央處理”向cpu與gpu并用的“協(xié)同處理”發(fā)展。為打造這一全新的計算典范,nvidia™(英偉達™)發(fā)明了cuda(compute unified device architecture,統(tǒng)一計算設(shè)備架構(gòu))這一編程模型,是想在應(yīng)用程序中充分利用cpu和gpu各自的優(yōu)點。現(xiàn)在,該架構(gòu)已應(yīng)用于geforce™(精視™)、ion™(翼揚™)、quadro以及tesla gpu(圖形處理器)上。
來自百度百科。
(所以我的a卡是用不成它的)
anaconda
anaconda是由python提供支持的領(lǐng)先的開放數(shù)據(jù)科學(xué)平臺。 anaconda的開源版本是python和r的高性能分發(fā)版本,包括超過100個用于數(shù)據(jù)科學(xué)的最流行的python,r和scala軟件包。
來自anaconda官方下載頁面
具體使用見anaconda官方教程,簡單易懂!
anaconda初步學(xué)習(xí)
0.下載anaconda安裝包:anaconda官方下載地址
我下載的是anaconda4.3.0for windows 64bit(內(nèi)置python3.6)
下載好了就安裝,一直下一步。
1.檢查anaconda是否成功安裝:conda --version
(嘻嘻,第一步成功了,開心點)
2.檢測目前安裝了哪些環(huán)境:conda info --envs
(只有一個呀!不怕,繼續(xù)來!)
3.檢查目前有哪些版本的python可以安裝:conda search --full-name python
(好多呀,要哪個呢?嘻嘻當(dāng)然是python3.5啦)
4.安裝不同版本的python:conda create --name tensorflow python=3.5
(猜想輸入python=3.5版本后,系統(tǒng)會自動選擇一個3.5.x的版本吧)
(python3.5.3要不要?實驗室服務(wù)器上是3.5.2,統(tǒng)一好啦!)
(好啦,go!)
(嘻嘻!安好啦!又離成功近了一步!)
5.按照提示,激活之:activate tensorflow
(嘻嘻它有了一頂小帽子~代表我的當(dāng)前環(huán)境哦)
6.確保名叫tensorflow的環(huán)境已經(jīng)被成功添加:conda info --envs
(bravo!)
7.檢查新環(huán)境中的python版本:python --version
(^^開心開心~)
8.退出當(dāng)前環(huán)境:deactivate
(小帽子掉了)
9.切換環(huán)境:activate tensorflow
想切換到哪個環(huán)境就 activate哪個~
這篇文章既然是安裝tensorflow的,當(dāng)然要avtivate tensorflow!
小妖精!我來了!
ps:想了解更多請看anaconda官方教程,簡單易懂好上手!別亂搜網(wǎng)上的教程,沒有官方教程看著清爽!
tensorflow安裝
本文是將tensorflow在原生windows系統(tǒng)上安裝,
采用anocanda的安裝方式,
安裝的是cpu版本(嗯,作為amd的顯卡,掩面哭)
anaconda 4.3.0.1(帶有python3.6)
在anaconda里面配了python3.5.2
下面是今天的主角!(噼里啪啦)
1.按照官網(wǎng)的指示:
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_x86_64.whl
(好吧,先是打錯,接下來又這樣!我不知道該怎么辦了(ㄒoㄒ)/~~)
2.另一種嘗試:pip install tensorflow
(劃重點了,原來是這樣子!我是amd的卡,對應(yīng)的不一樣!)
3.確認tensorflow安裝成功:
錯誤嘗試:直接在cmd里面鍵入python,然后鍵入import tensorflow as tf
(小伙子默認的是python3.6啊啊啊啊啊,要從anaconda進入剛剛裝的那個python3.5里面哦!~)
正確嘗試:進入anaconda prompt-python里面,進入安裝的名叫tensorflow的環(huán)境(我們裝的python3.5.2記得嗎?~),鍵入python,然后再鍵入import tensorflow as tf
在這里可以找到anaconda prompt-python:
打開anaconda navigator(開始菜單->anaconda 3->anaconda navigator),搞一個spyder玩,點擊spyder下面的“install”,安裝好就變成“launch”了,點擊就可以進去了。
在spyder里對tensorflow說hello!
輸出:
(嘿嘿嘿哈哈哈我感覺我好像成功了!!!你呢?~~)
參考 tensorflow官方文檔,請上英文官網(wǎng),中文社區(qū)似乎沒有更新windows上的安裝
tensorflow例程上手
裝了個新東西,我們先把它用起來吧!
概念什么的跑完第一個小程序再看!
找點成就感才好繼續(xù)下去!
minst數(shù)據(jù)集:
- 55000訓(xùn)練集,10000測試集,5000驗證集
- 每張圖片都是28pixels*28pixels
代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#獲得數(shù)據(jù)集 from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets( "mnist_data/" , one_hot = true) import tensorflow as tf #輸入圖像數(shù)據(jù)占位符 x = tf.placeholder(tf.float32, [none, 784 ]) #權(quán)值和偏差 w = tf.variable(tf.zeros([ 784 , 10 ])) b = tf.variable(tf.zeros([ 10 ])) #使用softmax模型 y = tf.nn.softmax(tf.matmul(x, w) + b) #代價函數(shù)占位符 y_ = tf.placeholder(tf.float32, [none, 10 ]) #交叉熵評估代價 cross_entropy = tf.reduce_mean( - tf.reduce_sum(y_ * tf.log(y), reduction_indices = [ 1 ])) #使用梯度下降算法優(yōu)化:學(xué)習(xí)速率為0.5 train_step = tf.train.gradientdescentoptimizer( 0.5 ).minimize(cross_entropy) #session sess = tf.interactivesession() #初始化變量 tf.global_variables_initializer().run() #訓(xùn)練模型,訓(xùn)練1000次 for _ in range ( 1000 ): batch_xs, batch_ys = mnist.train.next_batch( 100 ) sess.run(train_step, feed_dict = {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 (sess.run(accuracy, feed_dict = {x: mnist.test.images, y_: mnist.test.labels})) |
運行結(jié)果:輸出顯示得到模型的準(zhǔn)確率
結(jié)語
昨天花費了大半天部署環(huán)境,不但一無所獲且搞得焦頭爛額。今天再戰(zhàn),索性邊做邊寫,好像和旁邊的人在聊天一樣。嗯,心情愉悅的時候容易做出東西。時間很寶貴,但還是希望你的學(xué)習(xí)曲線不要太陡峭,希望你能愉快地走進新領(lǐng)域。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://blog.csdn.net/darlingwood2013/article/details/60322258