Skip to content

2.0 artifacts support#10

Merged
ProblemFactory merged 2 commits into
ProblemFactory:mainfrom
shuangluoxss:main
Aug 10, 2021
Merged

2.0 artifacts support#10
ProblemFactory merged 2 commits into
ProblemFactory:mainfrom
shuangluoxss:main

Conversation

@shuangluoxss
Copy link
Copy Markdown

Add support to new artifacts in version 2.0

@ProblemFactory
Copy link
Copy Markdown
Owner

你把圣遗物名称建立了新模型的话,另外一个模型重新训练了吗?另外训练效果到了多少?

@shuangluoxss
Copy link
Copy Markdown
Author

原先的模型参数没有变,新的识别圣遗物的模型重新训练了,在训练集和测试集合上的精度都是100%,另外用我仓库里的800多张圣遗物截图测试,也没有发现名称识别错误
训练集是用generate_image函数给每个圣遗物生成了100张图片,再用OCR.preprocess处理成array作为输入;测试集是每个圣遗物5张。训练和测试的参数如下

model.compile(
        loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),
        optimizer=keras.optimizers.RMSprop(),
        metrics=["accuracy"],
    )

另外想请教一下您之前模型训练用的y是如何生成的?用char_to_num得到的y长度不固定,训练时会报错。我试着把每个y后面补0后再训练,但这样训练出的模型识别精度很低,所有连续数字都会识别为一个

@shuangluoxss
Copy link
Copy Markdown
Author

shuangluoxss commented Aug 10, 2021

另外,我在测试原先的模型时也发现了一些识别错误,不知道能否通过继续训练模型改进?复现的文件和代码如下:

import ocr
import numpy as np
from matplotlib import pyplot as plt
from matplotlib.pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']

ocr_model = ocr.OCR(scale_ratio=0.75, model_weight='mn_model_weight.h5')

labels_test = np.load('wrong_labels.npy')
imgs_test = np.load('wrong_imgs.npy')
test_x = np.transpose(imgs_test, (0, 2, 1))[:,:,:,None]
preds = ocr_model.decode(ocr_model.model.predict(test_x))

plt.figure(figsize=(16, 7))
for i in range(len(preds)):
    plt.subplot(8, 4, i+1)
    plt.imshow(imgs_test[i], cmap="gray")
    plt.title(preds[i], fontdict={'size':14}, loc='left')
    plt.axis("off")
plt.savefig('识别错误.png', bbox_inches='tight', dpi=120)

识别错误
wrong_reg.zip

@ProblemFactory
Copy link
Copy Markdown
Owner

如果把圣遗物名称单独拿出来做模型了的话,之前的模型可以只针对剩下的部分训练,理论上讲可以提高一些效果。完整的训练代码在一台目前不能用的远程工作站上,我明天去把数据复制出来。我现在先通过PR,后续重新训练一下基础模型我再发新release。

@ProblemFactory ProblemFactory merged commit 6b707e6 into ProblemFactory:main Aug 10, 2021
@ProblemFactory ProblemFactory mentioned this pull request Aug 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants