深度學(xué)習(xí)框架TensorFlow入門-windows10系統(tǒng)

1.環(huán)境:

  • windows10系統(tǒng)
  • python3.5
  • Nvidia顯卡(cpu版本不需要)

(建議安裝anaconda集成環(huán)境峭弟,conda create -n py35 python=3.5 anaconda——(安裝python3.5版本潦匈,并起名為py35临扮,activate py35激活python3.5)

CUDA:它所作用的對象是顯卡办绝,也就是GPU蠢正,有了它驯鳖,程序開發(fā)人員就能夠編碼控制和使用GPU了迈着,cuda8

CUDNN 是CUDA Deep Neural Network library 的縮寫去枷,也就是基于CUDA的神經(jīng)網(wǎng)絡(luò)軟件包盗扇〉豢希可以類比JAVA中的JDK,也可以類比開源圖像處理工具包openCV疗隶。cudnn6

2.安裝

一鍵安裝(CPU版):

pip install --upgrade --ignore-installed tensorflow

一鍵安裝(GPU版):

pip install --upgrade --ignore-installed tensorflow-gpu

經(jīng)過考慮到gpu不是很高級佑笋,所以就該為安裝cpu版本:

圖片.png

成功:


圖片.png

3.使用tensorboard

TensorFlow自帶的一個強(qiáng)大的可視化工具

3.1用法(實例)

打開python編輯器,新建文件命名:tensorboard-demo.py,輸入下列代碼:

# -*- coding: utf-8 -*-
"""
Created on Fri Jan 19 14:56:07 2018

@author: JayMo
"""

import tensorflow as tf
import numpy as np

#輸入數(shù)據(jù)
x_data = np.linspace(-1,1,300)[:, np.newaxis]
noise = np.random.normal(0,0.05, x_data.shape)
y_data = np.square(x_data)-0.5+noise

#輸入層
with tf.name_scope('input_layer'): #輸入層斑鼻。將這兩個變量放到input_layer作用域下蒋纬,tensorboard會把他們放在一個圖形里面
    xs = tf.placeholder(tf.float32, [None, 1], name = 'x_input') # xs起名x_input,會在圖形上顯示
    ys = tf.placeholder(tf.float32, [None, 1], name = 'y_input') # ys起名y_input坚弱,會在圖形上顯示

#隱層
with tf.name_scope('hidden_layer'): #隱層蜀备。將隱層權(quán)重、偏置荒叶、凈輸入放在一起
    with tf.name_scope('weight'): #權(quán)重
        W1 = tf.Variable(tf.random_normal([1,10]))
        tf.summary.histogram('hidden_layer/weight', W1)
    with tf.name_scope('bias'): #偏置
        b1 = tf.Variable(tf.zeros([1,10])+0.1)
        tf.summary.histogram('hidden_layer/bias', b1)
    with tf.name_scope('Wx_plus_b'): #凈輸入
        Wx_plus_b1 = tf.matmul(xs,W1) + b1
        tf.summary.histogram('hidden_layer/Wx_plus_b',Wx_plus_b1)
output1 = tf.nn.relu(Wx_plus_b1)

#輸出層
with tf.name_scope('output_layer'): #輸出層碾阁。將輸出層權(quán)重、偏置些楣、凈輸入放在一起
    with tf.name_scope('weight'): #權(quán)重
        W2 = tf.Variable(tf.random_normal([10,1]))
        tf.summary.histogram('output_layer/weight', W2)
    with tf.name_scope('bias'): #偏置
        b2 = tf.Variable(tf.zeros([1,1])+0.1)
        tf.summary.histogram('output_layer/bias', b2)
    with tf.name_scope('Wx_plus_b'): #凈輸入
        Wx_plus_b2 = tf.matmul(output1,W2) + b2
        tf.summary.histogram('output_layer/Wx_plus_b',Wx_plus_b2)
output2 = Wx_plus_b2

#損失
with tf.name_scope('loss'): #損失
    loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys-output2),reduction_indices=[1]))
    tf.summary.scalar('loss',loss)
