程序报错之下载大模型到本地

Traceback (most recent call last):
  File "/home/linzhi/code/case7.py", line 20, in <module>
    processor = MedCLIPProcessor()
  File "/home/linzhi/anaconda3/envs/linzhi/lib/python3.10/site-packages/medclip/dataset.py", line 151, in __init__
    tokenizer = AutoTokenizer.from_pretrained(constants.BERT_TYPE)
  File "/home/linzhi/anaconda3/envs/linzhi/lib/python3.10/site-packages/transformers/models/auto/tokenization_auto.py", line 692, in from_pretrained
    config = AutoConfig.from_pretrained(
  File "/home/linzhi/anaconda3/envs/linzhi/lib/python3.10/site-packages/transformers/models/auto/configuration_auto.py", line 1007, in from_pretrained
    config_dict, unused_kwargs = PretrainedConfig.get_config_dict(pretrained_model_name_or_path, **kwargs)
  File "/home/linzhi/anaconda3/envs/linzhi/lib/python3.10/site-packages/transformers/configuration_utils.py", line 620, in get_config_dict
    config_dict, kwargs = cls._get_config_dict(pretrained_model_name_or_path, **kwargs)
  File "/home/linzhi/anaconda3/envs/linzhi/lib/python3.10/site-packages/transformers/configuration_utils.py", line 675, in _get_config_dict
    resolved_config_file = cached_file(
  File "/home/linzhi/anaconda3/envs/linzhi/lib/python3.10/site-packages/transformers/utils/hub.py", line 468, in cached_file
    raise EnvironmentError(

OSError: We couldn't connect to 'https://huggingface.co' to load this file, couldn't find it in the cached files and it looks like emilyalsentzer/Bio_ClinicalBERT is not the path to a directory containing a file named config.json.
Checkout your internet connection or see how to run the library in offline mode at 'https://huggingface.co/docs/transformers/installation#offline-mode'.

huggingface下载模型emilyalsentzer/Bio_ClinicalBERT的config.json和pytorch_model.bin以及vocab.txt到本地,打包成一个文件夹model,把model文件夹放到服务器下的/home/linzhi/anaconda3/envs/linzhi/lib/python3.10/site-packages/medclip下,源码改成如下

# tokenizer = AutoTokenizer.from_pretrained(constants.BERT_TYPE)
tokenizer = AutoTokenizer.from_pretrained(pretrained_model_name_or_path='/home/linzhi/anaconda3/envs/linzhi/lib/python3.10/site-packages/medclip/model')

修改后记得上传到服务器上

参考链接
https://discuss.huggingface.co/t/how-to-load-model-without-pretrained-weight/34155

【相关推荐】



  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/850999
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:如何把镜像站的资源弄到本地
  • 您还可以看一下 夏曹俊老师的网络小说抓取软件的设计与研发——来自企业开发实践经验课程中的 乱码问题本质剖析与本地化演示小节, 巩固相关知识点
  • 除此之外, 这篇博客: 本地连接虚拟机数据库或远程数据库中的 虚拟机的相关设置 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 首先虚拟机的网络连接设置为桥接模式

    • 在虚拟机的系统中看是否有网络,能不能上网
    • 在虚拟机系统中ping本地的ip看是否连通
    • 确保虚拟机的mysql可以登录
    • 关闭虚拟机系统中的防火墙,或者将3306端口允许通过防火墙
      netstat -apn|grep 3306,如果显示的是 127.0.0.1:3306,注释 /etc/mysql/mysql.conf.d/mysqld.cnf 中的 bind-adress 127.0.0.1,然后 service mysql restart 重启msyql,再次 netstat -apn|grep 3306,如果显示的是:::3306就可以了
      一定要关闭防火墙,确认防火墙是关闭的,
    • 修改虚拟机数据库中可以远程登录的权限,(最好本地的数据库和远程的数据库都设置相应的远程登录权限)
      ————–方法一:use mysql;update user set host='%' where user='root'; 
      ————–方法二:grant all privileges on *.* to 'root'@'%' identififed by '密码' with grant option; 
      ————–做完后:flush privileges; 刷新权限
    • 开启防火墙端口
      sudo /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT 开启端口
      service iptables save 保存配置

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^