代码记录-根据.npy文件计算平均acc\平均trainloss\平均testloss

import matplotlib.pyplot as plt
import numpy as np

def plot_loss(n):
    loss = []
    loss1 = []
    acc = []
    sum_loss = 0.0
    sum_loss1 = 0.0
    sum_acc = 0.0
    plt.figure(figsize=(8, 7))
    for i in range(0,n):
        enc = np.load('./loss/loss_epoch_{}.npy'.format(i)) #文件返回数组
        tempy_loss = enc.tolist()
        tempy_loss = float(tempy_loss)
        sum_loss = sum_loss + tempy_loss/100
        loss.append(tempy_loss)

        enc1 = np.load('./loss1/loss_epoch_{}.npy'.format(i))  # 文件返回数组
        tempy_loss1 = enc1.tolist()
        tempy_loss1 = float(tempy_loss1)
        sum_loss1 = sum_loss1 + tempy_loss1
        loss1.append(tempy_loss1)

        enc2 = np.load('./acc/acc_epoch_{}.npy'.format(i))  # 文件返回数组
        tempy_acc = enc2.tolist()
        tempy_acc = float(tempy_acc)
        sum_acc = sum_acc + tempy_acc * 100
        acc.append(tempy_acc)

    x1 = len(loss)
    x2 = len(loss1)
    x3 = len(acc)
    average_train_loss = sum_loss / x1
    average_test_loss = sum_loss1 / x2
    average_acc = sum_acc / x3

    print_res = "average train loss: {: .3f};   average test loss: {: .3f};   map:{}".format(average_train_loss,average_test_loss,average_acc)
    plt.title(print_res)
    print(print_res)

if __name__ == "__main__":
    plot_loss(299)#epoch个数=300

猜你喜欢

转载自blog.csdn.net/LZL2020LZL/article/details/127283712