WenmuZhou / PytorchOCR

基于Pytorch的OCR工具库,支持常用的文字检测和识别算法

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

crnn读取数据问题

superdu12138 opened this issue · comments

请问一下,为什么我训练时只能读到一个样本,是哪里出问题了呢

你这样问问题,我也不知道问题出在哪里。
麻烦给出详细信息。

image
也不报错,就是读到了一个样本

image
训练集txt部分截图

RecDataSet.py里试下这个?

def init(self, config):
"""
文本行 DataSet, 用于处理标注格式为 img_path\tlabel 的标注格式

    :param config: 相关配置,一般为 config['dataset']['train']['dataset] or config['dataset']['eval']['dataset]
            其主要应包含如下字段: file: 标注文件路径
                                input_h: 图片的目标高
                                mean: 归一化均值
                                std: 归一化方差
                                augmentation: 使用使用数据增强
    :return None
    """
    self.augmentation = config.augmentation
    self.process = RecDataProcess(config)
    with open(config.alphabet, 'r', encoding='utf-8') as file:
        alphabet = ''.join([s.strip('\n') for s in file.readlines()])
    alphabet = alphabet + ' '
    self.str2idx = {c: i for i, c in enumerate(alphabet)}
    #print(self.str2idx)
    self.labels = []
    with open(config.file, 'r', encoding='utf-8') as f_reader:
        for m_line in f_reader.readlines():
            m_line = m_line.replace('\r\n', '')
            m_line = m_line.replace('\r', '')
            m_line = m_line.replace('\n', '')
            params = m_line.split('\t')
            if len(params) == 2:
                m_image_name, m_gt_text = params
                #print(m_gt_text)
                flag_list = [c not in self.str2idx for c in m_gt_text]
                # t = flag_list.index(True)
                # print(m_gt_text)
                # print(t)
                # print(m_gt_text[t])
                if True in flag_list:
                    continue
                self.labels.append((m_image_name, m_gt_text))
            if len(params) == 3:
                m_image_name, m_gt_text, m_gt_language = params
                #print(m_gt_text)
                flag_list = [c not in self.str2idx for c in m_gt_text]
                # t = flag_list.index(True)
                # print(m_gt_text)
                # print(t)
                # print(m_gt_text[t])
                if True in flag_list:
                    continue
                self.labels.append((m_image_name, m_gt_text))