未验证 提交 a0514aad 编写于 作者: D dyning 提交者: GitHub

Merge pull request #48 from cuicheng01/master

更改一点格式等小问题
import scipy.io
import numpy as np
import os
import sys
""".mat files data format
"""
.mat files data format
imagelabel.mat
jpg_name 1 2 3 ...
label 32 12 66 ...
......@@ -14,14 +10,19 @@ label 4 ...
"""
"""
Usage:
python generate_flower_list.py prefix_folder mode
python generate_flower_list.py jpg train > train_list.txt
python generate_flower_list.py jpg valid > val_list.txt
python generate_flower_list.py prefix_folder mode
python generate_flower_list.py jpg train > train_list.txt
python generate_flower_list.py jpg valid > val_list.txt
"""
import scipy.io
import numpy as np
import os
import sys
data_path = sys.argv[1]
imagelabels_path='./imagelabels.mat'
setid_path='./setid.mat'
imagelabels_path = './imagelabels.mat'
setid_path = './setid.mat'
labels = scipy.io.loadmat(imagelabels_path)
labels = np.array(labels['labels'][0])
......@@ -30,8 +31,8 @@ setid = scipy.io.loadmat(setid_path)
d = {}
d['train'] = np.array(setid['trnid'][0])
d['valid'] = np.array(setid['valid'][0])
d['test']=np.array(setid['tstid'][0])
d['test'] = np.array(setid['tstid'][0])
for id in d[sys.argv[2]]:
message = str(data_path)+"/image_"+str(id).zfill(5)+".jpg "+str(labels[id-1])
message = str(data_path) + "/image_" + str(id).zfill(5) + ".jpg " + str(labels[id - 1] - 1)
print(message)
# 开始使用
---
请事先参考[安装指南](install.md)配置运行环境
有关模型库的基本信息请参考[README](https://github.com/PaddlePaddle/PaddleClas/blob/master/README.md)
有关模型库的基本信息请参考[README](https://github.com/PaddlePaddle/PaddleClas/blob/master/README.md)
## 一、设置环境变量
......@@ -16,7 +16,7 @@ export PYTHONPATH=path_to_PaddleClas:$PYTHONPATH
PaddleClas 提供模型训练与评估脚本:tools/train.py和tools/eval.py
### 2.1 模型训练
以flower102数据为例按如下方式启动模型训练,flower数据集准备请参考[数据集准备](./data.md)
以flower102数据为例按如下方式启动模型训练,flower数据集准备请参考[数据集准备](./data.md)
```bash
# PaddleClas通过launch方式启动多卡多进程训练
......@@ -35,7 +35,7 @@ python -m paddle.distributed.launch \
epoch:0 train step:13 loss:7.9561 top1:0.0156 top5:0.1094 lr:0.100000 elapse:0.193
```
可以通过添加-o参数来更新配置
可以通过添加-o参数来更新配置
```bash
python -m paddle.distributed.launch \
......@@ -57,13 +57,13 @@ epoch:0 train step:522 loss:1.6330 lr:0.100000 elapse:0.210
### 2.3 模型微调
以ResNet50_vd和ResNet50_vd_ssld预训练模型对flower102数据集进行微调
以ResNet50_vd和ResNet50_vd_ssld预训练模型对flower102数据集进行微调
ResNet50_vd: 在ImageNet1k数据集上训练 top1 acc:79.1% 模型详细信息参考[模型库](https://paddleclas.readthedocs.io/zh_CN/latest/models/ResNet_and_vd.html)
ResNet50_vd: 在ImageNet1k数据集上训练 top1 acc:79.1% 模型详细信息参考[模型库](https://paddleclas.readthedocs.io/zh_CN/latest/models/ResNet_and_vd.html)
ResNet50_vd_ssld: 在ImageNet1k数据集训练的蒸馏模型 top1: 82.4% 模型详细信息参考[模型库](https://paddleclas.readthedocs.io/zh_CN/latest/models/ResNet_and_vd.html)
ResNet50_vd_ssld: 在ImageNet1k数据集训练的蒸馏模型 top1: 82.4% 模型详细信息参考[模型库](https://paddleclas.readthedocs.io/zh_CN/latest/models/ResNet_and_vd.html)
flower数据集相关信息参考[数据文档](data.md)
flower数据集相关信息参考[数据文档](data.md)
指定pretrained_model参数初始化预训练模型
ResNet50_vd:
......@@ -73,7 +73,7 @@ python -m paddle.distributed.launch \
--selected_gpus="0" \
tools/train.py \
-c ./configs/finetune/ResNet50_vd_finetune.yaml
-o pretrained_model= ResNet50_vd预训练模型
-o pretrained_model=path_to_ResNet50_vd_pretrained_models
```
ResNet50_vd_ssld:
......@@ -83,12 +83,12 @@ python -m paddle.distributed.launch \
--selected_gpus="0" \
tools/train.py \
-c ./configs/finetune/ResNet50_vd_ssld_finetune.yaml
-o pretrained_model= ResNet50_vd_ssld预训练模型
-o pretrained_model=path_to_ResNet50_vd_ssld_pretrained_models
```
在使用ResNet50_vd预训练模型对flower102数据进行模型微调后,top1 acc 达到 92.71%
在使用ResNet50_vd_ssld预训练模型对flower102数据进行模型微调后,top1 acc 达到94.96%
在使用ResNet50_vd预训练模型对flower102数据进行模型微调后,top1 acc 达到 92.71%
在使用ResNet50_vd_ssld预训练模型对flower102数据进行模型微调后,top1 acc 达到94.96%
### 2.2 模型评估
......@@ -104,7 +104,7 @@ python tools/eval.py \
## 三、模型推理
PaddlePaddle提供三种方式进行预测推理,接下来介绍如何用预测引擎进行推理:
首先,对训练好的模型进行转换
首先,对训练好的模型进行转换
```bash
python tools/export_model.py \
-model=模型名字 \
......@@ -112,7 +112,7 @@ python tools/export_model.py \
-output_path=预测模型保存路径
```
之后,通过预测引擎进行推理
之后,通过预测引擎进行推理
```bash
python tools/infer/predict.py \
-m model文件路径 \
......@@ -121,4 +121,4 @@ python tools/infer/predict.py \
--use_gpu=1 \
--use_tensorrt=True
```
更多使用方法和推理方式请参考[分类预测框架](../extension/paddle_inference.md)
更多使用方法和推理方式请参考[分类预测框架](../extension/paddle_inference.md)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册