问题描述
在服务器上加载BLIP模型的模型权重Salesforce/blip-image-captioning-base
时遇到无法访问huggingface网站的问题,分析其原因为国内访问外网受限。
import requests
from PIL import Image
from transformers import BlipProcessor, BlipForConditionalGeneration
processor = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-base")
model = BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-base").to("cuda")
...
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 Salesforce/blip-image-captioning-base is not the path to a directory containing a file named preprocessor_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'.
解决方案
1、提前离线下载好对应模型的权重等相关文件。
2、整理下载的相关文件,将其放到与huggingface网站存放名相同的文件夹下。
3、将整理好的文件夹上传到服务器。
这里使用的终端工具为WindTerm
4、修改源代码中模型权重的加载信息,替换为服务器上的相应文件夹的位置。
import requests
from PIL import Image
from transformers import BlipProcessor, BlipForConditionalGeneration
processor = BlipProcessor.from_pretrained("/home/ubuntu/multimodal-consistency/blip-image-captioning-base")
model = BlipForConditionalGeneration.from_pretrained("/home/ubuntu/multimodal-consistency/blip-image-captioning-base").to("cuda")
...
模型成功给出图片描述: