You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tesseract希伯来语新字体训练问题:指定训练命令不被支持

解决Tesseract训练命令不支持的问题(针对Rashi字体)

问题背景

已完成以下操作:

  • 克隆tesseract和tesstrain项目
  • 添加希伯来语训练文本文件
  • 成功运行生成训练图像的Python脚本
  • 执行训练命令时提示不被支持,原命令如下:
TESSDATA_PREFIX=../tesseract/tessdata make training MODEL_NAME=Apex START_MODEL= eng TESSDATA=../tesseract/tessdata MAX_ITERATIONS=10000

目标是为Rashi字体完成Tesseract模型训练。

命令错误分析与修正

原命令存在语法错误:START_MODEL= eng中等号和eng之间多了空格,导致参数解析失败。此外,MODEL_NAME建议设置为与希伯来语相关的名称(比如heb_rashi),更符合训练场景。

修正后的训练命令

TESSDATA_PREFIX=../tesseract/tessdata make training MODEL_NAME=heb_rashi START_MODEL=eng TESSDATA=../tesseract/tessdata MAX_ITERATIONS=10000

关键注意事项

  • 确保当前终端工作目录是tesstrain项目的根目录,否则路径(../tesseract/tessdata)会失效
  • 确认tesseract/tessdata目录下存在eng.traineddata(作为起始模型)和heb.traineddata(如果有基础希伯来语模型的话)
  • 检查系统是否安装了训练所需依赖:Leptonica、ImageMagick(text2image依赖)

生成训练图像的Python脚本(中文注释版)

import os
import random
import pathlib
import subprocess

# 希伯来语训练文本路径
training_text_file = 'langdata/heb.training_text'

lines = []

# 以UTF-8编码读取训练文本
with open(training_text_file, 'r', encoding='utf-8') as input_file:
    for line in input_file.readlines():
        lines.append(line.strip())

# 训练图像与标注文件的输出目录
output_directory = 'tesstrain/data/Rashi-ground-truth'

# 创建目录(如果不存在)
if not os.path.exists(output_directory):
    os.mkdir(output_directory)

# 打乱文本行顺序
random.shuffle(lines)

# 选取前81行生成训练样本
count = 81
lines = lines[:count]

line_count = 0
for line in lines:
    # 生成每行文本的标注文件
    training_text_file_name = pathlib.Path(training_text_file).stem
    line_training_text = os.path.join(output_directory, f'{training_text_file_name}_{line_count}.gt.txt')
    with open(line_training_text, 'w', encoding='utf-8') as output_file:
        output_file.writelines([line])

    # 生成图像文件的基础名称
    file_base_name = f'heb_{line_count}'

    # 调用text2image生成带指定字体的训练图像
    subprocess.run([
        'text2image',
        '--font=Mekorot-Rashi Medium',  # 指定目标Rashi字体
        f'--text={line_training_text}',
        f'--outputbase={output_directory}/{file_base_name}',
        '--max_pages=1',
        '--strip_unrenderable_words',  # 移除无法渲染的字符
        '--leading=32',  # 行间距
        '--xsize=3600',  # 图像宽度
        '--ysize=480',  # 图像高度
        '--char_spacing=1.0',  # 字符间距
        '--exposure=0',  # 曝光度
        '--unicharset_file=langdata/heb.unicharset'  # 希伯来语字符集文件
    ])

    line_count += 1

内容的提问来源于stack exchange,提问作者Solomon P Byer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 22:10:31