使用深度学习就像搭积木一样,将各个模块搭好,然后再扮演一个调参侠的角色。
最近在看paddle就整理一下学到的paddle的使用。
1、导入飞桨
import paddle
import numpy as np
2、数据集准备
import paddle.vision.transforms as T
# 训练数据集
train_dataset = paddle.vision.datasets.Cifar100(mode='train', transform=T.ToTensor())
# 验证数据集
eval_dataset = paddle.vision.datasets.Cifar100(mode='test', transform=T.ToTensor())
3、模型选择和开发
3.1、模型开发
network = paddle.vision.models.resnet18(num_classes=100)
3.2、模型可视化
model = paddle.Model(network)
model.summary((-1, 3, 32, 32))
4、模型训练和调优
4.1训练参数设置:
model.prepare(paddle.optimizer.Adam(learning_rate=0.001, parameters=model.parameters()),
paddle.nn.CrossEntropyLoss(),
paddle.metric.Accuracy(topk=(1, 5)))
上面的参数涉及的内容:
(1)、使用Adam优化器;
(2)、学习率设置;
(3)、parameters=model.parameters() 是固定写法;
(4)、损失函数采用交叉熵,分类任务使用交叉熵,回归任务有不同的设置;
(5)、准确率评估前1和前5,可根据自己需要设置。
4.2、模型训练
model.fit(train_dataset,
eval_dataset,
epochs=20,
batch_size=64,
verbose=1)
参数说明:
(1)、训练数据集;
(2)、验证数据集,评估数据集;
(3)、训练epoch数,轮次数;
(4)、每个batch的大小,每一批送进去训练样本的数量;
(5)、verbode用于标志 日志展示格式
关于paddle高层API七日打卡有同学作了非常详细的博客分享:https://blog.csdn.net/weixin_45623093