Hugging Face 模型 Bio_ClinicalBERT 产生 404 错误
Posted
技术标签:
【中文标题】Hugging Face 模型 Bio_ClinicalBERT 产生 404 错误【英文标题】:Hugging Face model Bio_ClinicalBERT producing 404 error 【发布时间】:2021-08-10 18:06:50 【问题描述】:我正在使用 emilyalsentzer/Bio_ClinicalBERT 的 Hugging Face 实现构建命名实体识别 (NER) 模型。直到今天,我对模型没有任何问题。我希望有人可以帮助我理解为什么它目前没有按预期工作。
问题 1 - 今天,尝试使用以下方法进行训练:
MODEL_NAME = 'emilyalsentzer/Bio_ClinicalBERT'
model = text.sequence_tagger('bilstm-bert', preproc, bert_model=MODEL_NAME)
导致此错误: 404 客户端错误:找不到 url:https://huggingface.co/emilyalsentzer/Bio_ClinicalBERT/resolve/main/tf_model.h5
Hugging Face 是否提供任何类型的健康检查来确定其模型的状态?
问题 2 - 使用我从早期训练迭代中保存的文件(model.h5、model.json 和 preproc.sav),我得到了与上面显示的相同的 404 错误。我不明白这些文件在哪里发生了对 Hugging Face 的调用。它似乎不在 .json 中,而且 .h5 和 .sav 文件格式很难检查。阅读更多关于这些文件是什么的信息: https://medium.com/analytics-vidhya/how-to-deploy-your-neural-network-model-using-ktrain-ae255b134c77
早在 2 月份,我就使用这些确切的 model.h5、model.json 和 preproc.sav 文件来使用 Streamlit 运行 NER 应用程序,没问题。不确定这是否是 Bio_ClinicalBERT 的临时问题,或者由于此变压器模型可能存在永久性问题,我是否需要重新调整我的原始方法。
【问题讨论】:
【参考方案1】:根据您为问题 1 提供的 URL,我了解到您正在尝试为 TensorFlow 模型 (tf_model.h5) 加载预训练的权重
但是,the pre-trained model you are trying to load 仅在 PyTorch 版本中可用。继续链接并查看页面顶部的标签。这个模型只有 PyTorch 标签,没有 Tensorflow 标签。
据我了解,在这种情况下,您应该从 PyTorch 检查点加载预训练的权重。为此,您可以将此参数添加到执行加载的函数中:
from_pt=True
【讨论】:
【参考方案2】:正如 ktrain 存储库中的 this post 中所述,您应该能够安全地忽略该错误。
404 错误仅表示 transformers 无法找到该特定模型的 Tensorflow 版本(ktrain 正在请求该模型)。如果您访问 Hugging Face 模型中心,您会看到您使用的模型仅作为 PyTorch 模型上传。
在这种情况下,模型检查点的 PyTorch 版本将由 ktrain 自动下载,然后作为 TensorFlow 模型加载以进行训练/微调。如果输入model.summary()
,应该会显示模型加载成功。
我认为您之前没有看到该错误的原因是因为较新版本的 Hugging Face 转换器显示 404 错误。
【讨论】:
以上是关于Hugging Face 模型 Bio_ClinicalBERT 产生 404 错误的主要内容,如果未能解决你的问题,请参考以下文章
查看 Hugging Face Sagemaker 模型的训练错误指标
Hugging Face H5 加载模型错误:在配置文件中找不到模型