python调用pytorch的clip模型时报错原因及解决方法

 更新时间:2023年08月04日 10:08:40   作者:骨力  
这篇文章主要介绍了python调用pytorch的clip模型时报错,本文给大家分享问题原因及解决方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

使用python调用pytorch中的clip模型时报错:AttributeError: partially initialized module ‘clip’ has no attribute ‘load’ (most likely due to a circular import)

现象

clip源码及官方文档

在使用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基础教程之Filter使用方法

    python基础教程之Filter使用方法

    这篇文章主要介绍了python基础教程之Filter使用方法的相关资料,这里对Python Filter 进行了简单实例详解,需要的朋友可以参考下
    2017-01-01
  • python实现扫描ip地址的小程序

    python实现扫描ip地址的小程序

    本文通过实例代码给大家介绍了python实现扫描ip地址的小程序,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-04-04
  • Python的二维数组初始化方式

    Python的二维数组初始化方式

    这篇文章主要介绍了Python的二维数组初始化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 在Python中使用判断语句和循环的教程

    在Python中使用判断语句和循环的教程

    这篇文章主要介绍了在Python中使用判断语句和循环的教程,是Python学习当中的基础知识,代码基于Python2.x,需要的朋友可以参考下
    2015-04-04
  • Python中深浅拷贝的区别详细分析

    Python中深浅拷贝的区别详细分析

    深拷贝和浅拷贝都是对原对象的拷贝,都会生成一个看起来相同的对象,下面这篇文章主要给大家介绍了关于Python中深浅拷贝的区别的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • python 随机数使用方法,推导以及字符串,双色球小程序实例

    python 随机数使用方法,推导以及字符串,双色球小程序实例

    下面小编就为大家带来一篇python 随机数使用方法,推导以及字符串,双色球小程序实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Django零基础入门之模板变量详解

    Django零基础入门之模板变量详解

    这篇文章主要介绍了Django零基础入门之模板变量详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • 利用Python轻松解析XML文件

    利用Python轻松解析XML文件

    XML文件在数据处理和配置存储中非常常见,但手动解析它们可能会让人头疼,Python提供了多种简单高效的方法来处理XML文件,下面小编就来和大家详细介绍一下吧
    2025-04-04
  • python数据分析之聚类分析(cluster analysis)

    python数据分析之聚类分析(cluster analysis)

    聚类分析本身不是一个特定的算法,而是要解决的一般任务。它可以通过各种算法来实现,这些算法在理解群集的构成以及如何有效地找到它们方面存在显着差异。这篇文章主要介绍了python数据分析之聚类分析(cluster analysis),需要的朋友可以参考下
    2021-11-11
  • python回调函数用法实例分析

    python回调函数用法实例分析

    这篇文章主要介绍了python回调函数用法,较为详细的分析了常用的调用方式,并实例介绍了Python回调函数的使用技巧,需要的朋友可以参考下
    2015-05-05

最新评论