pytorch3d成功安装

一、pytorch3d是什么?
PyTorch3D的目标是帮助加速深度学习和3D交叉点的研究。3D数据比2D图像更复杂,在从事Mesh R-CNN和C3DPO等项目时,我们遇到了一些挑战,包括3D数据表示、批处理和速度。我们开发了许多有用的算子和抽象,用于3D深度学习,并希望与社区分享,以推动这一领域的新研究。
在PyTorch3D中,我们包含了高效的3D操作符、异构批处理功能和模块化可微渲染API,为该领域的研究人员提供了急需的工具包,以实现复杂3D输入的前沿研究。

来自:https://pytorch3d.org/docs/why_pytorch3d

二、安装步骤
1.添加anaconda源(最最最最最关键!!)
以清华源 ubuntu18.04为例,其他平台安装方法可以借鉴:

# 在终端执行以下代码
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
# 以上两条是Anaconda官方库的镜像

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
# 以上是Anaconda第三方库 Conda Forge的镜像

# for linux
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
# for legacy win-64
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123/
#以上两条是Pytorch的Anaconda第三方镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch3d/

conda config --set show_channel_urls yes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
添加完成后可以使用conda info命令查看是否添加成功
!!!添加pytorch源和pytorch3d源是最关键的步骤!!!

2.创建环境
以python3.8为例,这个看实际需求。

conda create -n pytorch3d python=3.8
conda activate pytorch3d
1
2
3.安装pytorch和pytorch3d
截止本文的编写时间,当前最版本pytorch3d为0.6.2,最高支持pytorch1.11.0,所以最好不要安装pytorch 1.12.0 以上版本;以pytorch 1.10.1版本为例,对了我的nvcc -v cuda版本是11.3,安装pytorch需要适配:


# 首先安装pytorch
conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=11.3
# 使用官方网站提供的命令安装,参考:https://pytorch.org/get-started/previous-versions/
# 但是尤其注意以因为已经更换过conda源了,所以不需要添加-c pytorch -c conda-forge,否则默认从官方源添加
# 这一步需要等待一段时间,但清华源速度总比官方源强多了

# 其次安装必要库
conda install -c fvcore -c iopath -c conda-forge fvcore iopath

# 安装pytorch3d,只需要一条命令
conda install pytorch3d
1
2
3
4
5
6
7
8
9
10
11
12
那么就是激动人心的时刻了:


总结
完结撒花,希望后续在使用pytorch3d的过程中能够出一些好的教程,期待自己可以~
————————————————
版权声明:本文为CSDN博主「LuH1124」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43357695/article/details/126063091

这上面是linux的吧

我先下载github上的

然后解压

发布版本 0.7.4 ·FacebookResearch/PyTorch3D ·GitHub

Releases · facebookresearch/pytorch3d (github.com)

8月4日尝试

conda install pytorch3d -c pytorch3d

conda install -c pytorch3d pytorch3d

https://data.pyg.org/whl/

这是torch的文件吧

pytorch3d

8.7日尝试成功

安装前置

conda install -c fvcore -c iopath -c conda-forge fvcore iopath
conda install jupyter
pip install scikit-image matplotlib imageio plotly opencv-python
pip install black usort flake8 flake8-bugbear flake8-comprehensions

Welcome to PyTorch3D’s documentation! — PyTorch3D documentation

官方文档

Release CUB 1.15.0 · NVIDIA/cub · GitHub

下载cub

Windows下Pytorch3d的安装方法_木清风居士的博客-CSDN博客

参考链接

打开

x64 Native Tools Command Prompt for VS 2019

然后cd到pytorch3d目录

激活conda activate pytorch3d

10.24 cv方向3DMM必备环境——Windows10/11下pytorch3d[完美安装版]_啥都会一点的老程,自在地镜强者的博客-CSDN博客

参考这篇

安装约需要五分钟,等吧,中间提示pillow没有安装

然后先安装conda install zlib

然后安装pillow,安装成功了。

总结:

1.安装cuda11.6然后安装torch版本为3.9的1.12的。然后安装cub,1.15.0版本的,在环境变量加上

 安装好后,参考版本

 下载pytorch3d的版本,我安装的0.7.4

