首页 > 其他分享 >创建onepose虚拟环境时一个看似复杂的报错的解决

创建onepose虚拟环境时一个看似复杂的报错的解决

时间:2024-01-27 23:11:35浏览次数:25  
标签:so.11 cudatoolkit 虚拟环境 报错 cuda 版本 cublas onepose

这个错误看似先是mdl不应该为None,但是实际却为None,但是后面有一句:在处理这个异常时,出现了另一个异常

当出现这个情况时,实际上应该先处理后面这个异常,这个是gpt告诉我的(见下图):

后面这个异常报的是libcublas.so.11有问题,看似和我之前建立pixel-perfect-sfm的conda虚拟环境时ln -sfm等一系列操作有关系,但是其实不然,当时ln -s和ln -snf都只是建立了一些多余的软链接,理论上不会影响其它项目的环境配置
而当时建立那个虚拟环境时还不小心用了rm -rf,当时想删除软链接,却不小心删除了源文件,当时也已经及时做了补救,补救的方法是在虚拟机装了ubuntu22.04的版本,并且拷贝了删除的文件到删除该文件的ubuntu电脑,所以这个错误操作应该是已经得到补救了

而这个onepose异常的原因,问了一下gpt,见下图,其实是cudatoolkit的版本和cublas的版本有关:

我知道cudatoolkit是虚拟环境的cudatoolkit,版本是10.2,所以接下来我需要确认cublas的版本

chatgpt给了我很多有用的命令来确认cublas的版本:

我尝试了ldd命令,然后问了chatgpt ldd命令的具体作用:


第一条,先说,可能是cublas和cudatoolkit版本不匹配,导致的错误
第二条说卸载cudatoolkit或者卸载cublas

chatgpt 4.0的逻辑性和分析能力真的很不错


我把gpt给的命令都试了,然后主要有几点:

  • grep cuda确实是anaconda环境里的cuda(onepose 官方配置是10.2的版本)
  • 然后我用ldd命令查看了onepose的conda环境的libcublas.so.11和/usr/local/cuda的libcublas.so.11,发现这两个libcublas.so.11其实都是软链接(上图,它们是指向别的东西的,可能是链接,也可能是实际的文件,总之,它们本身是链接),链接指向的都是同一个libcublas.so.11,而这个实际的libcublas.so.11文件在/usr/local/cuda/lib64/libcublasLt.so.11,而从ubuntu文件系统去查看这个libcublasLt.so.11,会发现其实/usr/local/cuda也是一个软链接,而如果通过快捷键ctrl I查看其属性,发现/usr/local/cuda其实指向的是11.3版本的cuda(直接从英伟达官方下载安装的cuda):

这说明了什么!!cublas来自英伟达官方下载安装的cuda,而要解决的错误是cublas和虚拟环境的cudatoolkit版本不匹配,因此也就是英伟达官方下载安装的cuda和虚拟环境的cudatoolkit不兼容,那么解决方式就是两种:

一种是从英伟达官方下载安装10.2版本的cuda,然后通过ln -s将/usr/local/cuda这个文件夹链接到10.2版本的cuda文件夹,这样虚拟环境和cublas的版本都是10.2
还有一种方法是卸载虚拟环境10.2版本的cudatoolkit,重新pip一个和11.3版本的cublas能够兼容的cudatoolkit(pytorch==xxx+cu113)
而其实cudatoolkit只要是11.x,就能和11.3版本的cublas兼容:

因此我选择了第二种方法,然后真的成功解决了,跑通了。。。gpt帮了大忙了!!!

标签:so.11,cudatoolkit,虚拟环境,报错,cuda,版本,cublas,onepose
From: https://www.cnblogs.com/186xxxxxxxx/p/17992336

相关文章

  • 虚拟机vmware安装ubuntu磁盘塞满启动爆ubuntu 开机报错 piix4_smbus : SMBus Host Con
    虚拟机vmware安装ubuntu磁盘塞满启动爆ubuntu开机报错piix4_smbus:SMBusHostControllernotenabled错误解决办法  一、vmware硬件增加磁盘空间该虚拟机名称右键[设置]-虚拟机设置-【硬盘(SCSI)】-磁盘实用工具-扩展磁盘容量-【扩展】-增大适当的容量。二、重启VMWA......
  • SQL报错注入
    XPATH报错注入extractalue(arg1,arg2)接受两个参数,arg1:XML文档,arg2:XPATH语句条件:mysql5.1及以上版本标准payload1'andextractvalue(1,concat(0x7e,(selectuser()),0x7e))#xpath类似于一种html的标签语言这里面的0x7e是波浪号,可以换成~、!、*、&等都可以返回结果......
  • curl支持ssl报错:(60) SSL certificate problem: unable to get local issuer certific
     curl去访问https的站点报错:curl-vhttps://www.baidu.com*SSLv3,TLShandshake,Clienthello(1):*SSLv3,TLShandshake,Serverhello(2):*SSLv3,TLShandshake,CERT(11):*SSLv3,TLSalert,Serverhello(2):*SSLcertificateproblem:unabletogetl......
  • 大语言模型(LLM)运行报错:AttributeError: module 'streamlit' has no attribute 'cache_
    解决方法:......
  • 报错AttributeError: can't set attribute (image.mode = desired_mode)
      docker容器中安装了pillow包,以及imageio[ffmpeg],运行程序时报错AttributeError:can'tsetattribute(image.mode=desired_mode),发现imageio==2.31.5版本与pillow==10.1.0版本不兼容导致报错,只需将pillow版本降低固定为10.0即可,最近pillow==10.2.0版本也发行了,这个不......
  • SpringBoot启动项目报错:java.lang.UnsatisfiedLinkError: D:\files\software\jdk-1
    目录问题描述解决方法:问题描述在运行向的时候出现报错:java.lang.UnsatisfiedLinkError:D:\files\software\jdk-15.0.1\jdk-17.0.3.1\bin\tcnative-1.dll:Can'tloadIA32-bit.dllonaAMD64-bitplatform atjava.base/jdk.internal.loader.NativeLibraries.load(Native......
  • Error: EPERM: operation not permitted, mkdir 'F:\'——因权限不够报错
      我的报错内容如上图在网上找了很多解决办法,如下:下面的方案我都试过了,最终是成功了方案一:以管理员身份运行 方案二:重新配置环境变量将npm安装的全局模块所在的路径,以及缓存cache的路径放在其他目录中【试了,再执行方案一成功了】因为我没有截图,把我搜到的解决方法链......
  • 在springboot中controller控制器的crud语句@RequestBody遗落的报错
    在进行java练习的过程中,对一个单链表进行增删改查时发现了如下错误:对编译器的控制台进行检查之后,发现了报错语句如下:2024-01-2619:43:52.551ERROR18544---[p-nio-80-exec-5]o.a.c.c.C.[.[.[/].[dispatcherServlet]:Servlet.service()forservlet[dispatcherSe......
  • k8s 报错: node(s) didn't match Pod's node affinity.
    前言k8s集群中,有pod出现了Affinity,使用kubectldescribepod命令,发现了报错2node(s)didn'tmatchPod'snodeaffinity.这是因为节点被打上了污点,导致了pod没有节点可以起来解决kubectlgetnodes-ojson|jq'.items[].spec'orkubectlgetnodes-oyaml找到......
  • ESXI VIB升级报错
    一、兼容性问题1、通过VIB升级ESXI时,可能会出现类似的报错2、此报错是由于已安装的VIB软件版本与升级版本兼容性存在问题,可以先根据上述报错进行查找3、移除不兼容条目4、提示移除成功后即可继续升级5、提示升级成功。......