python调用pytorch的clip模型时报错原因及解决方法
使用python调用pytorch中的clip模型时报错:AttributeError: partially initialized module ‘clip’ has no attribute ‘load’ (most likely due to a circular import)
现象
在使用pyton调用pytorch中的clip模型获取图片的关键词时,根据官方文档的代码描述,代码内容如下
import torch
import clip
from PIL import Image
device = "cuda" if torch.cuda.is_available() else "cpu"
model, preprocess = clip.load("ViT-B/32", device=device)
image = preprocess(Image.open("C:/Users/HLY/Desktop/3.jpeg")).unsqueeze(0).to(device)
text = clip.tokenize(["a diagram", "a dog", "a cat"]).to(device)
with torch.no_grad():
image_features = model.encode_image(image)
text_features = model.encode_text(text)
logits_per_image, logits_per_text = model(image, text)
probs = logits_per_image.softmax(dim=-1).cpu().numpy()
print("Label probs:", probs) # prints: [[0.9927937 0.00421068 0.00299572]]根据官方文档安装pytorch,clip等版本后,报错,报错信息如下
Traceback (most recent call last):
File "D:\WorkTest\pythonProject\resnetTest\clip.py", line 2, in <module>
import clip
File "D:\WorkTest\pythonProject\resnetTest\clip.py", line 6, in <module>
model, preprocess = clip.load("ViT-B/32", device=device)
^^^^^^^^^
AttributeError: partially initialized module 'clip' has no attribute 'load' (most likely due to a circular import)
解决方案
一、查看项目中是否有为clip名的文件
如果项目中有clip.py名文件,import clip会默认为引入自己,则会出现上述所说循环导入的问题。将clip.py文件更名即可

二、查看clip是否安装成功
如果上述方案没有解决,查看是否为clip安装的问题
1、先调用如下命令,卸载已安装的clip
pip uninstall clip
2、再根据官方文档的介绍,重新安装clip

3、如果重新安装后也无效,尝试卸载后以如下命令
pip install openai-clip
到此这篇关于python调用pytorch的clip模型时报错原因及解决方法的文章就介绍到这了,更多相关python调用pytorch报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python 随机数使用方法,推导以及字符串,双色球小程序实例
下面小编就为大家带来一篇python 随机数使用方法,推导以及字符串,双色球小程序实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-09-09
python数据分析之聚类分析(cluster analysis)
聚类分析本身不是一个特定的算法,而是要解决的一般任务。它可以通过各种算法来实现,这些算法在理解群集的构成以及如何有效地找到它们方面存在显着差异。这篇文章主要介绍了python数据分析之聚类分析(cluster analysis),需要的朋友可以参考下2021-11-11


最新评论