with tf.name_scope('train'): #訓(xùn)練過程
    train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)

#初始化
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
merged = tf.summary.merge_all() #將圖形脂凶、訓(xùn)練過程等數(shù)據(jù)合并在一起
writer = tf.summary.FileWriter('logs',sess.graph) #將訓(xùn)練日志寫入到logs文件夾下

#訓(xùn)練
for i in range(1000):
    sess.run(train_step,feed_dict={xs:x_data,ys:y_data})
    if(i%50==0): #每50次寫一次日志
        result = sess.run(merged,feed_dict={xs:x_data,ys:y_data}) #計算需要寫入的日志數(shù)據(jù)
        writer.add_summary(result,i) #將日志數(shù)據(jù)寫入文件

在文件路徑打開命令行:輸入

python tensorboard-demo.py

運(yùn)行結(jié)果:


圖片.png

執(zhí)行上述代碼,會在“當(dāng)前路徑/logs”目錄下生成一個events.out.tfevents.{time}.{machine-name}的文件:


圖片.png

啟動tensorboard

tensorboard-demo.py文件路徑下新打開一個命令行輸入:

tensorboard --logdir=logs

圖片.png

在瀏覽器打開http://localhost:6006/愁茁,即可看到:

圖片.png

4. 基于tensorflow的MNIST手寫數(shù)字識別

這個例子要先下載數(shù)據(jù)集蚕钦,否則運(yùn)行過程可能會鏈接失敗,下載網(wǎng)址:https://github.com/zalandoresearch/fashion-mnist

需要下載四個文件:

  • train-images-idx3-ubyte.gz
  • train-labels-idx1-ubyte.gz
  • t10k-images-idx3-ubyte.gz
  • t10k-labels-idx1-ubyte.gz

下載好這四個文件后鹅很,不用解壓嘶居。我下載是保存到F:\TensorFlow\MNIST_data目錄。

運(yùn)行的代碼鏈接:
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/tutorials/mnist

[圖片上傳失敗...(image-681633-1516375599278)]

提示:

請不要用中文命名目錄促煮,中文目錄中看不到任何圖形邮屁。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市菠齿,隨后出現(xiàn)的幾起案子佑吝,更是在濱河造成了極大的恐慌,老刑警劉巖泞当,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異民珍,居然都是意外死亡襟士,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門嚷量,熙熙樓的掌柜王于貴愁眉苦臉地迎上來陋桂,“玉大人,你說我怎么就攤上這事蝶溶∈壤” “怎么了宣渗?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長梨州。 經(jīng)常有香客問我痕囱,道長,這世上最難降的妖魔是什么暴匠? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任鞍恢,我火速辦了婚禮,結(jié)果婚禮上每窖,老公的妹妹穿的比我還像新娘帮掉。我一直安慰自己,他們只是感情好窒典,可當(dāng)我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布蟆炊。 她就那樣靜靜地躺著,像睡著了一般瀑志。 火紅的嫁衣襯著肌膚如雪涩搓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天后室,我揣著相機(jī)與錄音缩膝,去河邊找鬼。 笑死岸霹,一個胖子當(dāng)著我的面吹牛疾层,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播贡避,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼痛黎,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了刮吧?” 一聲冷哼從身側(cè)響起湖饱,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎杀捻,沒想到半個月后井厌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡致讥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年仅仆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片垢袱。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡墓拜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出请契,到底是詐尸還是另有隱情咳榜,我是刑警寧澤夏醉,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站涌韩,受9級特大地震影響畔柔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜贸辈,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一释树、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧擎淤,春花似錦奢啥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至席吴,卻和暖如春赌结,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背孝冒。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工柬姚, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人庄涡。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓量承,卻偏偏與公主長得像,于是被迫代替她去往敵國和親穴店。 傳聞我的和親對象是個殘疾皇子撕捍,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容