Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleClas
提交
a0514aad
P
PaddleClas
项目概览
PaddlePaddle
/
PaddleClas
1 年多 前同步成功
通知
115
Star
4999
Fork
1114
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
19
列表
看板
标记
里程碑
合并请求
6
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleClas
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
19
Issue
19
列表
看板
标记
里程碑
合并请求
6
合并请求
6
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
a0514aad
编写于
4月 20, 2020
作者:
D
dyning
提交者:
GitHub
4月 20, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #48 from cuicheng01/master
更改一点格式等小问题
上级
3d2e124f
534860f1
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
29 addition
and
28 deletion
+29
-28
dataset/flower102/generate_flower_list.py
dataset/flower102/generate_flower_list.py
+15
-14
docs/zh_CN/tutorials/getting_started.md
docs/zh_CN/tutorials/getting_started.md
+14
-14
未找到文件。
dataset/flower102/generate_flower_list.py
浏览文件 @
a0514aad
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
)
docs/zh_CN/tutorials/getting_started.md
浏览文件 @
a0514aad
# 开始使用
---
请事先参考
[
安装指南
](
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录