update multi dic and export

This commit is contained in:
tink2123 2020-12-09 11:56:37 +00:00
parent a948584ca5
commit 7eeef5933c
15 changed files with 105 additions and 45 deletions

View File

@ -1,5 +1,5 @@
Global:
use_gpu: true
use_gpu: True
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
@ -15,7 +15,7 @@ Global:
use_visualdl: False
infer_img:
# for data or label process
character_dict_path: ppocr/utils/dict/ic15_dict.txt
character_dict_path: ppocr/utils/dict/en_dict.txt
character_type: ch
max_text_length: 25
infer_mode: False

View File

@ -1,5 +1,5 @@
Global:
use_gpu: true
use_gpu: True
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
@ -19,7 +19,7 @@ Global:
character_type: french
max_text_length: 25
infer_mode: False
use_space_char: True
use_space_char: False
Optimizer:

View File

@ -1,5 +1,5 @@
Global:
use_gpu: true
use_gpu: True
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
@ -19,7 +19,7 @@ Global:
character_type: german
max_text_length: 25
infer_mode: False
use_space_char: True
use_space_char: False
Optimizer:

View File

@ -1,5 +1,5 @@
Global:
use_gpu: true
use_gpu: True
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
@ -19,7 +19,7 @@ Global:
character_type: japan
max_text_length: 25
infer_mode: False
use_space_char: True
use_space_char: False
Optimizer:

View File

@ -1,5 +1,5 @@
Global:
use_gpu: true
use_gpu: True
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
@ -19,7 +19,7 @@ Global:
character_type: korean
max_text_length: 25
infer_mode: False
use_space_char: True
use_space_char: False
Optimizer:

View File

@ -81,7 +81,7 @@ cv::Mat Classifier::Run(cv::Mat &img) {
void Classifier::LoadModel(const std::string &model_dir) {
AnalysisConfig config;
config.SetModel(model_dir + "/model", model_dir + "/params");
config.SetModel(model_dir + ".pdmodel", model_dir + ".pdiparams");
if (this->use_gpu_) {
config.EnableUseGpu(this->gpu_mem_, this->gpu_id_);

View File

@ -18,7 +18,7 @@ namespace PaddleOCR {
void DBDetector::LoadModel(const std::string &model_dir) {
AnalysisConfig config;
config.SetModel(model_dir + "/model", model_dir + "/params");
config.SetModel(model_dir + ".pdmodel", model_dir + ".pdiparams");
if (this->use_gpu_) {
config.EnableUseGpu(this->gpu_mem_, this->gpu_id_);

View File

@ -103,7 +103,7 @@ void CRNNRecognizer::Run(std::vector<std::vector<std::vector<int>>> boxes,
void CRNNRecognizer::LoadModel(const std::string &model_dir) {
AnalysisConfig config;
config.SetModel(model_dir + "/model", model_dir + "/params");
config.SetModel(model_dir + ".pdmodel", model_dir + ".pdiparams");
if (this->use_gpu_) {
config.EnableUseGpu(this->gpu_mem_, this->gpu_id_);

View File

@ -0,0 +1,63 @@
0
1
2
3
4
5
6
7
8
9
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z

View File

@ -133,3 +133,4 @@ j
Å
$
#

View File

@ -124,3 +124,4 @@ z
å
æ
é

View File

@ -4396,3 +4396,4 @@ z

View File

@ -179,7 +179,7 @@ z
с
т
я
@ -3685,3 +3685,4 @@ z

View File

@ -39,26 +39,12 @@ def parse_args():
return parser.parse_args()
class Model(paddle.nn.Layer):
def __init__(self, model):
super(Model, self).__init__()
self.pre_model = model
# Please modify the 'shape' according to actual needs
@to_static(input_spec=[
paddle.static.InputSpec(
shape=[None, 3, 640, 640], dtype='float32')
])
def forward(self, inputs):
x = self.pre_model(inputs)
return x
def main():
FLAGS = parse_args()
config = load_config(FLAGS.config)
logger = get_logger()
# build post process
post_process_class = build_post_process(config['PostProcess'],
config['Global'])
@ -71,9 +57,16 @@ def main():
init_model(config, model, logger)
model.eval()
model = Model(model)
save_path = '{}/{}'.format(FLAGS.output_path,
save_path = '{}/{}/inference'.format(FLAGS.output_path,
config['Architecture']['model_type'])
infer_shape = [3, 32, 100] if config['Architecture'][
'model_type'] != "det" else [3, 640, 640]
model = to_static(
model,
input_spec=[
paddle.static.InputSpec(
shape=[None] + infer_shape, dtype='float32')
])
paddle.jit.save(model, save_path)
logger.info('inference model is saved to {}'.format(save_path))

View File

@ -100,8 +100,8 @@ def create_predictor(args, mode, logger):
if model_dir is None:
logger.info("not find {} model file path {}".format(mode, model_dir))
sys.exit(0)
model_file_path = model_dir + "/model"
params_file_path = model_dir + "/params"
model_file_path = model_dir + ".pdmodel"
params_file_path = model_dir + ".pdiparams"
if not os.path.exists(model_file_path):
logger.info("not find model file path {}".format(model_file_path))
sys.exit(0)