mltu icon indicating copy to clipboard operation
mltu copied to clipboard

Epoch 51: early stopping

Open Zain-ul-abdin0 opened this issue 2 years ago • 8 comments

Hi! Model ended training with Epoch 51: early stopping . I am training with dataset 1040 images? I am training with my 1040 labled images given below but when I try to predict text it shows empty string. Code :: image = cv2.imread('./6wf4ef.jpg') prediction_text = model.predict(image) // return empty string print(f"Predicted Text: {prediction_text}") 2a4m2e 2a5bpc 2a8722 2d8dny 2de8g

2a2gn2

Prediction is Empty like this : image

Zain-ul-abdin0 avatar Aug 05 '23 18:08 Zain-ul-abdin0

your code doesn't match image, not clear what is model

pythonlessons avatar Aug 06 '23 10:08 pythonlessons

This trained model is not predicting my images sir.

show your code, how you do this prediction, because I can't tell why without code...

pythonlessons avatar Aug 06 '23 10:08 pythonlessons

when I run train.py, it stopped training after sometime and give this message Epoch 51: early stopping and after that when I try to predict image. it did not predict. Below 3 lines I added, it worked with different data set nut not with this.

import cv2 import typing import numpy as np

from mltu.inferenceModel import OnnxInferenceModel from mltu.utils.text_utils import ctc_decoder, get_cer

class ImageToWordModel(OnnxInferenceModel): def init(self, char_list: typing.Union[str, list], *args, **kwargs): super().init(*args, **kwargs) self.char_list = char_list

def predict(self, image: np.ndarray): image = cv2.resize(image, self.input_shape[:2][::-1])

image_pred = np.expand_dims(image, axis=0).astype(np.float32)

preds = self.model.run(None, {self.input_name: image_pred})[0]

text = ctc_decoder(preds, self.char_list)[0]

return text

if name == "main": import pandas as pd from tqdm import tqdm from mltu.configs import BaseModelConfigs

configs = BaseModelConfigs.load("./Models/02_captcha_to_text/202308060003/configs.yaml") model = ImageToWordModel(model_path=configs.model_path, char_list=configs.vocab)

df = pd.read_csv("./Models/02_captcha_to_text/202308060003/val.csv").values.tolist()

accum_cer = []

for image_path, label in tqdm(df):

image = cv2.imread(image_path)

prediction_text = model.predict(image)

cer = get_cer(prediction_text, label)

print(f"Image: {image_path}, Label: {label}, Prediction: {prediction_text}, CER: {cer}")

accum_cer.append(cer)

image = cv2.imread('./6wf4ef.jpg') prediction_text = model.predict(image) print(f"Predicted Text: {prediction_text}")

Zain-ul-abdin0 avatar Aug 06 '23 11:08 Zain-ul-abdin0

what was your CER while training model on validation data, I think your model was not trained

pythonlessons avatar Aug 07 '23 06:08 pythonlessons

is your model is able to be train from this data below , and if I share path to my labeled folder. May you please train your model on my data.

2a8722

Zain-ul-abdin0 avatar Aug 08 '23 14:08 Zain-ul-abdin0

Yes, I can train you a model for $$. Otherwise, I can't train a model for everyone. If you are interested write me an email to [email protected]

pythonlessons avatar Aug 08 '23 14:08 pythonlessons

I can give you $$ but how much? I need to crack all images of this type.

zainulabdinsystems avatar Aug 11 '23 06:08 zainulabdinsystems

hello, were u able to eventually fix this?

ghost avatar Sep 20 '24 09:09 ghost