当我在图像字幕任务中运行此代码时出现错误:
trainer = Seq2SeqTrainer(
tokenizer=feature_extractor,
model=model,
args=training_args,
compute_metrics=compute_metrics,
train_dataset=train_dataset,
eval_dataset=val_dataset,
data_collator=default_data_collator,
)
trainer.train()
错误:要转换为 PIL 图像的图像包含 [0, 1] 范围之外的值,得到 [-0.9764705896377563, 0.9686274528503418],无法转换为 uint8。
虽然我在这里将 numpy 数组转换为张量:
transforms1 = torchvision.transforms.Compose([torchvision.transforms.Resize(config.IMG_SIZE),
torchvision.transforms.ToTensor(),
torchvision.transforms.Normalize(
mean=0.5,
std=0.5)])
df= pd.read_csv("/content/drive/MyDrive/captions.txt")
train_df , val_df = train_test_split(df , test_size = 0.2)
df.head()
如何解决这个问题?
我不知道你在做什么,因为你的代码不完整,但是如果你的值在-1..+1范围内,并且需要在0..255范围内,你将需要缩放它们,像这样的:
V = ((V + 1.0) * 255/2).astype(np.uint8)