文章目录
-
-
- 飞桨(PaddlePaddle)快速上手教程
-
- [1. 快速安装飞桨](#1. 快速安装飞桨)
- [2. 导入飞桨](#2. 导入飞桨)
- [3. 实践:手写数字识别任务](#3. 实践:手写数字识别任务)
-
- [3.1 数据集定义与加载](#3.1 数据集定义与加载)
- [3.2 模型组网](#3.2 模型组网)
- [3.3 模型训练与评估](#3.3 模型训练与评估)
- [3.4 模型推理](#3.4 模型推理)
- [4. 总结](#4. 总结)
-
飞桨(PaddlePaddle)快速上手教程
本教程将引导您通过一个简单的手写数字识别任务来快速了解深度学习模型开发的流程,并掌握飞桨框架API的基本使用方法。
1. 快速安装飞桨
首先,确保您的Python版本在3.6到3.9之间,并安装了相应版本的pip。然后,使用以下命令安装飞桨:
bash
python3 -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
2. 导入飞桨
在Python解释器中导入飞桨:
python
import paddle
print(paddle.__version__)
3. 实践:手写数字识别任务
3.1 数据集定义与加载
使用飞桨内置的MNIST数据集进行训练和测试。
python
from paddle.vision.datasets import MNIST
from paddle.vision.transforms import Normalize
transform = Normalize(mean=[127.5], std=[127.5], data_format='CHW')
train_dataset = MNIST(mode='train', transform=transform)
test_dataset = MNIST(mode='test', transform=transform)
3.2 模型组网
使用飞桨内置的LeNet模型。
python
from paddle.vision.models import LeNet
model = LeNet(num_classes=10)
3.3 模型训练与评估
使用paddle.Model
封装模型,并进行训练和评估。
python
from paddle.Model import Model
from paddle.optimizer import Adam
from paddle.nn.losses import CrossEntropyLoss
from paddle.metric import Accuracy
model = Model(model)
model.prepare(optimizer=Adam(parameters=model.parameters(), learning_rate=0.001),
loss=CrossEntropyLoss(),
metrics=Accuracy())
model.fit(train_dataset, epochs=5, batch_size=64, verbose=1)
eval_result = model.evaluate(test_dataset)
print(eval_result)
3.4 模型推理
保存模型并加载进行推理。
python
model.save('./output/mnist')
loaded_model = paddle.Model.load('./output/mnist')
# 从测试集中取出一张图片进行推理
img, label = test_dataset[0]
img_batch = paddle.expand_dims(img, axis=0).astype('float32')
pred_label = loaded_model.predict([img_batch])
true_label = label.numpy()[0]
pred_label = pred_label[0].numpy()
print(f'true label: {true_label}, pred label: {pred_label}')
4. 总结
通过以上步骤,您已经完成了一个深度学习任务,从数据加载到模型训练、评估和推理。飞桨提供了丰富的API来支持更复杂的任务和模型开发。您可以访问飞桨官网获取更多教程和案例,深入探索深度学习的世界。