飞桨(PaddlePaddle)快速上手教程

玩家互动 8146

文章目录

飞桨(PaddlePaddle)快速上手教程1. 快速安装飞桨2. 导入飞桨3. 实践:手写数字识别任务3.1 数据集定义与加载3.2 模型组网3.3 模型训练与评估3.4 模型推理

4. 总结

飞桨(PaddlePaddle)快速上手教程

本教程将引导您通过一个简单的手写数字识别任务来快速了解深度学习模型开发的流程,并掌握飞桨框架API的基本使用方法。

1. 快速安装飞桨

首先,确保您的Python版本在3.6到3.9之间,并安装了相应版本的pip。然后,使用以下命令安装飞桨:

python3 -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

2. 导入飞桨

在Python解释器中导入飞桨:

import paddle

print(paddle.__version__)

3. 实践:手写数字识别任务

3.1 数据集定义与加载

使用飞桨内置的MNIST数据集进行训练和测试。

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模型。

from paddle.vision.models import LeNet

model = LeNet(num_classes=10)

3.3 模型训练与评估

使用paddle.Model封装模型,并进行训练和评估。

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 模型推理

保存模型并加载进行推理。

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来支持更复杂的任务和模型开发。您可以访问飞桨官网获取更多教程和案例,深入探索深度学习的世界。