Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
身在江湖的郭大侠
CnOCR
提交
3b7a4161
CnOCR
项目概览
身在江湖的郭大侠
/
CnOCR
与 Fork 源项目一致
Fork自
Cloud IDE / CnOCR
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
CnOCR
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
3b7a4161
编写于
4月 06, 2018
作者:
W
Wei Tang
提交者:
GitHub
4月 06, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update train.py
上级
b6ad4a3d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
1 addition
and
51 deletion
+1
-51
train.py
train.py
+1
-51
未找到文件。
train.py
浏览文件 @
3b7a4161
...
...
@@ -54,55 +54,5 @@ def main():
fit
(
network
=
network
,
data_train
=
data_train
,
data_val
=
data_val
,
metrics
=
metrics
,
args
=
args
,
hp
=
hp
,
data_names
=
data_names
)
def
main2
():
args
=
parse_args
()
hp
=
Hyperparams
()
if
args
.
gpu
:
contexts
=
[
mx
.
context
.
gpu
(
i
)
for
i
in
range
(
args
.
gpu
)]
else
:
contexts
=
[
mx
.
context
.
cpu
(
i
)
for
i
in
range
(
args
.
cpu
)]
init_c
=
[(
'l%d_init_c'
%
l
,
(
hp
.
batch_size
,
hp
.
num_hidden
))
for
l
in
range
(
hp
.
num_lstm_layer
*
2
)]
init_h
=
[(
'l%d_init_h'
%
l
,
(
hp
.
batch_size
,
hp
.
num_hidden
))
for
l
in
range
(
hp
.
num_lstm_layer
*
2
)]
init_states
=
init_c
+
init_h
data_names
=
[
'data'
]
+
[
x
[
0
]
for
x
in
init_states
]
data_train
=
ImageIterLstm
(
args
.
data_root
,
args
.
train_file
,
hp
.
batch_size
,
(
hp
.
img_width
,
hp
.
img_height
),
hp
.
num_label
,
init_states
,
name
=
"train"
)
data_val
=
ImageIterLstm
(
args
.
data_root
,
args
.
test_file
,
hp
.
batch_size
,
(
hp
.
img_width
,
hp
.
img_height
),
hp
.
num_label
,
init_states
,
name
=
"val"
)
head
=
'%(asctime)-15s %(message)s'
logging
.
basicConfig
(
level
=
logging
.
DEBUG
,
format
=
head
)
symbol
=
crnn_lstm
(
hp
)
module
=
mx
.
mod
.
Module
(
symbol
,
data_names
=
data_names
,
label_names
=
[
'label'
],
context
=
contexts
)
module
.
bind
(
data_shapes
=
data_train
.
provide_data
,
label_shapes
=
data_train
.
provide_label
)
metrics
=
CtcMetrics
(
hp
.
seq_length
)
module
.
fit
(
train_data
=
data_train
,
eval_data
=
data_val
,
# use metrics.accuracy or metrics.accuracy_lcs
eval_metric
=
mx
.
metric
.
np
(
metrics
.
accuracy
,
allow_extra_outputs
=
True
),
optimizer
=
'AdaDelta'
,
optimizer_params
=
{
'learning_rate'
:
hp
.
learning_rate
,
# 'momentum': hp.momentum,
'wd'
:
0.00001
,
},
initializer
=
mx
.
init
.
Xavier
(
factor_type
=
"in"
,
magnitude
=
2.34
),
num_epoch
=
hp
.
num_epoch
,
batch_end_callback
=
mx
.
callback
.
Speedometer
(
hp
.
batch_size
,
50
),
epoch_end_callback
=
mx
.
callback
.
do_checkpoint
(
args
.
prefix
),
)
if
__name__
==
'__main__'
:
main
()
\ No newline at end of file
main
()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录