我正在尝试微调预训练的 GPT2 模型。当应用相应的标记生成器时,我最初收到错误消息:
使用pad_token,但尚未设置。
因此,我将代码更改为:
GPT2_tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
GPT2_tokenizer.pad_token = GPT2_tokenizer.eos_token
Run Code Online (Sandbox Code Playgroud)
当调用trainer.train()后者时,我最终出现以下错误:
AssertionError:如果未定义填充标记,则无法处理批量大小 > 1。
由于我在上面具体定义了 pad_token,因此我希望这些错误(或者更确切地说,我对原始错误和这个新错误的修复)是相关的 - 尽管我可能是错的。这是 eos_token 和 pad_token 以某种方式干扰的已知问题吗?有简单的解决方法吗?
多谢!
我目前正在尝试在 python 中使用 sklearn 训练线性模型,但不使用均方误差 (MSE) 作为误差度量 - 但使用平均绝对误差 (MAE)。我特别需要一个带有 MAE 的线性模型,这是我大学教授的要求。
我已经研究了sklearn.linear_model.LinearRegression,因为它是一个 OLS 回归器,它不提供替代错误度量。
因此,我检查了其他可用的回归器并偶然发现了sklearn.linear_model.HuberRegressor和sklearn.linear_model.SGDRegressor。他们都提到 MAE 作为他们错误度量的一部分 - 但似乎没有提供简单的 MAE。有没有办法为这些回归量之一选择参数,以便得到的误差度量是一个简单的 MAE?或者我忽略了 sklearn 中的另一个回归器?
或者,是否有另一个(易于使用)python 3.X 包提供我需要的东西?
谢谢你的帮助!