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没有安装对
相关文章:
pytorch3d成功安装
一、pytorch3d是什么? PyTorch3D的目标是帮助加速深度学习和3D交叉点的研究。3D数据比2D图像更复杂,在从事Mesh R-CNN和C3DPO等项目时,我们遇到了一些挑战,包括3D数据表示、批处理和速度。我们开发了许多有用的算子和抽象…...
【vue3】同个页面引入多个图表组件实现自适应的方法
首先说明,此方案仅针对vue3项目在同一个页面引入了多个图表组件,因为我发现不能框架不同的引入,resize的写法还不同 window.addEventListener("resize", function() {...// 在此处重新调用即可 }以下是具体写法: 循环…...
一文了解汽车芯片的分类及用途介绍
汽车芯片按其功能可分为控制类(MCU和AI芯片)、功率类、传感器和其他(如存储器)四种类型。市场基本被国际巨头所垄断。人们常说的汽车芯片是指汽车里的计算芯片,按集成规模可分为MCU芯片和AI芯片(SoC芯片&am…...
Linux0.11内核源码解析-truncate.c
truncate文件只要实现释放指定i节点在设备上占用的所有逻辑块,包括直接块、一次间接块、二次间接块。从而将文件节点对应的文件长度截为0,并释放占用的设备空间。 索引节点的逻辑块连接方式 释放一次间接块 static void free_ind(int dev,int block) {…...
LED驱动型IC芯片的原理介绍
一、LED驱动器是什么 LED驱动器(LED Driver),是指驱动LED发光或LED模块组件正常工作的电源调整电子器件。由于LED PN结的导通特性决定,它能适应的电源电压和电流变动范围十分狭窄,稍许偏离就可能无法点亮LED或者发光效…...
VLAN实验
实验题目如下: 实验拓扑如下: 实验要求如下: 【1】PC1/3的接口均为access模式,且属于van2,在同一网段 【2】PC2/4/5/6的IP地址在同一网段,与PC1/3不在同一网段 【3】PC2可以访问4/5/6,PC4不能…...
Qt应用开发(基础篇)——高级纯文本窗口 QPlainTextEdit
一、前言 QPlainTextEdit类继承于QAbstractScrollArea,QAbstractScrollArea继承于QFrame,是Qt用来显示和编辑纯文本的窗口。 滚屏区域基类https://blog.csdn.net/u014491932/article/details/132245486?spm1001.2014.3001.5501框架类QFramehttps://blo…...
三维可视化平台有哪些?Sovit3D可视化平台怎么样?
随着社会经济的发展和数字技术的进步,互联网行业发展迅速。为了适应新时代社会发展的需要,大数据在这个社会经济发展过程中随着技术的进步而显得尤为重要。同时,大数据技术的快速发展进程也推动了可视化技术的飞速发展,国内外各类…...
Xxl-job安装部署以及SpringBoot集成Xxl-job使用
1、安装Xxl-job: 可以使用docker拉取镜像部署和源码编译两种方式,这里选择源码编译安装。 代码拉取地址: https://github.com/xuxueli/xxl-job/tree/2.1.2 官方开发文档: https://www.xuxueli.com/xxl-job/#%E3%80%8A%E5%88%…...
【【超声波避障小车代码】】
超声波避障小车代码 #include <reg51.h> //通用51头文件 #include <intrins.h> //使用了_nop()_函数#define uchar unsigned char //用 uchar 表示 unsigned char 类型 #define uint unsigned int //用 uint 表示 unsigned int 类型sbit EN…...
TDI(Time Delay Integration)
TDI(Time Delay Integration)是一种特殊的图像采集技术,常用于线阵CCD(Charge-Coupled Device)相机。TDI技术可以在保持高分辨率的同时增强图像的信噪比(Signal-to-Noise Ratio, SNR)࿰…...
RHCE——一、安装部署及例行性工作
RHCE 一、网络服务1、准备工作2、RHEL9操作系统的安装部署3、配置并优化RHEL9操作系统4、网络配置5、修改网络连接 二、例行性工作1、单一执行的例行性工作2、循环执行的例行性工作 三、书写定时任务的注意事项四、系统级别的计划任务五、实验1、实验一:编写脚本tes…...
服务器数据库中了360后缀勒索病毒怎么办?360后缀勒索病毒的加密形式
随着信息技术的发展,企业的计算机服务器数据库变得越来越重要。然而,在数字时代,网络上的威胁也日益增多。近期,我们收到很多企业的求助,企业的计算机服务器遭到了360后缀勒索病毒的攻击,导致服务器内的所有…...
期权就是股指期货吗,哪个好做一点?
近年来,场内ETF期权产品不断扩大,越来越多的投资者有投资期权的想法。当我们看到期权时,我们会不知不觉地想到期货,虽然期货与期权只有一个字的区别,但实际上有很大的不同,那么期权就是股指期货吗ÿ…...
week32
本周目标: Belady现象的解释 操作系统 计组IO/MM chapter 刷力扣 ubuntu磁盘/网络/命令行进阶*1 tarball之类的使用 Question 大数据系统实验要学吗? 据说课讲得不好这是一门类似数据库的课程——大数据之hadoop / hive / hbase 的区别是什么&a…...
【数据库】P1 数据库基本常识
数据库基本常识 数据库 ≠ 数据库管理系统表(Table)SQL是什么 数据库 ≠ 数据库管理系统 数据库是保存有组织的数据的容器,数据库称为 DB(DataBase);数据库管理系统是创建和操纵数据库的软件,数…...
c语言——计算两个数的乘积
//计算两个数的乘积 #include<stdio.h> #include<stdlib.h> int main() {double firstNumber,secondNumber,product;printf("两个浮点数:");scanf("%lf,%lf",&firstNumber,&secondNumber);productfirstNumber*secondNumber…...
单机模型并行最佳实践
单机模型并行最佳实践 模型并行在分布式训练技术中被广泛使用。 先前的帖子已经解释了如何使用 DataParallel 在多个 GPU 上训练神经网络; 此功能将相同的模型复制到所有 GPU,其中每个 GPU 消耗输入数据的不同分区。 尽管它可以极大地加快训练过程&…...
编程练习(3)
一.选择题 第一题: 函数传参的两个变量都是传的地址,而数组名c本身就是地址,int型变量b需要使用&符号,因此答案为A 第二题: 本题考察const修饰指针变量,答案为A,B,C,D 第三题: 注意int 型变…...
PyTorch学习笔记(十三)——现有网络模型的使用及修改
以分类模型的VGG为例 vgg16_false torchvision.models.vgg16(weightsFalse) vgg16_true torchvision.models.vgg16(weightsTrue) 设置为 False 的情况,相当于网络模型中的参数都是初始化的、默认的设置为 True 时,网络模型中的参数在数据集上是训练好…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
HTML前端开发:JavaScript 获取元素方法详解
作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...
图解JavaScript原型:原型链及其分析 | JavaScript图解
 忽略该图的细节(如内存地址值没有用二进制) 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么:保存在堆中一块区域,同时在栈中有一块区域保存其在堆中的地址(也就是我们通常说的该变量指向谁&…...
基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)
引言 在嵌入式系统中,用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例,介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单,执行相应操作,并提供平滑的滚动动画效果。 本文设计了一个…...
stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)
这是系统中断服务程序的默认处理汇编函数,如果我们没有定义实现某个中断函数,那么当stm32产生了该中断时,就会默认跑这里来了,所以我们打开了什么中断,一定要记得实现对应的系统中断函数,否则会进来一直循环…...
手动给中文分词和 直接用神经网络RNN做有什么区别
手动分词和基于神经网络(如 RNN)的自动分词在原理、实现方式和效果上有显著差异,以下是核心对比: 1. 实现原理对比 对比维度手动分词(规则 / 词典驱动)神经网络 RNN 分词(数据驱动)…...
