美文网首页
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