clip-interrogator本地部署
1. 克隆源码 2. 创建虚拟环境及配置 3. 下载远程相关文件 3.1 下载Salesforce相关文件失败 3.2 下载cache相关文件失败 3.3 解决库不完整问题
4. 测试代码 4.1 脚本一 4.2 脚本二 4.3 测试run_cli.py文件 4.4 测试run_gradio.py文件
源码链接:https://github.com/pharmapsychotic/clip-interrogator 介绍
CLIP
询问程序是一个提示工程工具,它结合了OpenAI
的CLIP
和Salesforce
的BLIP
,以优化文本提示,使其与给定的图像相匹配。使用由此产生的提示和文本到图像的模型,如DreamStudio
上的Stable Diffusion
,来创建酷炫的艺术!
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
,根据自己需求下载 【我全下了】 下载链接 【链接打不开,自己想办法】
https://huggingface.co/Salesforce/blip-image-captioning-large/tree/main https://huggingface.co/Salesforce/blip2-opt-2.7b/tree/main https://huggingface.co/Salesforce/blip2-flan-t5-xl https://huggingface.co/microsoft/git-large-coco/tree/main https://huggingface.co/Salesforce/blip-image-captioning-base/tree/main 在根目录创建:config_data
文件夹,将下载的文件放在里面 修改目录地址文件
clip-interrogator-main\clip_interrogator\clip_interrogator.py
将Salesforce
改为config_data
3.2 下载cache相关文件失败
有个文件下载成功了,默认创建cache
文件夹,保存在此文件夹 手动下载链接 【链接打不开,自己想办法】
ViT-L-14_openai_artists.safetensors ViT-L-14_openai_flavors.safetensors ViT-L-14_openai_mediums.safetensors ViT-L-14_openai_movements.safetensors ViT-L-14_openai_negative.safetensors ViT-L-14_openai_trendings.safetensors 放在cache
文件夹中
3.3 解决库不完整问题
clip-interrogator-main\predict.py
文件cog
爆红 解决:查库找不到这个文件,在git上找到了相关文件
链接:https://github.com/replicate/cog/tree/main/python 将cog文件下载下来,放在根目录即可
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
前端界面 上传图片结果