win下配置pytorch3d

news2025/1/18 20:07:59

一、配置好的环境:py 3.9 + pytorch 1.8.0 + cuda 11.1_cudnn 8_0 + pytorch3d 0.6.0 + CUB 1.11.0

你可能觉得pytorch3d 0.6.0版本有点低,但是折腾不如先配上用了,以后有需要再说。
(后话:py 3.9 + pytorch 1.12.1 + cuda 11.3_cudnn 8_0 + pytorch3d 0.7.1 + CUB 1.11.0 也OK的)

1.1 创建新环境

conda create -n torch3Dtorch180 python=3.9
conda activate torch3Dtorch180

1.2 找之前的pytorch版本,我这里直接给出我的选择的版本

# CUDA 11.1
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge

一行行复制粘贴运行下面的命令

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

1.3 下载对应的pytroch3d,Version 0.6.0

在这里插入图片描述
解压后,在pytorch3d中源码修改以下:

1.3.1 setup.py 中43行:

extra_compile_args = {"cxx": ["-std=c++14"]},改为extra_compile_args = {"cxx": []}

1.3.2 setup.py 中60行:

-std=c++14那行注释掉

1.3.3 pytorch3d/csrc/iou_box3d.cu 18行:

#include "utils/pytorch3d_cutils.h" 那行注释掉

1.3.4 pytorch3d/csrc下,iou_utils.cuh和 iou_utils.h 中搜索not

像下面的这种语句中,把not改为!
在这里插入图片描述

1.3.5 在你环境中的torch\utils\cpp_extension.py中

本人的是E:\01_softwares\07_Anaconda3\install\envs\torch3Dtorch180\Lib\site-packages\torch\utils\cpp_extension.py

match = re.search(r'(\d+)\.(\d+)\.(\d+)', compiler_info.decode().strip())中加入 "gbk"
在这里插入图片描述

1.4 下载对应的 CUB

具体的CUB与cuda toolkit对应关系见 https://github.com/NVIDIA/cub,这里我下载的是CUB 1.11.0
在这里插入图片描述

在这里插入图片描述
同样的解压到你想要的位置,添加设置环境变量,变量名CUB_HOME,变量值即为刚才解压的cub的文件路径
在这里插入图片描述


二、安装CUDA ToolKit 11.3

这部分参考:https://blog.csdn.net/weixin_43469047/article/details/130170756?spm=1001.2014.3001.5501


三、下载VS2019

如果你有VS2022,大可以先试试,不行再下VS2019。


四、最后的配置

搜索x64即可找到x64 Native Tools Command Prompt for VS 2019终端,切换路径和虚拟环境。
在这里插入图片描述
依次执行下面命令:

set DISTUTILS_USE_SDK=1
set PYTORCH3D_NO_NINJA=1

最后执行安装pytorch3D的代码

python setup.py install

等待10分钟,就装好了
在这里插入图片描述


以上参考自:
《pytorch3D Windows下安装经验总结》
《win10系统下安装PyTorch3d》


总结一些问题:

1、

在这里插入图片描述
可能的解决方案:使用VS2019而不是VS2022,VS2019的具体小版本倒无所谓,因为我去找community社区版也只有最后一版可供下载了。
参考自:https://github.com/facebookresearch/pytorch3d/issues/1024


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

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

相关文章

Log4j日志

log4j日志简介组成Logger 日志记录器Appender 日志目的地(Windows下的路径分隔符)※Layout 日志信息布局layout 指定输出的样式模板?layout.ConversionPattern 指定输出的每项内容及其格式顺序日志信息等级/优先级使用的Log4j的jar包代码示例…

BGP路由控制

实验要求 IP地址分配 给所有路由器按要求配置IP地址,AS之间使用AR编号连接作为IP,例如34.0.0.0/30。 在AS123中启动OSPF 启动BGP,并将24网段的路由宣告 R4 [r4]bgp 400 [r4-bgp]peer 24.0.0.2 as-number 123 [r4-bgp]peer 34.0.0.2 as-num…

Qt关于第三方库介绍

文章目录前言一、获取第三方库二、Makefile是什么?三、将第三方库添加到 Qt 项目中四、mingw和msvc的区别五、安装msvc六、安装mingw七、如何使用不同的编译器前言 本专栏的系统为:windows11 qt版本为:qt6.4.2 提示:以下是本篇文…

【从零开始学Skynet】实战篇《球球大作战》(五):gateway代码设计(上)

