linux 安装pytorch3d的坑

news2024/11/26 13:41:02

事实上,只要按照官方文档的说明就可以完美安装。其中坑的地方在于conda的管理可能会导致下载的版本不符合你的要求(例如下载成了cpu版本、下载的cuda版本)而同样尝试使用源码编译以及其他方式下载库都会导致同样的问题,这里主要的原因是由于python的版本不对以及conda 版本不对。这里先简单总结一下本人成功安装的步骤,再简单阐述一下其中的坑,请务必完整阅读后再进行安装。

安装步骤

由于pytorch3d对于conda的要求非常刁钻,!!!这里十分建议重新创建一个虚拟环境!!!
官方链接
此外,目前测试python3.11还不可用,python3.8有点老(不太推荐)

conda create -n pytorch3d python=3.10
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
conda install pytorch3d -c pytorch3d
#for test
pip install scikit-image matplotlib imageio plotly opencv-python

问题列表

1、conda问题

下载速度过慢/solving environment 一直转圈

下载速度过慢可以尝试更换源
清华源

vim ~/.condarc

清除原有内容,将下面内容复制进去。保存并退出。

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/

最后,使用如下命令

 conda clean -i

如果出现了solving environment转圈然后失败,可能是因为你之前就已经通过命令行的方式换过源了,这将会导致换源后需要搜索的目标过大,从而导致解析失败。解决方法与上述一致,更新过后的源将会是非常干净的清华源。
当然,一直转圈的原因也有可能是conda版本过旧,可以使用如下方法更新conda

更新conda

conda update -n base -c defaults conda

若失败,则尝试

conda update -n base -c defaults conda --repodata-fn=repodata.json

2、安装pytorch3d中重新又安装了一个pytorch的cpu版本

(1)我们强烈建议先检查一下conda版本是否过低,当确认无误后再查看本节。
(2)注意:请不要使用pip来安装pytorch环境
这是因为使用pip安装的pytorch环境将不会被conda安装的pytorch3d环境检测到,这样的话会导致其认为没有pytorch的合适版本而重新安装一次,这样将会导致你之前的pytorch环境完全崩溃
(3)请检查python版本是否过老或过新

3、cuda问题

有关cuda的一些简单概念参考
我们知道pytorch和pytorch都需要使用gpu版本。但是我们需要注意到pytorch系列使用到的cuda相关工具都会再conda安装时被自动嵌入到相关环境中(如果你仔细观察会发现conda下载时会下载一些带有cuda的包),老版本的pytorch中会下一个cudatoolkit,好像新版本中不需要了。因此,我们这里所参考的cuda版本实际上就是pytorch对应后面的版本,例如
在这里插入图片描述
而像外部环境中nvida-smi 和nvcc- V的版本这里都不用管
为了增加论证,这里列出我的这两个相应的显示结果
在这里插入图片描述
在这里插入图片描述
可以看出,我的这两个版本与我下载的pytorch-cuda版本均不一致,但不影响使用
by the way:下载pytorch的时候还是要保证其gpu版本尽量和nvidia-smi显示的版本尽量一致,否则会出现虽然正常检测但是运算速度极慢的情况。

测试

请在安装pytorch后测试如下代码,检测你的版本和gpu是否可用

请在安装pytorch3d后测试如下代码,检测你的版本和gpu是否可用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/750177.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【动手学深度学习】层和块

层和块 简单介绍 块:描述单个层,由多个层组成的组件或整个模型本身。使用块进行抽象的一个好处是可以将一些块组合成更大的组件,这一过程通常是递归的 简单入门 import torch from torch import nn from torch.nn import functional as F# …

【分布式系统案例课】计数服务之需求收集和总架构设计

面试题 对B站视频观看量进行实时的计数 技术问题是一个比较普遍的问题,比如对头条作者的粉丝或者是对获赞进行计数。或者是对企业的业务指标进行计数,例如注册登录下单数这些等。 需求澄清 问题一:用户点击观察视频之后,这个数量…

Gateway网关组件(在Spring Cloud整合Gateway(idea19版本))

Spring Cloud Gateway官网:Spring Cloud Gateway 局域网中就有网关这个概念,局域网接收数据或发送数据都要通过网关,比如使用VMware虚拟机软件搭建虚拟机集群的时候,往往我们需要选择IP段中的⼀个IP作为网关地址,网关可以对请求进行控制,提升…

Shell第三章——循环语句与函数

循环:重复执行一段代码的结构,通过循环可以在满足一定的条件之下多次执行相同的代码。 循环语句:包换循环体,代码的总结构,循环条件,当循环条件满足时,循环体的代码才会执行,条件不…

RabbitMQ-同步和异步通讯、安装和入门案例、SpringAMQP(5个消息发送接收Demo,jackson消息转换器)

