如何使用paddle2.0高级API识别图片验证码
1、第一步,检验paddle的版本,我在windows下单独新建了paddle2.0的环境
import paddle
paddle.__version__

2、第二步,对于深度学习任务如果简单来看,其实分为几个核心步骤:
数据集的准备和加载;
模型的构建;
模型训练;
模型评估
3、第三步, 数据加载和预处理
paddle内置了常见的几个数据集,我在这里使用的是paddle内置的mnist数据集
train_dataset = paddle.vision.datasets.MNIST(mode='train')
val_dataset = paddle.vision.datasets.MNIST(mode='test')

4、第四步,组建网络,通过Sequential将一层一层的网络结构组建起来,Sequential是paddle2.0的新特性。
mnist = paddle.nn.Sequential(
paddle.nn.Flatten(),
paddle.nn.Linear(784, 512),
paddle.nn.ReLU(),
paddle.nn.Dropout(0.2),
paddle.nn.Linear(512, 10)
)

5、第五步,模型训练,使用高级API的方法fit进行训练
model = paddle.Model(mnist)
# 模型训练相关配置,准备损失计算方法,优化器和精度计算方法
model.prepare(paddle.optimizer.Adam(parameters=mnist.parameters()),
paddle.nn.CrossEntropyLoss(),
paddle.metric.Accuracy())
# 开始模型训练
model.fit(train_dataset,
epochs=5,
batch_size=32,
verbose=1)

6、第六步,模型评估
model.evaluate(val_dataset, verbose=0)

7、第七步,总结,只经过了5个批次的训练,训练的准确率与评估的准确率都得到了90%以上;而且编写的代码与1.x系列比,少了很多,但效果不减。
