提交 920a44b0 编写于 作者: W weishengyu

move files

上级 f6da3bd6
"""
.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)
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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,
......
......@@ -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)
......
......@@ -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 = []
......
......@@ -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,
......
......@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册