1、协议格式 在写代码之前,我们要先了解什么是协议,协议就是 “客户端向服务端发起的登录请求”,那么登录请求是什么样子的呢?这得先从TCP数据流说起,客户端发起的请求,就是一些二进制数据。 (…

OpenCV实例(六)行人检测

OpenCV实例(六)行人检测1.行人检测概述2.行人检测基础实现2.1基本流程2.2实现程序2.3参数优化3.完整行人检测程序作者:Xiou 1.行人检测概述 行人检测是目标检测的一个分支。目标检测的任务是从图像中识别出预定义类型目标,并确定…

【Python】json数据解析

目录 json文件数据解析 爬虫获取王者荣耀英雄信息json数据包并解析 爬虫获取抖音视频json数据包并解析 json文件数据解析 json字符串:通常类似python数据类型中的列表和字典的结合,也可能是单独的列表或者字典格式,通常可以通过json模块的…

亚马逊影响搜索排名的主要因素有哪些,使用测评做排名有哪些要求?

亚马逊产品的排名越高就意味着分配的流量越多而且带来更高的销量。那主要有哪些因素影响产品的排名呢? 1、产品销量 产品销量反映了该产品在同类产品中的销售情况,该数值会在产品Listing中展示,平台会每小时更新一次该排行榜。在平台算法看…

【Linux】线程控制分析:如何获取线程ID?线程如何自动回收?

Linux系统中, 线程是轻量级的进程. 我们已经介绍过了线程的相关概念, 见过了线程再Linux操作系统中的存在形式. 我们知道, 进程有自己相关控制接口, 等待、创建等 而线程作为轻量级的进程, 其实也是有控制接口的. 文章目录线程控制线程的创建与回收演示获取线程idpthread_sel…

用户管理系统-自动化测试

文章目录1. 思维导图编写 Web 自动化测试用例2. 创建测试项目3. 根据思维导图设计用户管理系统自动化测试用例3.1 准备工具类3.2 测试登录页面3.3 测试用户列表页3.4 测试添加用户页3.5 测试修改用户页3.6 未登录状态4. 自动化测试项目总结4.1 自动化测试项目实现步骤4.2 当前项…

图数据库驱动的基础设施运维实操

本文系图技术在大型、复杂基础设施之中 SRE/DevOps 的实践参考,并以 OpenStack 系统之上的图数据库增强的运维案例为例,揭示图数据库、图算法在智能运维上的应用。本文所有示例代码开源。 最近,有些尚未使用过图技术、DevOps/Infra 领域的工程…

除了Java,还可以培训学习哪些IT技术?

除了Java,还可以培训学习哪些IT技术?转行IT学Java似乎已经成为很多人的首选,原因无非是开发技术含量高、开发有前景、开发是一个互联网企业的核心岗位,最重要的是开发薪资待遇高。但其实只单纯因为薪资选择Java的话,小…

Flask数据迁移详细步骤

数据迁移详细步骤: 1. 安装好数据迁移的包 flask-sqlalchemy和flask-migrate Flask模型相关包安装 2. 在exts.py中初始化Migrate和SQLAlchemy 3. 在models中定义好模型 4. 在views.py中一定要导入models模块 from .models import * 5. 配置好数据库(sql…

MYSQL笔记01 数据库概述,SELECT语句,运算符,排序与分页,多表查询

数据库概述 为什么要使用数据库 持久化:把数据保存在可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以"固化",而持久化的实现过程大多通过各种关系数据…

详解 23 种设计模式(多图 + 代码)

创建型模式 创建型模式的作用就是创建对象,说到创建一个对象,最熟悉的就是 new 一个对象,然后 set 相关属性。但是,在很多场景下,我们需要给客户端提供更加友好的创建对象的方式,尤其是那种我们定义了类&a…

每68个孩子里,就有一个自闭症,“来自星星的孩子”,离我们很近

今年4月2日是世界上第14个“世界自闭症日”。自闭症儿童,又称“星星儿童”,形容他们像遥远的星星一样独自在夜空中闪耀。自闭症并不少见根据世卫组织的调查,世界上每160名儿童中就有一人患有自闭症。根据《中国自闭症(自闭症&…

【从零开始学Skynet】基础篇(四):网络模块常用API

游戏服务端要处理客户端请求,作为服务端引擎,网络编程也是Skynet的核心功能。1、学习网络模块 skynet.socket模块提供了网络编程的API,常用的API如下表所示:Lua API说明socket.listen(address ,port)监听一个端口,返回…

你需要知道的企业网页制作流程

企业网页制作是企业建立线上形象和宣传的重要手段之一,它不仅可以提高企业的品牌知名度,还可以扩大企业的影响力和拓展客户群。下面,我们将介绍一些企业网页制作的基本流程和技巧,并结合一个案例来详细解析。 企业网页制作的基本…

【DT】蒸脱机的结构和工作原理

DT蒸脱机的结构和工作原理什么是DTDT结构图工作过程什么是DT DT 蒸脱机(DesolventazationerToaster),根据英文名可以看出来,他的作用是脱溶、烘烤。用于蒸脱湿豆粕中的溶剂。 大豆油生产工艺有2种:压榨油的加工工艺是…

C++标准库--IO库(Primer C++ 第五版 · 阅读笔记)

C标准库--IO库(Primer C 第五版 阅读笔记)第8章 IO库8.1、IO类8.2、文件输入输出8.3、string流总结:第8章 IO库 8.1、IO类 为了支持这些不同种类的IO处理操作,在istream和ostream之外,标准库还定义了其他一些IO类型。 如下图分…

Java中的注解,自定义注解

文章目录1. 注解概述2. 注解与注释3. 注解的重要性4. 常见的Annotation作用4.1 生成文档相关的注解4.2 在编译时进行格式检查(JDK内置的三个基本注解)5. 元注解6. 自定义注解6.1 定义自定义注解6.2 使用自定义注解6.3 读取和处理自定义注解框架 注解 反射 设计模式 1. 注解概…