在tensorflow下利用plt畫論文中l(wèi)oss,acc等曲線圖實例
更新時間:2020年06月15日 14:57:00 作者:路上的病人
這篇文章主要介紹了在tensorflow下利用plt畫論文中l(wèi)oss,acc等曲線圖實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
直接上代碼:
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 # 訓練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') # 訓練和驗證兩種準確率曲線圖放在一張圖中 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é)果:
補充知識:tensorflow2.x實時繪制訓練時的損失和準確率
我就廢話不多說了,大家還是直接看代碼吧!
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之間的浮點數(shù),用來指定訓練集的一定比例數(shù)據(jù)作為驗證集 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) # 繪制訓練 & 驗證的準確率值 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() # 繪制訓練 & 驗證的損失值 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等曲線圖實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
matplotlib之pyplot模塊添加文本、注解(text和annotate)
matplotlib是python最著名的繪圖庫,它提供了一整套和matlab相似的命令API,十分適合交互式地行制圖,下面這篇文章主要給大家介紹了關(guān)于matplotlib之pyplot模塊添加文本、注解(text和annotate)的相關(guān)資料,需要的朋友可以參考下2022-05-05150行Python代碼實現(xiàn)帶界面的數(shù)獨游戲
這篇文章主要介紹了150行Python代碼實現(xiàn)帶界面的數(shù)獨游戲,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04Python安裝Numpy出現(xiàn)異常信息簡單解決辦法
在安裝Python的Numpy包時,可能會遇到路徑警告或包源超時的問題,首先,如果出現(xiàn)包源超時,可以嘗試更換為國內(nèi)的鏡像源,如清華大學鏡像源,其次,如果在安裝完成后提示將某個路徑添加到PATH環(huán)境變量,按照提示操作即可消除異常,需要的朋友可以參考下2024-09-09windows上徹底刪除jupyter notebook的實現(xiàn)
這篇文章主要介紹了windows上徹底刪除jupyter notebook的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04