Skip to content

Latest commit

 

History

History
163 lines (137 loc) · 4.38 KB

README_CN.md

File metadata and controls

163 lines (137 loc) · 4.38 KB

Paddle-Image-Models

GitHub forks GitHub Repo stars Pypi Downloads GitHub release (latest by date including pre-releases) GitHub

English | 简体中文

一个基于飞桨框架实现的图像预训练模型库。

模型库
CNN Transformer MLP

安装

使用方法

快速使用

import paddle
from ppim import rednet_26

# 使用 PPIM whl 包加载模型
model, val_transforms = rednet_26(pretrained=True, return_transforms=True)

# 使用 paddle.hub API 加载模型
# paddlepaddle >= 2.1.0
'''
model, val_transforms = paddle.hub.load(
    'AgentMaker/Paddle-Image-Models:dev', 
    'rednet_26', 
    source='github', 
    force_reload=False, 
    pretrained=True, 
    return_transforms=True
)
'''

# 模型结构总览 
paddle.summary(model, input_size=(1, 3, 224, 224))

# 准备一个随机的输入
x = paddle.randn(shape=(1, 3, 224, 224))

# 模型前向计算
out = model(x)

分类(PaddleHapi)

import paddle
import paddle.nn as nn
import paddle.vision.transforms as T
from paddle.vision import Cifar100

from ppim import rexnet_1_0

# 加载模型
model, val_transforms = rexnet_1_0(pretrained=True, return_transforms=True, class_dim=100)

# 使用飞桨高层 API Model
model = paddle.Model(model)

# 配置优化器
opt = paddle.optimizer.Adam(learning_rate=0.001, parameters=model.parameters())

# 配置损失函数
loss = nn.CrossEntropyLoss()

# 配置评估指标
metric = paddle.metric.Accuracy(topk=(1, 5))

# 模型准备
model.prepare(optimizer=opt, loss=loss, metrics=metric)

# 配置训练集数据处理
train_transforms = T.Compose([
    T.Resize(256, interpolation='bicubic'),
    T.RandomCrop(224),
    T.ToTensor(),
    T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])

# 加载 Cifar100 数据集
train_dataset = Cifar100(mode='train', transform=train_transforms, backend='pil')
val_dataset = Cifar100(mode='test',  transform=val_transforms, backend='pil')

# 模型微调
model.fit(
    train_data=train_dataset, 
    eval_data=val_dataset, 
    batch_size=256, 
    epochs=2, 
    eval_freq=1, 
    log_freq=1, 
    save_dir='save_models', 
    save_freq=1, 
    verbose=1, 
    drop_last=False, 
    shuffle=True,
    num_workers=0
)

联系我们

Email : [email protected]
QQ群 : 1005109853