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报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用rpclib进行Python网络编程时的注释问题

    使用rpclib进行Python网络编程时的注释问题

    这篇文章主要介绍了使用rpclib进行Python网络编程时的注释问题,作者讲到了自己在编写服务器时要用unicode注释等需要注意的地方,需要的朋友可以参考下
    2015-05-05
  • 基于Python matplotlib库绘制箱线图

    基于Python matplotlib库绘制箱线图

    这篇文章主要为大家分享了如何利用Python中的matplotlib库实现绘制箱线图与异常值的输出,文中的示例代码讲解详细,需要的可以参考一下
    2022-04-04
  • 浅谈Python的元编程

    浅谈Python的元编程

    提到元这个字,你也许会想到元数据,元数据就是描述数据本身的数据,元类就是类的类,本文的主要目的是向大家介绍这些元编程技术,并且给出实例来演示它们是怎样定制化源代码的行为。刚兴趣的朋友可以参考一下
    2021-09-09
  • Python OpenCV识别行人入口进出人数统计

    Python OpenCV识别行人入口进出人数统计

    本文主要介绍了Python OpenCV识别行人入口进出人数统计,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧<BR>
    2023-01-01
  • 利用Python将多张图片合成视频的实现

    利用Python将多张图片合成视频的实现

    这篇文章主要介绍了利用Python将多张图片合成视频的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • python计算机视觉OpenCV库实现实时摄像头人脸检测示例

    python计算机视觉OpenCV库实现实时摄像头人脸检测示例

    这篇文章主要为大家介绍了python使用OpenCV实现实时摄像头人脸检测的示例过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • PyCharm-错误-找不到指定文件python.exe的解决方法

    PyCharm-错误-找不到指定文件python.exe的解决方法

    今天小编就为大家分享一篇PyCharm-错误-找不到指定文件python.exe的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • PyTorch CNN实战之MNIST手写数字识别示例

    PyTorch CNN实战之MNIST手写数字识别示例

    本篇文章主要介绍了PyTorch CNN实战之MNIST手写数字识别示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Python读csv文件去掉一列后再写入新的文件实例

    Python读csv文件去掉一列后再写入新的文件实例

    下面小编就为大家分享一篇Python读csv文件去掉一列后再写入新的文件实例,具有很的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • Python sql注入 过滤字符串的非法字符实例

    Python sql注入 过滤字符串的非法字符实例

    这篇文章主要介绍了Python sql注入 过滤字符串的非法字符实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04

最新评论