move files

pull/739/head
weishengyu 2021-05-24 11:43:47 +08:00
parent f6da3bd60a
commit 920a44b0ce
9 changed files with 23 additions and 64 deletions
dataset/flowers102
deploy/slim/quant
docs/zh_CN
faq_series
feature_visiualization

View File

@ -1,38 +0,0 @@
"""
.mat files data format
imagelabel.mat
jpg_name 1 2 3 ...
label 32 12 66 ...
setid.mat
jpg_name(10 records in a class) 24 6 100 65 32 ...
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
"""
import scipy.io
import numpy as np
import os
import sys
data_path = sys.argv[1]
imagelabels_path = './imagelabels.mat'
setid_path = './setid.mat'
labels = scipy.io.loadmat(imagelabels_path)
labels = np.array(labels['labels'][0])
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])
for id in d[sys.argv[2]]:
message = str(data_path) + "/image_" + str(id).zfill(5) + ".jpg " + str(labels[id - 1] - 1)
print(message)

View File

@ -21,7 +21,7 @@ sys.path.append(os.path.abspath(os.path.join(__dir__, '..', '..', '..')))
sys.path.append(
os.path.abspath(os.path.join(__dir__, '..', '..', '..', 'tools')))
from ppcls.modeling import architectures
from ppcls.arch import backbone
from ppcls.utils.save_load import load_dygraph_pretrain
import paddle
import paddle.nn.functional as F
@ -63,7 +63,7 @@ class Net(paddle.nn.Layer):
def main():
args = parse_args()
net = architectures.__dict__[args.model]
net = backbone.__dict__[args.model]
model = Net(net, args.class_dim, args.model)
# get QAT model

View File

@ -136,7 +136,7 @@ ResNet系列模型中相比于其他模型ResNet_vd模型在预测速度
**A**
* 可以使用自动混合精度进行训练这在精度几乎无损的情况下可以有比较明显的速度收益以ResNet50为例PaddleClas中使用自动混合精度训练的配置文件可以参考[ResNet50_fp16.yml](../../../configs/ResNet/ResNet50_fp16.yml),主要就是需要在标准的配置文件中添加以下几行
* 可以使用自动混合精度进行训练这在精度几乎无损的情况下可以有比较明显的速度收益以ResNet50为例PaddleClas中使用自动混合精度训练的配置文件可以参考[ResNet50_fp16.yml](../../../ppcls/configs/ResNet/ResNet50_fp16.yml),主要就是需要在标准的配置文件中添加以下几行
```
use_fp16: True

View File

@ -6,7 +6,7 @@
## 二、准备工作
首先需要选定研究的模型本文设定ResNet50作为研究模型将resnet.py从[模型库](../../../ppcls/modeling/architecture/)拷贝到当前目录下,并下载预训练模型[预训练模型](../../zh_CN/models/models_intro), 复制resnet50的模型链接使用下列命令下载并解压预训练模型。
首先需要选定研究的模型本文设定ResNet50作为研究模型将resnet.py从[模型库](../../../ppcls/arch/architecture/)拷贝到当前目录下,并下载预训练模型[预训练模型](../../zh_CN/models/models_intro), 复制resnet50的模型链接使用下列命令下载并解压预训练模型。
```bash
wget The Link for Pretrained Model

View File

@ -19,7 +19,7 @@ __dir__ = os.path.dirname(os.path.abspath(__file__))
sys.path.append(__dir__)
sys.path.append(os.path.abspath(os.path.join(__dir__, '..')))
from ppcls.modeling import architectures
from ppcls.arch import backbone
from ppcls.utils.save_load import load_dygraph_pretrain
import paddle
import paddle.nn.functional as F
@ -64,7 +64,7 @@ class Net(paddle.nn.Layer):
def main():
args = parse_args()
net = architectures.__dict__[args.model]
net = backbone.__dict__[args.model]
model = Net(net, args.class_dim, args.model)
load_dygraph_pretrain(
model.pre_net,

View File

@ -14,7 +14,7 @@
import argparse
import os
from ppcls.modeling import architectures
from ppcls.arch import backbone
import paddle.fluid as fluid
import paddle_serving_client.io as serving_io
@ -49,7 +49,7 @@ def create_model(args, model, input, class_dim=1000):
def main():
args = parse_args()
model = architectures.__dict__[args.model]()
model = backbone.__dict__[args.model]()
place = fluid.CPUPlace()
exe = fluid.Executor(place)

View File

@ -26,7 +26,7 @@ sys.path.append(os.path.abspath(os.path.join(__dir__, '../..')))
from ppcls.utils.save_load import load_dygraph_pretrain
from ppcls.utils import logger
from ppcls.modeling import architectures
from ppcls.arch import backbone
from utils import parse_args, get_image_list, preprocess, postprocess, save_prelabel_results
@ -36,7 +36,7 @@ def main():
place = paddle.set_device('gpu' if args.use_gpu else 'cpu')
multilabel = True if args.multilabel else False
net = architectures.__dict__[args.model](class_dim=args.class_num)
net = backbone.__dict__[args.model](class_dim=args.class_num)
load_dygraph_pretrain(net, args.pretrained_model, args.load_static_weights)
image_list = get_image_list(args.image_file)
batch_input_list = []

View File

@ -16,24 +16,22 @@ from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import os
import time
import datetime
from collections import OrderedDict
import paddle
from paddle import to_tensor
import paddle.nn as nn
import paddle.nn.functional as F
from ppcls.optimizer import LearningRateBuilder
from ppcls.optimizer import OptimizerBuilder
from ppcls.modeling import architectures
from ppcls.modeling.loss import MultiLabelLoss
from ppcls.modeling.loss import CELoss
from ppcls.modeling.loss import MixCELoss
from ppcls.modeling.loss import JSDivLoss
from ppcls.modeling.loss import GoogLeNetLoss
from ppcls.arch import backbone
from ppcls.arch.loss import MultiLabelLoss
from ppcls.arch.loss import CELoss
from ppcls.arch.loss import MixCELoss
from ppcls.arch.loss import JSDivLoss
from ppcls.arch.loss import GoogLeNetLoss
from ppcls.utils.misc import AverageMeter
from ppcls.utils import logger
from ppcls.utils import profiler
@ -57,7 +55,7 @@ def create_model(architecture, classes_num):
"""
name = architecture["name"]
params = architecture.get("params", {})
return architectures.__dict__[name](class_dim=classes_num, **params)
return backbone.__dict__[name](class_dim=classes_num, **params)
def create_loss(feeds,

View File

@ -16,7 +16,6 @@ from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import os
import time
import numpy as np
@ -27,11 +26,11 @@ import paddle
import paddle.nn.functional as F
from ppcls.optimizer.learning_rate import LearningRateBuilder
from ppcls.modeling import architectures
from ppcls.modeling.loss import CELoss
from ppcls.modeling.loss import MixCELoss
from ppcls.modeling.loss import JSDivLoss
from ppcls.modeling.loss import GoogLeNetLoss
from ppcls.arch import backbone
from ppcls.arch.loss import CELoss
from ppcls.arch.loss import MixCELoss
from ppcls.arch.loss import JSDivLoss
from ppcls.arch.loss import GoogLeNetLoss
from ppcls.utils.misc import AverageMeter
from ppcls.utils import logger, profiler
@ -95,7 +94,7 @@ def create_model(architecture, image, classes_num, config, is_train):
params["input_image_channel"] = input_image_channel
if "is_test" in params:
params['is_test'] = not is_train
model = architectures.__dict__[name](class_dim=classes_num, **params)
model = backbone.__dict__[name](class_dim=classes_num, **params)
out = model(image)
return out