import paddle
import paddle.nn.functional as F
import paddle.vision.transforms as transforms
import numpy as np
import matplotlib.pyplot as plt

print(paddle.__version__)

normalize = transforms.Normalize(
    mean=[123.675, 116.28, 103.53], std=[58.395, 57.120, 57.375], data_format='CHW')

transform = transforms.Compose([
    transforms.RandomResizedCrop(32),
    transforms.RandomHorizontalFlip(), transforms.Transpose(),
    normalize,
])

cifar10_train = paddle.vision.datasets.Cifar10(mode='train', transform=transform)
cifar10_test = paddle.vision.datasets.Cifar10(mode='test', transform=transform)
print("加载完成")

net = paddle.nn.Sequential(paddle.nn.Conv2D(in_channels=3, out_channels=32, kernel_size=(3, 3)),
                           paddle.nn.MaxPool2D(kernel_size=2, stride=2),

                           paddle.nn.Conv2D(in_channels=32, out_channels=64, kernel_size=(3, 3)),
                           paddle.nn.MaxPool2D(kernel_size=2, stride=2),

                           paddle.nn.Conv2D(in_channels=64, out_channels=64, kernel_size=(3, 3)),

                           paddle.nn.Flatten(),

                           paddle.nn.Linear(in_features=1024, out_features=64),
                           paddle.nn.Linear(in_features=64, out_features=10)
                           )

paddle.summary(net, (1, 3, 32, 32))

model = paddle.Model(net)
# 为模型训练做准备,设置优化器,损失函数和精度计算方式
model.prepare(paddle.optimizer.Adam(learning_rate=0.001, parameters=model.parameters()),
              paddle.nn.CrossEntropyLoss(),
              paddle.metric.Accuracy())
# visualdl = paddle.callbacks.VisualDL(log_dir='visualdl_log')
model.fit(cifar10_train,
          epochs=10,
          shuffle=True,  # 是否打乱样本集
          batch_size=32,
          verbose=1,
          save_dir="D:/A.python文件/车辆识别", )
result = model.evaluate(cifar10_test, verbose=1)
print(result)

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