美文网首页
LeNet网络PaddlePaddle实现3

LeNet网络PaddlePaddle实现3

作者: LabVIEW_Python | 来源:发表于2021-01-17 06:35 被阅读0次

上一节《LeNet网络PaddlePaddle实现2》
本节介绍如何评估LeNet网络,具体步骤如下:

  • 首先通过模型对象的 load_dygraph() 方法加载保存好的模型参数,通过 Layerset_dict 方法将参数导入到模型中,然后调用模型对象的eval()方法,将模型的算子切换到预测评估模式。
  • 读取测试数据执行网络正向计算,进行评估测试,输出不同 batch 数据下损失值和准确率的平均值
# 评估模型
print("start evaluating...")
with fluid.dygraph.guard():
    # 实例化模型        
    model =LeNet(num_classes=10)
    # 加载模型
    model_dict, _ = fluid.load_dygraph("LeNet")
    model.set_dict(model_dict)

    model.eval() #切换到评估模式

    images = test_images.astype("float32").reshape(-1,1,28,28)
    labels = test_labels.astype("int64").reshape(-1,1)

    images = fluid.dygraph.to_variable(images)
    labels = fluid.dygraph.to_variable(labels)

    logits = model(images)
    
    preds = fluid.layers.softmax(logits)
    losses = fluid.layers.softmax_with_cross_entropy(preds, labels)
    avg_loss = fluid.layers.mean(losses)
    acc  = fluid.layers.accuracy(preds,labels)

    print(logits.shape, preds.shape, losses.shape, acc.shape)
    print("[validation] accuracy:{}; loss:{}".format(acc.numpy(), avg_loss.numpy()))

相关文章

网友评论

      本文标题:LeNet网络PaddlePaddle实现3

      本文链接:https://www.haomeiwen.com/subject/kkrpaktx.html