pytorchOCR之参数篇

pytorchOCR之参数

文本检测篇

以det_DB_mobilev3.yaml为例,其余类似:

  • base部分
参数解释
gpu_id:设置gpu,可设置单个或多个例如 ‘0’ 或者‘0,1,2,3’
algorithm指定算法名称,例如DB,PSE
pretrained是否加载预训练模型,True or False
in_channels指定每个尺度的inchannel 例如这里mobilev3是[24, 40, 48, 96]
inner_channels指定DB模块的channel,这里mobilev3是96
k可微分二值化函数的一个参数,50
adaptive:是否使用可微分二值化,训练的时候是True,测试为False
crop_shape训练图片crop的大小,[640,640]
shrink_ratio文本向内收缩的比率,0.4
n_epoch训练的总共epoch数目,1200
start_val开始做验证的epoch数目,如果你不想做验证或没有验证集,可设置其大n_epoch.400
show_step多少次迭代之后显示一次loss,20
checkpoints:log以及模型和验证数据测试结果保存的位置,./checkpoint
save_epoch设置多少个epoch保存一次模型,100
restore是否恢复训练,这里作为断点恢复作用,可以从上次断掉的epoch开始接着训练,True
restore_file恢复训练所需要的上次保存的模型文件
  • trainload部分
参数解释
function调用的文件和函数名称,用来配置调用函数所用
train_file:训练的文件
num_workers:训练加载数据时的num_workers,也不是越大越好,设置合适可以加快训练
batch_size:一次迭代训练的数据批次
  • testload部分
参数解释
function调用的文件和函数名称,用来配置调用函数所用
test_file:验证的文件
test_gt_path标签文件的地址
num_workers:训练加载数据时的num_workers
batch_size:一次迭代验证的数据批次
  • testload部分
参数解释
function调用的文件和函数名称,用来配置调用函数所用
test_file:验证的文件
test_gt_path标签文件的地址
num_workers:训练加载数据时的num_workers
batch_size:一次迭代验证的数据批次
test_size做验证时图片最小边的尺寸
stride这里对应pooling使得图片缩小的倍数,一共五次,每次缩小2倍,所以是32。
  • postprocess部分
参数解释
function调用的文件和函数名称,用来配置调用函数所用
is_poly:输出框是否是多边形,设置true是指多边形(弯曲文本检测)否则为四边形框。
thresh是否为文本像素的阈值,大于这个阈值的归类为文本像素
box_thresh框的score阈值,框的score小于这个会被过滤
max_candidates:最大轮廓个数
unclip_ratio向外扩展的系数,越大得到的框越大
min_size最小文本的大小,用来过滤过小的文本
  • infer部分
参数解释
model_path测试时加载的模型文件
path:输入为测试图片或文件夹
save_path测试结果保存的位置

文本检识别篇

以rec_CRNN_ori.yaml为例

  • base部分
参数解释
gpu_id:设置gpu,可设置单个或多个例如 ‘0’ 或者‘0,1,2,3’
algorithm指定算法名称,CRNN
pretrained是否加载预训练模型,True or False
in_channelsCNN部分的最后输出的channel
hiddenchannellstm的隐藏层个数
img_shape训练时图片的大小,[32,200]
is_gray:是否把训练图片转换成灰度图训练
use_conv最后一层(类别层)是否用卷积输出
use_attention是否使用attention,这里参照了mobilev3的attention方式,对cnn卷积最后一层做。(然而并没有什么用)
use_lstm是否使用lstm,及是否使用rnn
lstm_numlstm的个数,配合上面使用
classes分类文字的类别数,这里其实可以拿掉了,代码中类别数已经根据key.txt提取,不用设置了,这里随便设为1000
n_epoch:训练的总epoch数
start_val开始做验证的epoch数目,如果你不想做验证或没有验证集,可设置其大n_epoch.400
show_step多少次迭代之后显示一次loss,20
checkpoints:log以及模型和验证数据测试结果保存的位置,./checkpoint
save_epoch设置多少个epoch保存一次模型
show_num做验证时显示识别结果的个数,主要用来查看识别效果
save_epoch设置多少个epoch保存一次模型,100
restore是否恢复训练,这里作为断点恢复作用,可以从上次断掉的epoch开始接着训练,True
finetune是否为finetune,这个参数主要为了区分训练是否从0 epoch开始,当restore和它一起为true,epoch从0开始,否则当它为false,epoch从上次断掉的开始接着训练。
restore_file恢复训练所需要的上次保存的模型文件
  • loss部分
参数解释
function调用的文件和函数名称,用来配置调用函数所用
reduction:ctcloss计算以什么形式。
center_function作用同function,是centerloss的调用
use_center是否使用centerloss优化训练,这里注意,centerloss只能在你已经训练好一个较好的模型的基础上优化训练,不能从头训练,也就是说你要加载之前ctcloss训练好的最优模型,以finetune的形式接着训练
center_lr:center聚类中心的初始学习率
label_score这里用来选取centerloss训练的label的的阈值,大于这个阈值的label才会被选入训练
weight_centercenterloss在的分配的loss权重系数

其余的参数和检测是一样的。

  • 重点提示,有些参数是要根据你们数据集不同进行更改的,就比如说n_epoch,
    schedule等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值