python調(diào)用pytorch的clip模型時(shí)報(bào)錯(cuò)原因及解決方法
使用python調(diào)用pytorch中的clip模型時(shí)報(bào)錯(cuò):AttributeError: partially initialized module ‘clip’ has no attribute ‘load’ (most likely due to a circular import)
現(xiàn)象
在使用pyton調(diào)用pytorch中的clip模型獲取圖片的關(guān)鍵詞時(shí),根據(jù)官方文檔的代碼描述,代碼內(nèi)容如下
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]]根據(jù)官方文檔安裝pytorch,clip等版本后,報(bào)錯(cuò),報(bào)錯(cuò)信息如下
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)
解決方案
一、查看項(xiàng)目中是否有為clip名的文件
如果項(xiàng)目中有clip.py名文件,import clip會(huì)默認(rèn)為引入自己,則會(huì)出現(xiàn)上述所說(shuō)循環(huán)導(dǎo)入的問(wèn)題。將clip.py文件更名即可

二、查看clip是否安裝成功
如果上述方案沒(méi)有解決,查看是否為clip安裝的問(wèn)題
1、先調(diào)用如下命令,卸載已安裝的clip
pip uninstall clip
2、再根據(jù)官方文檔的介紹,重新安裝clip

3、如果重新安裝后也無(wú)效,嘗試卸載后以如下命令
pip install openai-clip
到此這篇關(guān)于python調(diào)用pytorch的clip模型時(shí)報(bào)錯(cuò)原因及解決方法的文章就介紹到這了,更多相關(guān)python調(diào)用pytorch報(bào)錯(cuò)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Python中使用判斷語(yǔ)句和循環(huán)的教程
這篇文章主要介紹了在Python中使用判斷語(yǔ)句和循環(huán)的教程,是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識(shí),代碼基于Python2.x,需要的朋友可以參考下2015-04-04
python數(shù)據(jù)分析之聚類分析(cluster analysis)
python回調(diào)函數(shù)用法實(shí)例分析