安装VS 2019后,打开如下图所示的"x64 Native Tools Command Prompt for VS 2019"终端,然后cd到pytorch3d解压后的目录路径里:

激活对应的环境conda activate pytorch3d

 打开cd到pytorch3d的位置,输入这两句

set DISTUTILS_USE_SDK=1
set PYTORCH3D_NO_NINJA=1

然后python setup.py install

然后报错 

修改 pytorch3d里setup.py文件的源码:将extra_compile_args = {“cxx”: [“-std=c++14”]} 修改为: extra_compile_args = {“cxx”: []};

安装报错,修改setup.py里的文件

 安装报错修改cuda的文件。打开你的cuda目录下:\include\thrust\system\cuda\config的代码,在74行加入提示的语句,如下修改:

修改增加第74行

 

Releases · facebookresearch/pytorch3d · GitHub

成功了,记录于此2023.08.07

有个报错,提示找不到文件,猜测是cuda没有安装对

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

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

相关文章

【Visual Studio Code】--- Win11 安装 VS Code 超详细

Win11 安装 VS Code 超详细 概述一、下载 Vscode二、安装 Vscode 概述 一个好的文章能够帮助开发者完成更便捷、更快速的开发。书山有路勤为径,学海无涯苦作舟。我是秋知叶i、期望每一个阅读了我的文章的开发者都能够有所成长。 一、下载 Vscode Vscode官网 二、…

HTTP和HTTPS协议

目录 一、HTTP和HTTPS区别🌻 二、有了https还有使用http场景吗🍊 三、https协议的工作原理💥 四、https协议的优点和缺点🍞 一、HTTP和HTTPS区别🌻 HTTP(Hypertext Transfer Protocol)和HTT…

时序预测 | MATLAB实现基于KNN K近邻的时间序列预测-递归预测未来(多指标评价)

时序预测 | MATLAB实现基于KNN K近邻的时间序列预测-递归预测未来(多指标评价) 目录 时序预测 | MATLAB实现基于KNN K近邻的时间序列预测-递归预测未来(多指标评价)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 基于KNN K近邻的时间序列预测-递归预测未来(多指标评价) …

macOS - 安装使用 libvirt、virsh

文章目录 关于 libvirt使用安装启动服务virsh 交互模式virsh 帮助命令 关于 libvirt libvirt 官网: https://libvirt.org/gitlab : https://gitlab.com/libvirt/libvirtgithub : https://github.com/libvirt/libvirt 只读,gitlab 的镜像 libvirt是一套…

机器学习之数据集

目录 1、简介 2、可用数据集 3、scikit-learn数据集API 3.1、小数据集 3.2、大数据集 4、数据集使用 ⭐所属专栏:人工智能 文中提到的代码如有需要可以私信我发给你😊 1、简介 当谈论数据集时,通常是指在机器学习和数据分析中使用的一组…

ES 概念

es 概念 Elasticsearch是分布式实时搜索、实时分析、实时存储引擎,简称(ES)成立于2012年,是一家来自荷兰的、开源的大数据搜索、分析服务提供商,为企业提供实时搜索、数据分析服务,支持PB级的大数据。 -- …

logstash 原理(含部署)

1、ES原理 原理 使⽤filebeat来上传⽇志数据,logstash进⾏⽇志收集与处理,elasticsearch作为⽇志存储与搜索引擎,最后使⽤kibana展现⽇志的可视化输出。所以不难发现,⽇志解析主要还 是logstash做的事情 从上图中可以看到&#x…

RDMA概述

1. DMA和RDMA概念 1.1 DMA DMA(直接内存访问)是一种能力,允许在计算机主板上的设备直接把数据发送到内存中去,数据搬运不需要CPU的参与。 传统内存访问需要通过CPU进行数据copy来移动数据,通过CPU将内存中的Buffer1移动到Buffer2中。DMA模…

【图像分类】理论篇 (4)图像增强opencv实现

随机旋转 随机旋转是一种图像增强技术,它通过将图像以随机角度进行旋转来增加数据的多样性,从而帮助改善模型的鲁棒性和泛化能力。这在训练深度学习模型时尤其有用,可以使模型更好地适应各种角度的输入。 原图像: 旋转后的图像&…

