DL框架之Tensorflow:深度学习框架Tensorflow的简介、安装、使用方法之详细攻略
DL框架之Tensorflow:深度學(xué)習(xí)框架Tensorflow的簡(jiǎn)介、安裝、使用方法之詳細(xì)攻略
?
目錄
Tensorflow的簡(jiǎn)介
1、描述
2、TensorFlow的六大特征
3、了解Tensorflow
4、TensorBoard:可視化學(xué)習(xí)
Tensorflow的安裝
TensorFlow基礎(chǔ)知識(shí)架構(gòu)
1、基礎(chǔ)知識(shí)架構(gòu)
2、計(jì)算圖與會(huì)話
2、相關(guān)概念
TensorFlow的使用方法
1、基礎(chǔ)函數(shù)
2、輸出tensorflow的版本號(hào)
案例應(yīng)用
1、使用常量和占位符進(jìn)行計(jì)算
2、輸出w、b和計(jì)算兩個(gè)數(shù)值相乘
3、ML之LoR:利用LoR算法(tensorflow)對(duì)mnist數(shù)據(jù)集實(shí)現(xiàn)手寫數(shù)字識(shí)別
?
?
Tensorflow的簡(jiǎn)介
? ? ? ?TensorFlow是一個(gè)基于數(shù)據(jù)流編程(dataflow programming)的符號(hào)數(shù)學(xué)系統(tǒng),被廣泛應(yīng)用于各類機(jī)器學(xué)習(xí)(machine learning)算法的編程實(shí)現(xiàn),其前身是谷歌的神經(jīng)網(wǎng)絡(luò)算法庫(kù)DistBelief??。
? ? ? ?TensorFlow 最初由Google大腦小組(隸屬于Google機(jī)器智能研究機(jī)構(gòu))的研究員和工程師們開發(fā)出來(lái),用于機(jī)器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)方面的研究,但這個(gè)系統(tǒng)的通用性使其也可廣泛用于其他計(jì)算領(lǐng)域。TensorFlow由谷歌人工智能團(tuán)隊(duì)谷歌大腦(Google Brain)開發(fā)和維護(hù),擁有包括TensorFlow Hub、TensorFlow Lite、TensorFlow Research Cloud在內(nèi)的多個(gè)項(xiàng)目以及各類應(yīng)用程序接口(Application Programming Interface, API)。自2015年11月9日起,TensorFlow依據(jù)阿帕奇授權(quán)協(xié)議(Apache 2.0 open source license)開放源代碼。
? ? ? ?2015年11月9日,Goggle宣布對(duì)Tensorflow開源。一時(shí)間Tensorflow在CitHub上面的下載量躍升至全站第2位,可見全世界興趣愛好者對(duì)這款開源軟件的熱情。作者曾在前言中說(shuō)過(guò),現(xiàn)如今許多知名的IT企業(yè),Google、Facebook、Microsoft、Apple甚至國(guó)內(nèi)的百度,無(wú)不在機(jī)器學(xué)習(xí)研究領(lǐng)域給予非常大的資金和人力的投人;但是,鮮有將內(nèi)部使用的平臺(tái)公之于眾的。
? ? 許多人開始以為Tensorflow只是一個(gè)用于深入學(xué)習(xí)研究的系統(tǒng),其實(shí)不然。應(yīng)該說(shuō),這是一個(gè)完整的編碼框架。就如同我們按照Python編程語(yǔ)法設(shè)計(jì)程序一樣,Tensorflow內(nèi)部也有自己所定義的常量、變量、數(shù)據(jù)操作等要素。不同的是,Tensorflow使用圖(Graph)來(lái)表示計(jì)算任務(wù),并使用會(huì)話(Session)來(lái)執(zhí)行圖。
? ? ? ?TensorFlow是一個(gè)采用數(shù)據(jù)流圖(data flow graphs),用于數(shù)值計(jì)算的開源軟件庫(kù)。節(jié)點(diǎn)(Nodes)在圖中表示數(shù)學(xué)操作,圖中的線(edges)則表示在節(jié)點(diǎn)間相互聯(lián)系的多維數(shù)據(jù)數(shù)組,即張量(tensor)。它靈活的架構(gòu)讓你可以在多種平臺(tái)上展開計(jì)算,例如臺(tái)式計(jì)算機(jī)中的一個(gè)或多個(gè)CPU(或GPU),服務(wù)器,移動(dòng)設(shè)備等等。Tensorflow擁有多層級(jí)結(jié)構(gòu),可部署于各類服務(wù)器、PC終端和網(wǎng)頁(yè)并支持GPU和TPU高性能數(shù)值計(jì)算,被廣泛應(yīng)用于谷歌內(nèi)部的產(chǎn)品開發(fā)和各領(lǐng)域的科學(xué)研究。
?
參考文章
Tensorflow英文官網(wǎng)
Tensorflow中文社區(qū)
Tensorflow官方教程
Tensorflow新手入門
Tensorflow中文文檔
?
1、描述
? ? ? ?2015年10月05日,谷歌為TensorFlow提交了注冊(cè)商標(biāo)申請(qǐng)(登記編號(hào)86778464),并這樣描述它:
- (1)、用以編寫程序的計(jì)算機(jī)軟件;
- (2)、計(jì)算機(jī)軟件開發(fā)工具;
- (3)、可應(yīng)用于人工智能、深度學(xué)習(xí)、高性能計(jì)算、分布式計(jì)算、虛擬化和機(jī)器學(xué)習(xí)這些領(lǐng)域;
- (4)、軟件庫(kù)可應(yīng)用于通用目的的計(jì)算、數(shù)據(jù)收集的操作、數(shù)據(jù)變換、輸入輸出、通信、圖像顯示、人工智能等領(lǐng)域的建模和測(cè)試;
- (5)、軟件可用作應(yīng)用于人工智能等領(lǐng)域的應(yīng)用程序接口(API)。
?
2、TensorFlow的六大特征
- 高度的靈活性:TensorFlow 不是一個(gè)嚴(yán)格的“神經(jīng)網(wǎng)絡(luò)”庫(kù)。只要你可以將你的計(jì)算表示為一個(gè)數(shù)據(jù)流圖,你就可以使用Tensorflow。你來(lái)構(gòu)建圖,描寫驅(qū)動(dòng)計(jì)算的內(nèi)部循環(huán)。我們提供了有用的工具來(lái)幫助你組裝“子圖”(常用于神經(jīng)網(wǎng)絡(luò)),當(dāng)然用戶也可以自己在Tensorflow基礎(chǔ)上寫自己的“上層庫(kù)”。定義順手好用的新復(fù)合操作和寫一個(gè)python函數(shù)一樣容易,而且也不用擔(dān)心性能損耗。當(dāng)然萬(wàn)一你發(fā)現(xiàn)找不到想要的底層數(shù)據(jù)操作,你也可以自己寫一點(diǎn)c++代碼來(lái)豐富底層的操作。
- 真正的可移植性(Portability):Tensorflow 在CPU和GPU上運(yùn)行,比如說(shuō)可以運(yùn)行在臺(tái)式機(jī)、服務(wù)器、手機(jī)移動(dòng)設(shè)備等等。想要在沒(méi)有特殊硬件的前提下,在你的筆記本上跑一下機(jī)器學(xué)習(xí)的新想法?Tensorflow可以辦到這點(diǎn)。準(zhǔn)備將你的訓(xùn)練模型在多個(gè)CPU上規(guī)?;\(yùn)算,又不想修改代碼?Tensorflow可以辦到這點(diǎn)。想要將你的訓(xùn)練好的模型作為產(chǎn)品的一部分用到手機(jī)app里?Tensorflow可以辦到這點(diǎn)。你改變主意了,想要將你的模型作為云端服務(wù)運(yùn)行在自己的服務(wù)器上,或者運(yùn)行在Docker容器里?Tensorfow也能辦到。Tensorflow就是這么拽 :)
- 將科研和產(chǎn)品聯(lián)系在一起:過(guò)去如果要將科研中的機(jī)器學(xué)習(xí)想法用到產(chǎn)品中,需要大量的代碼重寫工作。那樣的日子一去不復(fù)返了!在Google,科學(xué)家用Tensorflow嘗試新的算法,產(chǎn)品團(tuán)隊(duì)則用Tensorflow來(lái)訓(xùn)練和使用計(jì)算模型,并直接提供給在線用戶。使用Tensorflow可以讓應(yīng)用型研究者將想法迅速運(yùn)用到產(chǎn)品中,也可以讓學(xué)術(shù)性研究者更直接地彼此分享代碼,從而提高科研產(chǎn)出率。
- 自動(dòng)求微分:基于梯度的機(jī)器學(xué)習(xí)算法會(huì)受益于Tensorflow自動(dòng)求微分的能力。作為Tensorflow用戶,你只需要定義預(yù)測(cè)模型的結(jié)構(gòu),將這個(gè)結(jié)構(gòu)和目標(biāo)函數(shù)(objective function)結(jié)合在一起,并添加數(shù)據(jù),Tensorflow將自動(dòng)為你計(jì)算相關(guān)的微分導(dǎo)數(shù)。計(jì)算某個(gè)變量相對(duì)于其他變量的導(dǎo)數(shù)僅僅是通過(guò)擴(kuò)展你的圖來(lái)完成的,所以你能一直清楚看到究竟在發(fā)生什么。
- 多語(yǔ)言支持:Tensorflow 有一個(gè)合理的c++使用界面,也有一個(gè)易用的python使用界面來(lái)構(gòu)建和執(zhí)行你的graphs。你可以直接寫python/c++程序,也可以用交互式的ipython界面來(lái)用Tensorflow嘗試些想法,它可以幫你將筆記、代碼、可視化等有條理地歸置好。當(dāng)然這僅僅是個(gè)起點(diǎn)——我們希望能鼓勵(lì)你創(chuàng)造自己最喜歡的語(yǔ)言界面,比如Go,Java,Lua,Javascript,或者是R。
- 性能最優(yōu)化:比如說(shuō)你又一個(gè)32個(gè)CPU內(nèi)核、4個(gè)GPU顯卡的工作站,想要將你工作站的計(jì)算潛能全發(fā)揮出來(lái)?由于Tensorflow 給予了線程、隊(duì)列、異步操作等以最佳的支持,Tensorflow 讓你可以將你手邊硬件的計(jì)算潛能全部發(fā)揮出來(lái)。你可以自由地將Tensorflow圖中的計(jì)算元素分配到不同設(shè)備上,Tensorflow可以幫你管理好這些不同副本。
?
3、了解Tensorflow
? ? ?2017年谷歌開發(fā)者大會(huì)歐洲站上,谷歌研究院工程師Andrew Gasparovic所做演講。他用深入淺出、妙趣橫生的方式,給大家分享了TensorFlow的發(fā)展情況與最新成果。
? ? ? TensorFlow能夠讓你直接解決各種機(jī)器學(xué)習(xí)任務(wù)。目標(biāo)就是在一般情況下,無(wú)論你遇到什么問(wèn)題,TensorFlow都可以在一定程度上提供API的支持??偟膩?lái)說(shuō)TensorFlow就是為了快而設(shè)計(jì)的,所以它針對(duì)你實(shí)際使用的硬件和平臺(tái)做了優(yōu)化。其中在機(jī)器學(xué)習(xí)框架方面,TensorFlow的真正獨(dú)特之處在于,能夠在5行或者10行代碼中構(gòu)建模型。然后應(yīng)用這個(gè)模型,進(jìn)行擴(kuò)展做出產(chǎn)品。因此,你能夠在幾十甚至幾百個(gè)機(jī)器的簇上進(jìn)行訓(xùn)練。從而用該模型進(jìn)行非常低的延遲預(yù)測(cè)。
參考文章:谷歌大神帶你十分鐘看懂TensorFlow
?
4、TensorBoard:可視化學(xué)習(xí)
參考文章:TF之Tensorboard:Tensorflow之Tensorboard可視化簡(jiǎn)介、入門、使用方法之詳細(xì)攻略
?
?
Tensorflow的安裝
Anaconda之tensorflow:深度學(xué)習(xí)之Anaconda下安裝tensorflow正確運(yùn)行之史上最強(qiáng)攻略
Py之TF/Cuda/Cudnn:Win10下安裝深度學(xué)習(xí)框架Tensorflow+Cuda+Cudnn最簡(jiǎn)單最快捷最詳細(xì)攻略
TF學(xué)習(xí)——TensorFlow:深度學(xué)習(xí)框架TensorFlow & TensorFlow-GPU的簡(jiǎn)介、安裝詳細(xì)攻略
?
TensorFlow基礎(chǔ)知識(shí)架構(gòu)
1、基礎(chǔ)知識(shí)架構(gòu)
2、計(jì)算圖與會(huì)話
1、計(jì)算圖方法
基本上所有的Tensorflow代碼都包含兩個(gè)重要部分:
- 構(gòu)建計(jì)算圖(使用tf.Graph)
- 運(yùn)行會(huì)話(使用tf.Session),執(zhí)行圖中的運(yùn)算
2、計(jì)算圖由兩種類型的對(duì)象組成
(1)、操作(簡(jiǎn)稱“op”):圖的節(jié)點(diǎn)。操作描述了消耗和生成張量的計(jì)算。
(2)、張量:圖的邊。它們代表將流經(jīng)圖的值。大多數(shù)TensorFlow 函數(shù)會(huì)返回tf.Tensors。
重要提示:tf.Tensors 不具有值,它們只是計(jì)算圖中元素的手柄。
Edges are N-dimensional arrays:Tensors
with tensors? 保留tensors
with state? 保留狀態(tài)
3、圖和會(huì)話
- TensorFlow 使用數(shù)據(jù)流圖將計(jì)算表示為獨(dú)立的指令之間的依賴關(guān)系。
- 這可生成低級(jí)別的編程模型,在該模型中,你首先定義數(shù)據(jù)流圖,然后創(chuàng)建TensorFlow 會(huì)話,以便在一組本地和遠(yuǎn)程設(shè)備上運(yùn)行圖的各個(gè)部分。
- 較高階的API(例如tf.estimator.Estimator 和Keras)會(huì)向最終用戶隱去圖和會(huì)話的細(xì)節(jié)內(nèi)容。
?
2、相關(guān)概念
1、張量(tensor)
? ? ?TensorFlow 中的核心數(shù)據(jù)單位是張量(tensor)。一個(gè)張量由一組形成陣列(任意維數(shù))的原始值組成。張量的階(rank)是它的維數(shù),而它的形狀(shape)是一個(gè)整數(shù)元組,指定了陣列每個(gè)維度的長(zhǎng)度。以下是張量值的一些示例:
3. # a rank 0 tensor; a scalar with shape [], [1., 2., 3.] # a rank 1 tensor; a vector with shape [3] [[1., 2., 3.], [4., 5., 6.]] # a rank 2 tensor; a matrix with shape [2, 3] [[[1., 2., 3.]], [[7., 8., 9.]]] # a rank 3 tensor with shape [2, 1, 3]? ? ? TensorFlow 使用numpy數(shù)組來(lái)表示張量值。
? ? ??tf.Tensor 具有以下屬性:
- 數(shù)據(jù)類型(例如float32、int32 或string)
- 形狀
? ? ? 張量中的每個(gè)元素都具有相同的數(shù)據(jù)類型,且該數(shù)據(jù)類型一定是已知的。形狀,即張量的維數(shù)和每個(gè)維度的大小,可能只有部分已知。如果其輸入的形狀也完全已知,則大多數(shù)操作會(huì)生成形狀完全已知的張量,但在某些情況下,只能在執(zhí)行圖時(shí)獲得張量的形狀。
(1)、階(rank)和形狀(shape)
? ? ? tf.Tensor 對(duì)象的階是它本身的維數(shù)。階的同義詞包括:秩、等級(jí)或n 維。請(qǐng)注意,TensorFlow 中的階與數(shù)學(xué)中矩陣的階并不是同一個(gè)概念。如下表所示,TensorFlow 中的每個(gè)階都對(duì)應(yīng)一個(gè)不同的數(shù)學(xué)實(shí)例:
? ? ?張量的形狀是每個(gè)維度中元素的數(shù)量。TensorFlow 在圖的構(gòu)建過(guò)程中自動(dòng)推理形狀。這些推理的形狀可能具有已知或未知的階。如果階已知,則每個(gè)維度的大小可能已知或未知。TensorFlow 文件編制中通過(guò)三種符號(hào)約定來(lái)描述張量維度:階,形狀和維數(shù)。下表闡述了三者如何相互關(guān)聯(lián):
?
?
TensorFlow的使用方法
TF學(xué)習(xí):Tensorflow基礎(chǔ)案例、經(jīng)典案例集合——基于python編程代碼的實(shí)現(xiàn)
1、基礎(chǔ)函數(shù)
sess.run() ?
#當(dāng)我們構(gòu)建完圖后,需要在一個(gè)會(huì)話中啟動(dòng)圖,啟動(dòng)的第一步是創(chuàng)建一個(gè)Session對(duì)象。 ?為了取回(Fetch)操作的輸出內(nèi)容, 可以在使用 Session 對(duì)象的 run()調(diào)用執(zhí)行圖時(shí),傳入一些 tensor, 這些 tensor 會(huì)幫助你取回結(jié)果。那么調(diào)用sess.run()的時(shí)候,ensorflow并沒(méi)有計(jì)算整個(gè)圖,只是計(jì)算了與想要fetch 的值相關(guān)的部分。
占位符和 feed_dict ?:占位符并沒(méi)有初始值,它只會(huì)分配必要的內(nèi)存。在會(huì)話中,占位符可以使用 feed_dict 饋送數(shù)據(jù)。 ?feed_dict 是一個(gè)字典,在字典中需要給出每一個(gè)用到的占位符的取值。在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)需要每次提供一個(gè)批量的訓(xùn)練樣本,如果每次迭代選取的數(shù)據(jù)要通過(guò)常量表示,那么 TensorFlow 的計(jì)算圖會(huì)非常大。因?yàn)槊吭黾右粋€(gè)常量,TensorFlow 都會(huì)在計(jì)算圖中增加一個(gè)結(jié)點(diǎn)。所以說(shuō)擁有幾百萬(wàn)次迭代的神經(jīng)網(wǎng)絡(luò)會(huì)擁有極其龐大的計(jì)算圖,而占位符卻可以解決這一點(diǎn),它只會(huì)擁有占位符這一個(gè)結(jié)點(diǎn)。
2、輸出tensorflow的版本號(hào)
import tensorflow as tf print('輸出tensorflow的版本:',tf.__version__)?
案例應(yīng)用
DL框架之Tensorflow:Tensorflow中常用函數(shù)的簡(jiǎn)介、使用方法之詳細(xì)攻略
1、使用常量和占位符進(jìn)行計(jì)算
#使用常量和占位符進(jìn)行計(jì)算:其中 y_1 的計(jì)算過(guò)程使用占位符,而 y_2 的計(jì)算過(guò)程使用常量 w1=tf. Variable (tf.random_normal([ 1 , 2 ],stddev= 1 ,seed= 1 )) #因?yàn)樾枰貜?fù)輸入x,而每建一個(gè)x就會(huì)生成一個(gè)結(jié)點(diǎn),計(jì)算圖的效率會(huì)低。所以使用占位符 x=tf.placeholder(tf.float32,shape=( 1 , 2 )) x1=tf.constant([[ 0.7 , 0.9 ]]) a=x+w1 b=x1+w1 sess=tf. Session () sess.run(tf.global_variables_initializer()) #運(yùn)行y時(shí)將占位符填上,feed_dict為字典,變量名不可變 y_1=sess.run(a,feed_dict={x:[[ 0.7 , 0.9 ]]}) y_2=sess.run(b) print (y_1) print (y_2) sess.close?
2、輸出w、b和計(jì)算兩個(gè)數(shù)值相乘
import tensorflow as tf import numpy as npW = tf.Variable(np.arange(6).reshape((2, 3)), dtype=tf.float32, name="weights") b = tf.Variable(np.arange(3).reshape((1, 3)), dtype=tf.float32, name="biases")saver = tf.train.Saver() with tf.Session() as sess: saver.restore(sess, "niu/save_net.ckpt")print("weights:", sess.run(W))print("biases:", sess.run(b)) import tensorflow as tf#構(gòu)建一個(gè)計(jì)算圖 a=tf.constant([1.0, 2.0]) b=tf.constant([3.0, 4.0]) c=a*b #T1、傳統(tǒng)的方法,先構(gòu)建再釋放 sess=tf.Session() #構(gòu)建一個(gè)Session print(sess.run(c)) #把計(jì)算圖放到session里,并運(yùn)行得到結(jié)果 sess.close() #關(guān)閉session釋放資源#T2、with語(yǔ)句的方法,先構(gòu)建再釋放 with tf.Session() as sess:print(sess.run(c)) #把計(jì)算圖放到session里,并運(yùn)行得到結(jié)果?
3、ML之LoR:利用LoR算法(tensorflow)對(duì)mnist數(shù)據(jù)集實(shí)現(xiàn)手寫數(shù)字識(shí)別
import tensorflow as tf import numpy as np from tensorflow.examples.tutorials.mnist import input_data#1、定義數(shù)據(jù)集:mnist mnist = input_data.read_data_sets('MNIST_data', one_hot=True)trainimg = mnist.train.images trainimg_label = mnist.train.labels testimg = mnist.test.images testimg_label = mnist.test.labels print(trainimg_label[0]) #輸出第一行l(wèi)abel值#2、定義x、y、w、b:tf.placeholder占位符、tf.Variable變量 x = tf.placeholder("float",[None,784]) # [None,784]樣本的個(gè)數(shù)(無(wú)限大),每個(gè)樣本的特征(784個(gè)像素點(diǎn)) y = tf.placeholder("float",[None,10]) #樣本的類別(10個(gè)) W = tf.Variable(tf.zeros([784,10])) #每個(gè)特征(784個(gè)像素點(diǎn))對(duì)應(yīng)輸出10個(gè)分類值 b = tf.Variable(tf.zeros([10]))#3、模型預(yù)測(cè):LoR(softmax多分類) #3.1、定義計(jì)算損失:actv、cost actv = tf.nn.softmax(tf.matmul(x,W)+b) #計(jì)算屬于正確類別的概率值 cost = tf.reduce_mean(-tf.reduce_sum(y*tf.log(actv),reduction_indices=1)) #計(jì)算損失值(預(yù)測(cè)值與真實(shí)值間的均方差)#3.2、定義模型訓(xùn)練:learning_rate、optm: #(1)、采用GD優(yōu)化參數(shù)w、b,最小化損失值 learning_rate=0.01 optm = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost) #學(xué)習(xí)率為0.01 # optimizer = tf.train.GradientDescentOptimizer(0.01) #學(xué)習(xí)率為0.01 # optm = optimizer.minimize(cost) #最小化損失值#3.3、定義模型的pred、accr pred = tf.equal(tf.argmax(actv,1),tf.argmax(y,1)) #預(yù)測(cè)值:equal返回的值是布爾類型,argmax返回矩陣中最大元素的索引,0,代表列方向;1代表行方向 accr = tf.reduce_mean(tf.cast(pred,"float")) #準(zhǔn)確率,cast進(jìn)行類型轉(zhuǎn)化 (true為1,false為0) #3.4、定義模型訓(xùn)練參數(shù)init_op、train_epochs、batch_size、display_step init_op = tf.global_variables_initializer() #初始化所有variables 的op train_epochs = 50 #將所有樣本迭代50次 batch_size = 100 #每次迭代選擇樣本的個(gè)數(shù) display_step =5 #每進(jìn)行5個(gè)epoch進(jìn)行一次展示 #3.5、運(yùn)行模型tf.Session() with tf.Session() as sess: #在session中啟動(dòng)graphsess.run(init_op) #啟動(dòng)運(yùn)行使用variables的opfor epoch in range(train_epochs):#(1)、定義avg_cost、num_batchavg_cost =0.0 #初始化損失值num_batch = int(mnist.train.num_examples/batch_size) #(2)、for循環(huán)實(shí)現(xiàn)num_batch批量訓(xùn)練for i in range(num_batch):batch_xs, batch_ys = mnist.train.next_batch(batch_size) #以batch為單位逐次進(jìn)行sess.run(optm,feed_dict={x: batch_xs,y: batch_ys}) #給x,y賦值feeds={x: batch_xs,y: batch_ys} avg_cost +=sess.run(cost,feed_dict= feeds)/num_batch#(3)、if判斷實(shí)現(xiàn)每輪結(jié)果輸出:輸出每輪(5個(gè)epoch)的cost、trian_acc、test_accif epoch % display_step == 0:feeds_train = {x: batch_xs,y: batch_ys} feeds_test = {x:mnist.test.images,y: mnist.test.labels}train_acc = sess.run(accr,feed_dict= feeds_train)test_acc = sess.run(accr,feed_dict= feeds_test) print("Epoch: %03d/%03d cost:%.9f trian_acc: %.3f test_acc: %.3f"% (epoch,train_epochs,avg_cost,train_acc,test_acc)) print("Done")?
?
?
?
相關(guān)文章
TF:Tensorflow定義變量+常量,實(shí)現(xiàn)輸出計(jì)數(shù)功能
TF:Tensorflor之session會(huì)話的使用,定義兩個(gè)矩陣,兩種方法輸出2個(gè)矩陣相乘的結(jié)果
?
?
?
總結(jié)
以上是生活随笔為你收集整理的DL框架之Tensorflow:深度学习框架Tensorflow的简介、安装、使用方法之详细攻略的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ML之SVM:SVM算法的简介、应用、经
- 下一篇: DL之RBM:(sklearn自带数据集