Keras中怎么使用tensorboard-創(chuàng)新互聯(lián)

這篇文章主要講解了“Keras中怎么使用tensorboard”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Keras中怎么使用tensorboard”吧!

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、寧陜網(wǎng)絡(luò)推廣、小程序制作、寧陜網(wǎng)絡(luò)營(yíng)銷、寧陜企業(yè)策劃、寧陜品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供寧陜建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:muchs.cn

方法一(標(biāo)準(zhǔn)調(diào)用方法):

采用keras特有的fit()進(jìn)行訓(xùn)練,只要在fit的時(shí)候指定callbacks函數(shù)即可,代碼如下

from keras.callbacks import TensorBoardfrom keras.models import Sequential……model = Sequential()……tbCallBack = keras.callbacks.TensorBoard(log_dir='./Graph',histogram_freq=1,write_graph=True,write_images=True)model_history = model.fit(X_train_train,y_train_train,batch_size=batch_size,epochs=epochs,verbose=1,validation_data=(X_train_val, y_train_val),callbacks = [EarlyStopping(patience=patience,mode='min',verbose=1),history,tbCallBack])

雖然這種方法看上去很美,但它只適用于標(biāo)準(zhǔn)訓(xùn)練方法,如果你想用自己的訓(xùn)練方法,就需要調(diào)用train_on_batch,而不能直接使用fit(),這時(shí)就要采用下面這種方法:

方法二(特殊調(diào)用方法):

這種方法可用于調(diào)用train_on_batch的情況。

%預(yù)先寫(xiě)好writer,定義好modelwriter = tf.summary.FileWriter(…)model = …%訓(xùn)練時(shí)loss = model.train_on_batch(…)summary = tf.Summary(value=[tf.Summary.Value(tag=”d_loss”, simple_value=d_loss),tf.Summary.Value(tag=”g_loss”, simple_value=g_loss),])writer.add_summary(summary)

雖然很簡(jiǎn)單,但這種方法只能顯示scalar類型,不能顯示image,histgram等,非常不實(shí)用。真正實(shí)用的是下面的終結(jié)方法:

方法三(最實(shí)用的方法)

最實(shí)用的還是用tensorflow原生的調(diào)用方法,雖然相對(duì)方法二麻煩一點(diǎn),但考慮到此方法與tensorflow一樣,不需要去記那些額外的花拳繡腿,因此反而是最簡(jiǎn)單的,也是最有效的。

代碼如下:

import tensorflow as tfimport datetime%在訓(xùn)練開(kāi)始之前,預(yù)先定義好可視化的東西,用的是原生的tensorflow方法,這里我們以一個(gè)GAN模型為例,讓它顯示整張模型圖,兩個(gè)標(biāo)量損失函數(shù),以及5個(gè)生成圖像。方法是預(yù)先用placeholder聲明所要顯示的那些東西,然后在訓(xùn)練過(guò)程中將訓(xùn)練結(jié)果來(lái)填充它們。你可以自行加入histgram,都和tensorflow一樣#start tensorboardsess=tf.Session()logdir = “tensorboard/” + datetime.datetime.now().strftime(“%Y%m%d-%H%M%S”) + “/”writer = tf.summary.FileWriter(logdir, sess.graph)D_LOSS = tf.placeholder(tf.float32, [])G_LOSS = tf.placeholder(tf.float32, [])IMAGES = tf.placeholder(tf.float32,shape=[None,28,28,1])tf.summary.scalar(“D_LOSS”, D_LOSS)tf.summary.scalar(“G_LOSS”, G_LOSS)tf.summary.image(“IMAGES”, IMAGES, 5)merged=tf.summary.merge_all()#end tensorboard

訓(xùn)練迭代過(guò)程中,是這樣的

for epoch in range(100):% 用keras的train_on_batch方法進(jìn)行訓(xùn)練d_loss = d.train_on_batch(。。。。。。)g_loss = d_on_g.train_on_batch(。。。。。。)generated_images = g.predict(。。。。。。)if index%10==0: #tensorboard% 將訓(xùn)練結(jié)果填充可視化數(shù)據(jù)summary=sess.run(merged,feed_dict={D_LOSS:d_loss, G_LOSS:g_loss, IMAGES:generated_images})writer.add_summary(summary,index)

感謝各位的閱讀,以上就是“Keras中怎么使用tensorboard”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Keras中怎么使用tensorboard這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

名稱欄目:Keras中怎么使用tensorboard-創(chuàng)新互聯(lián)
本文來(lái)源:http://muchs.cn/article22/deiscc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、電子商務(wù)虛擬主機(jī)、網(wǎng)站收錄、網(wǎng)站建設(shè)域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)