1.MySQL数据库的基本操作

数据库操作过程: 1.用户在客户端输入 SQL 2.客户端会把 SQL 通过网络发送给服务器 3.服务器执行这个 SQL,把结果返回给客户端 4.客户端收到结果,显示到界面上 数据库的操作 这里的数据库不是代表一个软件,而是代表一个数据集合。 显示当前的数据库 …

Python中的MetaPathFinder

MetaPathFinder 是 Python 导入系统中的一个关键组件,它与 sys.meta_path 列表紧密相关。sys.meta_path 是一个包含 MetaPathFinder 实例的列表,这些实例用于自定义模块的查找和加载逻辑。当使用 import 语句尝试导入一个模块时,Python 会遍历…

Golang通过alibabaCanal订阅MySQLbinlog

最近在做redis和MySQL的缓存一致性,一个方式是订阅MySQL的BinLog文件,我们使用阿里巴巴的Canal的中间件来做。 Canal是服务端和客户端两部分构成,我们需要先启动Canal的服务端,然后在Go程序里面连接Canal服务端,即可监…

Maven - 统一构建规范:Maven 插件管理最佳实践

文章目录 Available Plugins开源项目中的使用插件介绍maven-jar-pluginmaven-assembly-pluginmaven-shade-pluginShade 插件 - 标签artifactSetrelocationsfilters 完整配置 Available Plugins https://maven.apache.org/plugins/index.html Maven 是一个开源的软件构建工具&…

零食量贩店热潮:小县城的新零售革命

零食量贩店热潮:小县城的新零售革命 目录 引言零食量贩店的快速崛起零食量贩店的运营模式量贩零食店在小县城的影响技术在零食量贩店的应用未来展望结论 1. 引言 近年来,零食量贩店在我国小县城迅速发展,成为一种新型的零售模式。在一条街…

flutter 二进制转字符串

通常接口返回的数据都是二进制数据 二进制转字符串:utf8二进制转字符串 onRoomMsg.body是二进制编码 utf8.decode(onRoomMsg.body)然后字符串转对象 json.decode(utf8.decode(onRoomMsg.body))然后再用fromJson解析 PrankActivityModel prankActivityModel Prank…

新疆大学841软件工程考研

1.软件生产的发展经历了三个阶段,分别是____、程序系统时代和软件工程时代时代。 2.可行性研究从以下三个方面研究每种解决方法的可行性:经济可行性、社会可行性和_____。 3.HIPO图的H图用于描述软件的层次关系&…

Android 12.0 系统systemui下拉通知栏的通知布局相关源码分析

1.前言 在android12.0的系统rom开发中,在进行systemui中的下拉通知栏的布局自定义的时候,对于原生systemui的 系统的下拉通知栏的通知布局的了解也是非常重要的,接下来就来分析下相关的下拉通知栏的通知布局的相关 源码流程,了解这些才方便对通知栏的布局做修改 2.系统sy…

创建maven的Springboot项目出现错误:Cannot access alimaven

创建maven的Springboot项目出现错误:Cannot access alimaven 1)问题2) 分析问题3)解决问题 1)问题 创建maven的Springboot项目出现错误: Cannot access alimaven (http://maven.aliyun.com/nexus/content/groups/p…

“深入探索JVM内部机制:解密Java虚拟机的工作原理“

标题:深入探索JVM内部机制:解密Java虚拟机的工作原理 摘要:本文将深入探索Java虚拟机(JVM)的内部机制,解密其工作原理。我们将介绍JVM的基本组成部分、类加载过程、内存管理和垃圾回收、即时编译器等关键概…

Linux C++ 网络编程基础(2) : TCP多线程一个server对应多个client

目录 一、linux posix线程相关函数介绍二、tcp server基础版本三、tpc服务端多线程版本四、tpc客户端代码tcp编程时, 一个server可以对应多个client, server端用多线程可以实现. linux下多线程可以使用POSIX的线程函数, 下面给出服务端和客户端的代码. 一、linux posix线程相关…