Describe the bug个 我使用的模型(TrOCR模型):
在使用以下选项时会出现问题:
- [X]官方示例脚本:由NICE教程(fine_tune)@NielsRogge完成
- [X]我自己修改的脚本:(如下脚本所示)
processor = TrOCRProcessor.from_pretrained("microsoft/trocr-large-handwritten")
class Dataset(Dataset):
def __init__(self, root_dir, df, processor, max_target_length=128):
self.root_dir = root_dir
self.df = df
self.processor = processor
self.max_target_length = max_target_length
def __len__(self):
return len(self.df)
def __getitem__(self, idx):
# get file name + text
file_name = self.df['file_name'][idx]
text = self.df['text'][idx]
# prepare image (i.e. resize + normalize)
image = Image.open(self.root_dir + file_name).convert("RGB")
pixel_values = self.processor(image, return_tensors="pt").pixel_values
# add labels (input_ids) by encoding the text
labels = self.processor.tokenizer(text,
padding="max_length",
max_length=self.max_target_length).input_ids
# important: make sure that PAD tokens are ignored by the loss function
labels = [label if label != self.processor.tokenizer.pad_token_id else -100 for label in labels]
# encoding
return {"pixel_values": pixel_values.squeeze(), "labels": torch.tensor(labels)}
model = VisionEncoderDecoderModel.from_pretrained("microsoft/trocr-large-handwritten")
model.config.decoder_start_token_id = processor.tokenizer.cls_token_id
model.config.pad_token_id = processor.tokenizer.pad_token_id
model.config.vocab_size = model.config.decoder.vocab_size
model.config.eos_token_id = processor.tokenizer.sep_token_id
# python3 train.py path/to/labels path/to/images/
- 平台:linux上的linux Ubuntu发行版[GCC 9.4.0]
- PyTorch版本(GPU?):0.8.2+cu110
- 《变形金刚:4.22.2》
- Python版本:3.8.10
对错误是什么的清晰而简明的描述. 重现这种行为的Reproduce个步骤:
- 在训练模型之后或在训练阶段判断指标计算时,我看到模型添加了令牌
<s><s>
或IDS[0,0, ......,2,1,1, 1 ]
的双开头 - 以下是
training
个阶段中的一个示例,显示在COMPUTE_METRICS中生成的标记 输入预测:[[0,0,506,4422,8046,2,1,1,1,1,1]]
输入参考:[[0,597,2747 ...,1,1,1]]
- Other examples during
testing
models []
Expected behavior对你所期望发生的事情进行清晰而简明的描述.
在2个重现的问题中:
我期待在培训期间输入预测:[[,0,,506,4422,8046,2,1,1,1,1,1 ]]
此外,在测试阶段:生成的文本没有重复
tensor([[0,11867,405,22379,1277,..........,368,2]])
个
<s>ennyit erről, tőlem fényképezz amennyit akarsz, a véleményem akkor</s>
个