Spaces:
Runtime error
Runtime error
import onnxruntime as onr | |
import numpy as np | |
import glob | |
import gradio as gr | |
characters = ['z', 's', 'h', 'q', 'd', 'v', '2', '7', '8', 'x', 'y', '5', 'e', 'a', 'u', '4', 'k', 'n', 'm', 'c', 'p'] | |
img_width = 130 | |
img_height = 50 | |
max_length = 7 | |
Model = onr.InferenceSession('model.onnx') | |
ModelName = Model.get_inputs()[0].name | |
def solve_task(img): | |
img = img.astype(np.float32) / 255. | |
img = img.transpose([1, 0, 2]) | |
img = np.array([img]) | |
result_tensor = Model.run(None, {ModelName: img})[0] | |
answer, accuracy = get_result(result_tensor) | |
return answer | |
def get_result(pred): | |
accuracy = 1 | |
last = None | |
ans = [] | |
for item in pred[0]: | |
char_ind = item.argmax() | |
if char_ind != last and char_ind != 0 and char_ind != len(characters) + 1: | |
ans.append(characters[char_ind - 1]) | |
accuracy *= item[char_ind] | |
last = char_ind | |
answ = "".join(ans)[:max_length] | |
return answ, accuracy | |
title = "captcha solver" | |
description = "hate captcha" | |
iface = gr.Interface(fn=solve_task, | |
inputs=gr.inputs.Image((img_width, img_height)), | |
outputs=gr.outputs.Textbox(), | |
title=title, | |
examples=glob.glob('examples/*.jfif'), | |
description=description) | |
iface.launch() |