参考:https://huggingface.co/docs/transformers/installation#offline-mode

方式1 :设置环境变量

HF_HOMETRANSFORMERS_CACHE 等。

import os
# 设置所有相关的环境变量
os.environ['HF_HOME'] = '/home/nvidia/leo/huggingface'
# os.environ['TRANSFORMERS_CACHE'] = '/home/nvidia/leo/huggingface/hub'
# os.environ['HUGGINGFACE_HUB_CACHE'] = '/home/nvidia/leo/huggingface/hub'
#
# # 强制离线模式
# os.environ['TRANSFORMERS_OFFLINE'] = '1'
# os.environ['HF_HUB_OFFLINE'] = '1'
from transformers import CLIPVisionModel
# 导入之前确认路径
print(f"HF_HOME: {os.environ.get('HF_HOME')}")
print(f"TRANSFORMERS_CACHE: {os.environ.get('TRANSFORMERS_CACHE')}")

model_name = "openai/clip-vit-base-patch32"

model = CLIPVisionModel.from_pretrained(model_name, local_files_only=True)

但是实测这种方式一直不成功, 模型还是会从网上下载模型。 即使设置了所有建议的环境变量。

方式2:把模型名字参数直接换成离线下好的模型路径

from transformers import CLIPVisionModel
model_name = "/home/nvidia/leo/huggingface/hub/models--openai--clip-vit-base-patch32/snapshots/3d74acf9a28c67741b2f4f2ea7635f0aaf6f0268/"
model = CLIPVisionModel.from_pretrained(model_name)

用这种方式最后成功。

至于第一种方式为啥没有成功, 后续我会再仔细研究一下。也欢迎大家一起交流!

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