1. 克隆源码
2. 创建虚拟环境及配置
- 创建虚拟环境
conda create -n env_clip python==3.8.10
- 进入虚拟环境
conda activate env_clip
- 安装
pytorch
pip install torch==1.10.0+cu113 torchvision==0.11.0+cu113 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html
- 安装
clip-interrogator
pip install clip-interrogator==0.6.0
- 安装
requirements.txt
库pip install -r requirements.txt
3. 下载远程相关文件
3.1 下载Salesforce相关文件失败
- 运行代码时,会访问国外的网站下载文件,导致访问失败,所以手动下载

- 解决: 下载相关文件
- 根据报错:
Salesforce/blip-image-captioning-large
失败 - 参数文件路径在:
clip-interrogator-main\clip_interrogator\clip_interrogator.py

- 这几个文件都要远程下载
- 但是我运行代码时只用到了
Salesforce/blip-image-captioning-large
,根据自己需求下载 【我全下了】 - 下载链接 【链接打不开,自己想办法】
- 在根目录创建:
config_data
文件夹,将下载的文件放在里面

- 修改目录地址文件
clip-interrogator-main\clip_interrogator\clip_interrogator.py
- 将
Salesforce
改为config_data

3.2 下载cache相关文件失败

- 有个文件下载成功了,默认创建
cache
文件夹,保存在此文件夹

- 手动下载链接 【链接打不开,自己想办法】
- 放在
cache
文件夹中

3.3 解决库不完整问题
clip-interrogator-main\predict.py
文件cog
爆红

- 解决:查库找不到这个文件,在git上找到了相关文件
4. 测试代码
4.1 脚本一
from PIL import Image
from clip_interrogator import Config, Interrogator
image = Image.open('data/1.png').convert('RGB')
ci = Interrogator(Config(clip_model_name="ViT-L-14/openai"))
print(ci.interrogate(image))
- 生成文本结果

4.2 脚本二
from clip_interrogator import Config, Interrogator, LabelTable, load_list
from PIL import Image
ci = Interrogator(Config())
image = Image.open('data/page1_1.jpg').convert('RGB')
table = LabelTable(load_list('clip_interrogator/data/flavors.txt'), 'flavors', ci)
best_match = table.rank(ci.image_to_features(image), top_count=1)[0]
print(best_match)
- 生成文本结果

4.3 测试run_cli.py文件
- 添加文件路径,设置
default
默认路径
- 图生文整个文件夹
parser.add_argument('-f', '--folder',default=r'/images', help='path to folder of images')
- 图生文一张图片
parser.add_argument('-i', '--image',default=r'data/page1_1.jpg', help='image file or url')
- 结果和
脚本一
一样
4.4 测试run_gradio.py文件
- 安装
gradio
库pip install gradio
- 打开
url

- 前端界面

- 上传图片结果
