在使用自定义训练时,我在训练和验证过程中的准确率大约为90%,但当我测试自定义模型时,我的准确率显示低于5%。
你能提供使用自定义训练的步骤吗?我正在使用"https://www.youtube.com/watch?v=-j3TbyceShY&t=207s"中提供的步骤。
此外,在进行了20,000次迭代后,我应该如何使用已训练的权重重新训练另外20,000次?也就是说,我应该如何使用这个或其他预训练权重进行迁移学习?
该仓库没有明确说明这一点。
在使用自定义训练时,我在训练和验证过程中的准确率大约为90%,但当我测试自定义模型时,我的准确率显示低于5%。
你能提供使用自定义训练的步骤吗?我正在使用"https://www.youtube.com/watch?v=-j3TbyceShY&t=207s"中提供的步骤。
此外,在进行了20,000次迭代后,我应该如何使用已训练的权重重新训练另外20,000次?也就是说,我应该如何使用这个或其他预训练权重进行迁移学习?
该仓库没有明确说明这一点。
3条答案
按热度按时间jfewjypa1#
要使用预训练或最后微调的模型,请将预训练或最后微调的模型放在
trainer/saved_models
文件夹中,并将en_filtered_config.yaml
文件中提到的模型路径添加到saved_model: '' #'saved_models/en_filtered/iter_300000.pth'
。easyocr/config.py
文件中提到的recognition_models
URL下载模型。如果要训练gen1模型,请根据需求更改参数。
optim: adam / adadelta
lr : # Make is small like < 0.001
FeatureExtraction : VGG / ResNet
input_channel: 1
output_channel: 512
hidden_size: 512
new_prediction: False
freeze_FeatureFxtraction: False # To freeze VGG/ ResNet weights
freeze_SequenceModeling: False # To freeze BiLSTM weights
characters: # Mention exact character_list found in recognition_models dictionary
5lhxktic2#
要使用预训练或最后微调的模型,请将预训练或最后微调的模型添加到
trainer/saved_models
文件夹中,并将en_filtered_config.yaml
文件中提到的模型路径添加到saved_model: '' #'saved_models/en_filtered/iter_300000.pth'
。easyocr/config.py
文件中提到的识别模型URL下载模型。如果您想训练 gen1 模型,请根据需求更改参数。
recognition_models 字典:https://github.com/JaidedAI/EasyOCR/blob/c999505ef6b43be1c4ee36aa04ad979175178352/easyocr/config.py#L53C1-L53C18
谢谢!当我从预训练模型训练时,我能添加新符号吗?拉丁模型有一个但我们文档中广泛看到的是 o。
mu0hgdu03#
不,你不能向预训练模型中添加新的符号,因为这会导致最后一层的激活数不匹配,从而引发错误。我对此不确定,但你可以尝试更改
new_prediction: True
参数,并在配置文件中将新字符添加到characters:
。关于模型初始化的代码链接供参考:https://github.com/JaidedAI/EasyOCR/blob/c999505ef6b43be1c4ee36aa04ad979175178352/trainer/train.py#L71C9-L81C101