文章目录 1.初识MQ1.1.同步和异步通讯1.1.1.同步通讯1.1.2.异步通讯 1.2.技术对比: 2.快速入门2.1.安装RabbitMQ2.2.RabbitMQ消息模型2.3.导入Demo工程2.4.入门案例2.4.1.publisher实现2.4.2.consumer实现 2.5.总结 3.SpringAMQP3.1.Basic Queue 简单队列模型3.1.1.…

【设计模式】23种设计模式——工厂模式(原理讲解+应用场景介绍+案例介绍+Java代码实现)

工厂模式 需求了解 看一个披萨的项目:要便于披萨种类的扩展,要便于维护 披萨的种类很多(比如 GreekPizz、CheesePizz 等)披萨的制作有 prepare(准备材料),bake(烘焙),cut(切割),b…

Hive SQL 迁移 Flink SQL 在快手的实践

摘要:本文整理自快手数据架构工程师张芒,阿里云工程师刘大龙,在 Flink Forward Asia 2022 生产实践专场的分享。本篇内容主要分为四个部分: Flink 流批一体引擎 Flink Batch 生产实践 核心优化解读 未来规划 点击查看原文视频…

切换.net Framework 版本后,出现NuGet 包是使用不同于当前目标框架的目标框架安装的,可能需要重新安装

问题现象: 由于添加新的dll文件,依赖的.NET Framework版本与当前的不一致,在vs 中切换了目标框架版本后,运行程序,出现以下的warnning信息: 一些 NuGet 包是使用不同于当前目标框架的目标框架安装的&#…

springboot社区疫情防控平台

开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven…

剑指offer68-I.二叉搜索树的最近公共祖先

把p的所有祖先找出来,把q的所有祖先找出来,因为是是搜索树,找出来的祖先都是排好序的,所以可以把找出来的祖先从后面往前面遍历,第一个相同的值的数就是最近的公共祖先,这是我一开始的想法,但是它最后报错了…

(六)人工智能应用--深度学习原理与实战--理解张量与运算图

Tensorflow名称中的Tensor即张量,不仅仅是Tensorflow,几乎所有的深度学习平台都以张量为基本的数据结构。简单来说,张量就是多维数组,本质上是一种数据容器,它可以有任意维度,比如矩阵就是二维张量(二维数组…

数字图像处理【11】OpenCV-Canny边缘提取到FindContours轮廓发现

本章主要介绍图像处理中一个比较基础的操作:Canny边缘发现、轮廓发现 和 绘制轮廓。概念不难,主要是结合OpenCV 4.5的API相关操作,为往下 "基于距离变换的分水岭图像分割" 做知识储备。 Canny边缘检测 在讲述轮廓之前,…

数字孪生,建设智慧城市的新型“加速器”

城市是什么? 是现代文明与生态的联结,是自然与人友好栖息的空间,是运转复杂庞大的系统。 今天,中国的城市在历经十余年的“智慧城市”建设后已经被赋予了数智融合的全新解读。随着近年来5G、云计算、人工智能爆发式能量增长&#…

常见的bug---4、在DataGrip上跑本地模式报return 2异常

文章目录 问题描述原因分析:解决方案: 问题描述 FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask 在DataGrip上设置了Hive的本地模式。虽然可以建表、但是无法对表进行插入数据 原因分析: 在插…

深入理解张量维度的真正含义

在人工智能领域,比如深度学习,机器学习,张量这一概念被频繁使用。虽然网上有很多关于张量的文章,但基本都是废话太多,而且复制粘贴说不到重点。 今天我就来讲解一下张量维度的真正含义。 首先. 张量并不是一个简单多…

STM32F103驱动VL53L0X激光测距模块

STM32F103驱动VL53L0X激光测距模块 简介引脚定义STM32F103ZET6开发板与VL53L0X模块接线测试代码实验结果 简介 TOF 是飞行时间(Tlme of Flight)技术的缩写,即传感器发出经过调制的近红外光,遇到物体后反射,传感器通过…

bug:file name too long文件名超出系统最大限制

各操作系统支持最长的文件和目录名称长度(Linux、Win、Mac) 今天开发需求的时候发现无法新建文件,提示file name too lang,于是翻阅和查询了一些资料,发现不同操作系统下文件名和目录名最长的长度不同。 操作系统文件名…

游戏如何应对虚拟定位问题

在游戏系统设计中,排行榜这一设计可谓是十分巧妙。它可以充分调动玩家的“胜负欲”,给予玩家前进的目标及动力,满足玩家的心理需求。 排行榜的设计使用范围广,对游戏留存、付费等指标提升效果出众,在不少游戏中都可以…