我使用pytorch训练huggingface-transformers模型,但每个时期,总是输出警告:
The current process just got forked. Disabling parallelism to avoid deadlocks... To disable this warning, please explicitly set TOKENIZERS_PARALLELISM=(true | false)
如何禁用此警告?
发布于 2020-07-03 03:37:09
将环境变量设置为字符串"false"
或者通过
TOKENIZERS_PARALLELISM=false
在你的shell中
或通过以下方式:
import os
os.environ["TOKENIZERS_PARALLELISM"] = "false"
在Python脚本中
发布于 2021-04-25 23:09:42
我将在这里留下这条评论,以帮助任何想知道是否有可能保持并行性并在训练过程中节省宝贵时间的人。还因为它是直接在Google上搜索错误时的第一个stackoverflow页面。
根据这个comment on github,FastTokenizers似乎是问题所在。此外,根据another comment on gitmemory 的说法,在派生process. (这基本上意味着在迭代数据加载器之前)之前,不应该使用标记器。
因此,解决方案是在训练/微调或使用普通令牌化器之前不要使用FastTokenizers。
查看huggingface文档,看看你是否真的需要FastTokenizer。
发布于 2020-07-02 20:40:07
我通过将huggingface的transfomers库版本从3.0.0降级到2.11.0,将tokenizer库版本从0.8.0rc4降级到0.7.0,解决了这个问题。
这似乎是huggingface的tokenizer库版本"0.8.0rc4“的问题。目前,似乎没有将TOKENIZERS_PARALLELISM=(true | false)设置为错误消息的解决方案。
参考:https://github.com/ThilinaRajapakse/simpletransformers/issues/515
https://stackoverflow.com/questions/62691279
复制相似问题