python人工智能tensorflow函數(shù)tensorboard使用方法_第1頁(yè)
python人工智能tensorflow函數(shù)tensorboard使用方法_第2頁(yè)
python人工智能tensorflow函數(shù)tensorboard使用方法_第3頁(yè)
python人工智能tensorflow函數(shù)tensorboard使用方法_第4頁(yè)
python人工智能tensorflow函數(shù)tensorboard使用方法_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第python人工智能tensorflow函數(shù)tensorboard使用方法目錄tensorboard相關(guān)函數(shù)及其常用參數(shù)設(shè)置1with_scope(layer_name):2tf.summary.histogram(layer_name+/biases,biases)3tf.summary.scalar(loss,loss)4tf.summary.merge_all()5tf.summary.FileWriter(logs/,sess.graph)6write.add_summary(result,i)7tensorboard--logdir=logs例子tensorboard常用于更直觀的觀察數(shù)據(jù)在神經(jīng)網(wǎng)絡(luò)中的變化,或者用于觀測(cè)已經(jīng)構(gòu)建完成的神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。其有助于我們更加方便的去觀測(cè)tensorflow神經(jīng)網(wǎng)絡(luò)的搭建情況以及執(zhí)行情況。

tensorboard相關(guān)函數(shù)及其常用參數(shù)設(shè)置

tensorboard相關(guān)函數(shù)代碼真的好多啊。難道都要背下來(lái)嗎!

不需要!只要收藏了來(lái)這里復(fù)制粘貼就可以了。常用的只有七個(gè)!

1with_scope(layer_name):

TensorFlow中的name_scope函數(shù)的作用是創(chuàng)建一個(gè)參數(shù)名稱空間。這個(gè)空間里包括許多參數(shù),每個(gè)參數(shù)有不同的名字,這樣可以更好的管理參數(shù)空間,防止變量命名時(shí)產(chǎn)生沖突。

利用該函數(shù)可以生成相對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖。

該函數(shù)支持嵌套。

在該標(biāo)題中,該參數(shù)名稱空間空間的名字為layer_name。

2tf.summary.histogram(layer_name+/biases,biases)

該函數(shù)用于將變量記錄到tensorboard中。用來(lái)顯示直方圖信息。

一般用來(lái)顯示訓(xùn)練過程中變量的分布情況。

在該標(biāo)題中,biases的直方圖信息被記錄到tensorboard的layer_name+/biases中。

3tf.summary.scalar(loss,loss)

用來(lái)進(jìn)行標(biāo)量信息的可視化與顯示。

一般在畫loss曲線和accuary曲線時(shí)會(huì)用到這個(gè)函數(shù)。

在該標(biāo)題中,loss的標(biāo)量信息被記錄到tensorboard的loss中。

4tf.summary.merge_all()

將之前定義的所有summary整合在一起。

tf.summary.scalar、tf.summary.histogram、tf.summary.image在定義的時(shí)候,也不會(huì)立即執(zhí)行,需要通過sess.run來(lái)明確調(diào)用這些函數(shù)。因?yàn)?,在一個(gè)程序中定義的寫日志操作比較多,如果一一調(diào)用,將會(huì)十分麻煩,所以Tensorflow提供了tf.summary.merge_all()函數(shù)將所有的summary整理在一起。

在TensorFlow程序執(zhí)行的時(shí)候,只需要運(yùn)行這一個(gè)操作就可以將代碼中定義的所有寫summary內(nèi)容執(zhí)行一次,從而將所有的summary內(nèi)容寫入。

5tf.summary.FileWriter(logs/,sess.graph)

將summary內(nèi)容寫入磁盤文件,F(xiàn)ileWriter類提供了一種用于在給定目錄下創(chuàng)建事件文件的機(jī)制,并且將summary數(shù)據(jù)寫入硬盤。

在該標(biāo)題中,summary數(shù)據(jù)被寫入logs文件夾中。

6write.add_summary(result,i)

該函數(shù)成立前提為:

write=tf.summary.FileWriter("logs/",sess.graph)

add_summary是tf.summary.FileWriter父類中的成員函數(shù);添加summary內(nèi)容到事件文件,寫入事件文件。

在該標(biāo)題中,result是tf.summary.merge_all()執(zhí)行的結(jié)果,i表示世代數(shù)。

7tensorboard--logdir=logs

該函數(shù)用于cmd命令行中。用于生成tensorboard觀測(cè)網(wǎng)頁(yè)。

例子

該例子為手寫體識(shí)別例子。

importtensorflowastf

importnumpyasnp

fromtensorflow.examples.tutorials.mnistimportinput_data

mnist=input_data.read_data_sets("MNIST_data",one_hot="true")

defadd_layer(inputs,in_size,out_size,n_layer,activation_function=None):

layer_name='layer%s'%n_layer

with_scope(layer_name):

with_scope("Weights"):

Weights=tf.Variable(tf.random_normal([in_size,out_size]),name="Weights")

tf.summary.histogram(layer_name+"/weights",Weights)

with_scope("biases"):

biases=tf.Variable(tf.zeros([1,out_size])+0.1,name="biases")

tf.summary.histogram(layer_name+"/biases",biases)

with_scope("Wx_plus_b"):

Wx_plus_b=tf.matmul(inputs,Weights)+biases

tf.summary.histogram(layer_name+"/Wx_plus_b",Wx_plus_b)

ifactivation_function==None:

outputs=Wx_plus_b

else:

outputs=activation_function(Wx_plus_b)

tf.summary.histogram(layer_name+"/outputs",outputs)

returnoutputs

defcompute_accuracy(x_data,y_data):

globalprediction

y_pre=sess.run(prediction,feed_dict={xs:x_data})

correct_prediction=tf.equal(tf.arg_max(y_data,1),tf.arg_max(y_pre,1))#判斷是否相等

accuracy=tf.reduce_mean(tf.cast(correct_prediction,tf.float32))#賦予float32數(shù)據(jù)類型,求平均。

result=sess.run(accuracy,feed_dict={xs:batch_xs,ys:batch_ys})#執(zhí)行

returnresult

xs=tf.placeholder(tf.float32,[None,784])

ys=tf.placeholder(tf.float32,[None,10])

layer1=add_layer(xs,784,150,"layer1",activation_function=tf.nn.tanh)

prediction=add_layer(layer1,150,10,"layer2")

with_scope("loss"):

loss=tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=ys,logits=prediction),name='loss')

#label是標(biāo)簽,logits是預(yù)測(cè)值,交叉熵。

tf.summary.scalar("loss",loss)

train=tf.train.GradientDescentOptimizer(0.5).minimize(loss)

init=tf.initialize_all_variables()

merged=tf.summary.merge_all()

withtf.Session()assess:

sess.run(init)

write=tf.summary.FileWriter("logs/",sess.graph)

foriinrange(5001):

batch_xs,batch_ys=mnist.train.next_batch(100)

sess.run(train,feed_dict={xs:batch_xs,ys:batch_ys})

ifi%1000==0:

print("訓(xùn)練%d次的識(shí)別率為:%f。"%((i+1),compute_accuracy(mnist.test.images,mnist.test.labels)))

result=sess.run(merged,feed_dict={xs:batch_xs,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論