最近在搞condition generation的项目,主要是参考Stable Diffusion的模型架构,按照甲方需求定制文生图模型。前期为了提进度,会导入一些预训练的模型和相关package来加速项目流程(transformers和huggingface真香)。
在使用transformers库中的一些类时(如DistilBertModel,DistilBertTokenizer,AutoTokenizer)时,会自动从huggingface.co上下载对应模型的权重文件以及一些配置文件,如:vocab.txt,config.json。
过程中主要问题是不挂梯子连不上huggingface,挂梯子模型就跑不了。
具体解决办法是直接修改package里关于huggingface网站地址的环境配置:
路径:
/root/miniconda3/envs/sd/lib/python3.8/site-packages/huggingface_hub
(虽然不建议直接修改配置文件,但是头铁的话)直接修改constants.py:
# HUGGINGFACE_CO_URL_HOME = "https://huggingface.co/"
HUGGINGFACE_CO_URL_HOME = "https://hf-mirror.com/"
# _HF_DEFAULT_ENDPOINT = "https://huggingface.co"
_HF_DEFAULT_ENDPOINT = "https://hf-mirror.com"
把原来的huggingface.co注释掉,改成国内镜像地址:hf-mirror.com。注意两个变量后存在有无‘/’的区别。
另外,还可以把模型缓存文件的保存路径修改一下:
#HF_HOME = os.path.expanduser(
# os.getenv(
# "HF_HOME",
# os.path.join(os.getenv("XDG_CACHE_HOME", default_home), "huggingface"),
# )
#)
HF_HOME = "/root/autodl-tmp/sd/huggingface/"
方便自己整理相关的缓存文件,毕竟内存有限。