在tensorflow下利用plt畫論文中l(wèi)oss,acc等曲線圖實(shí)例
直接上代碼:
fig_loss = np.zeros([n_epoch]) fig_acc1 = np.zeros([n_epoch]) fig_acc2= np.zeros([n_epoch]) for epoch in range(n_epoch): start_time = time.time() #training train_loss, train_acc, n_batch = 0, 0, 0 for x_train_a, y_train_a in minibatches(x_train, y_train, batch_size, shuffle=True): _,err,ac=sess.run([train_op,loss,acc], feed_dict={x: x_train_a, y_: y_train_a}) train_loss += err; train_acc += ac; n_batch += 1 summary_str = sess.run(merged_summary_op,feed_dict={x: x_train_a, y_: y_train_a}) summary_writer.add_summary(summary_str, epoch) print(" train loss: %f" % (np.sum(train_loss)/ n_batch)) print(" train acc: %f" % (np.sum(train_acc)/ n_batch)) fig_loss[epoch] = np.sum(train_loss)/ n_batch fig_acc1[epoch] = np.sum(train_acc) / n_batch #validation val_loss, val_acc, n_batch = 0, 0, 0 for x_val_a, y_val_a in minibatches(x_val, y_val, batch_size, shuffle=False): err, ac = sess.run([loss,acc], feed_dict={x: x_val_a, y_: y_val_a}) val_loss += err; val_acc += ac; n_batch += 1 print(" validation loss: %f" % (np.sum(val_loss)/ n_batch)) print(" validation acc: %f" % (np.sum(val_acc)/ n_batch)) fig_acc2[epoch] = np.sum(val_acc) / n_batch # 訓(xùn)練loss圖 fig, ax1 = plt.subplots() lns1 = ax1.plot(np.arange(n_epoch), fig_loss, label="Loss") ax1.set_xlabel('iteration') ax1.set_ylabel('training loss') # 訓(xùn)練和驗(yàn)證兩種準(zhǔn)確率曲線圖放在一張圖中 fig2, ax2 = plt.subplots() ax3 = ax2.twinx()#由ax2圖生成ax3圖 lns2 = ax2.plot(np.arange(n_epoch), fig_acc1, label="Loss") lns3 = ax3.plot(np.arange(n_epoch), fig_acc2, label="Loss") ax2.set_xlabel('iteration') ax2.set_ylabel('training acc') ax3.set_ylabel('val acc') # 合并圖例 lns = lns3 + lns2 labels = ["train acc", "val acc"] plt.legend(lns, labels, loc=7) plt.show()
結(jié)果:
補(bǔ)充知識(shí):tensorflow2.x實(shí)時(shí)繪制訓(xùn)練時(shí)的損失和準(zhǔn)確率
我就廢話不多說(shuō)了,大家還是直接看代碼吧!
sgd = SGD(lr=float(model_value[3]), decay=1e-6, momentum=0.9, nesterov=True) model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy']) # validation_split:0~1之間的浮點(diǎn)數(shù),用來(lái)指定訓(xùn)練集的一定比例數(shù)據(jù)作為驗(yàn)證集 history=model.fit(self.x_train, self.y_train, batch_size=self.batch_size, epochs=self.epoch_size, class_weight = 'auto', validation_split=0.1) # 繪制訓(xùn)練 & 驗(yàn)證的準(zhǔn)確率值 plt.plot(history.history['accuracy']) plt.plot(history.history['val_accuracy']) plt.title('Model accuracy') plt.ylabel('Accuracy') plt.xlabel('Epoch') plt.legend(['Train', 'Test'], loc='upper left') plt.show() # 繪制訓(xùn)練 & 驗(yàn)證的損失值 plt.plot(history.history['loss']) plt.plot(history.history['val_loss']) plt.title('Model loss') plt.ylabel('Loss') plt.xlabel('Epoch') plt.legend(['Train', 'Test'], loc='upper left') plt.show() print("savemodel---------------") model.save(os.path.join(model_value[0],'model3_3.h5')) #輸出損失和精確度 score = model.evaluate(self.x_test, self.y_test, batch_size=self.batch_size)
以上這篇在tensorflow下利用plt畫論文中l(wèi)oss,acc等曲線圖實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python數(shù)據(jù)可視化:箱線圖多種庫(kù)畫法
這篇文章主要介紹了Python數(shù)據(jù)可視化箱線圖多種庫(kù)畫法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11matplotlib之pyplot模塊添加文本、注解(text和annotate)
matplotlib是python最著名的繪圖庫(kù),它提供了一整套和matlab相似的命令A(yù)PI,十分適合交互式地行制圖,下面這篇文章主要給大家介紹了關(guān)于matplotlib之pyplot模塊添加文本、注解(text和annotate)的相關(guān)資料,需要的朋友可以參考下2022-05-05150行Python代碼實(shí)現(xiàn)帶界面的數(shù)獨(dú)游戲
這篇文章主要介紹了150行Python代碼實(shí)現(xiàn)帶界面的數(shù)獨(dú)游戲,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04Python安裝Numpy出現(xiàn)異常信息簡(jiǎn)單解決辦法
在安裝Python的Numpy包時(shí),可能會(huì)遇到路徑警告或包源超時(shí)的問題,首先,如果出現(xiàn)包源超時(shí),可以嘗試更換為國(guó)內(nèi)的鏡像源,如清華大學(xué)鏡像源,其次,如果在安裝完成后提示將某個(gè)路徑添加到PATH環(huán)境變量,按照提示操作即可消除異常,需要的朋友可以參考下2024-09-09windows上徹底刪除jupyter notebook的實(shí)現(xiàn)
這篇文章主要介紹了windows上徹底刪除jupyter notebook的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-04-04python實(shí)現(xiàn)進(jìn)程間通信簡(jiǎn)單實(shí)例
這篇文章主要介紹了python實(shí)現(xiàn)進(jìn)程間通信簡(jiǎn)單實(shí)例,需要的朋友可以參考下2014-07-07詳解如何在Python中使用Jinja2進(jìn)行模板渲染
Jinja2 是一個(gè)現(xiàn)代的、設(shè)計(jì)精美的 Python 模板引擎,它使用類似于 Django 的模板語(yǔ)言來(lái)渲染文本文件,下面我將通過幾個(gè)例子展示如何在 Python 中使用 Jinja2 進(jìn)行模板渲染,文中有詳細(xì)的代碼供大家參考,需要的朋友可以參考下2024-08-08