move files
parent
f6da3bd60a
commit
920a44b0ce
dataset/flowers102
deploy/slim/quant
docs/zh_CN
faq_series
feature_visiualization
|
@ -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)
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue