【深度学习】【三维重建】windows10环境配置PyTorch3d详细教程

【深度学习】【三维重建】windows10环境配置PyTorch3d详细教程

文章目录

  • 【深度学习】【三维重建】windows10环境配置PyTorch3d详细教程
  • 前言
  • 确定版本对应关系
  • 源码编译安装Pytorch3d
  • 总结


前言

本人windows10下使用【Code for Neural Reflectance Surfaces (NeRS)】算法时需要搭建PyTorch3d环境,故此以详细教程以该算法依赖的环境版本为参照。

win11版本不能使用CUDA 10.2版本,可以参考博主的【Windows11下NeRS官方代码Pytorch实现】

确定版本对应关系

【windows10环境配置详细教程】
环境版本要求保持一致:CUDA,CUB,Pytorch,Pytorch3d

注意这里的cub对应的是真实的物理机安装的cuda版本号(环境变量里配置的cuda),不是虚拟环境下的cuda版本号,否则即使pytorch3d安装成功,也不能使用gpu。

本人的安装版本为:

Python 3.8 + Pytorch 1.7.1 + CUDA Toolkit 10.2 + CUB1 .10.0 + Pytorch3d 0.5.0 +

使用anaconda3新建PyTorch3d虚拟环境:

conda create -n pytorch3d python=3.8
activate pytorch3d

然后安装对应版本pytorch和cuda包:

conda install -c pytorch pytorch=1.7.1 torchvision=0.8.2 cudatoolkit=10.2

博主的cuda版本为10.2,NVIDIA CUB推荐1.10.0,下载解压后将其路径添加到环境变量中:

注意不是在Path中添加

安装Pytorch3d的依赖项:

conda install -c fvcore -c iopath -c conda-forge fvcore iopath

源码编译安装Pytorch3d

选择Pytorch3d版本,各版本下有注明其适用的pytorch版本,博主这里是0.5.0版本。

安装VS 2019,以管理者身份打开"x64 Native Tools Command Prompt for VS 2019"终端,cd到pytorch3d解压目录里,输入以下指令:

activate pytorch3d
set DISTUTILS_USE_SDK=1
set PYTORCH3D_NO_NINJA=1


修改pytorch3d里setup.py文件的源码:

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


继续在"x64 Native Tools Command Prompt for VS 2019"执行以下命令:

# 可能需要科学上网,需要下载一些依赖.
python setup.py install

成功安装。

# 查看环境中的是否成功安装包
conda list


总结

尽可能简单、详细的介绍windows10环境配置PyTorch3d详细教程,后续可以在当前配置的PyTorch3d环境中运行三维重建相关的代码。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python 网络编程

TCP编程 客户端 创建TCP连接时,主动发起连接的叫做客户端,被动响应的叫做服务端。当定义一个Socket表示打开一个网络连接,创建一个Socket需要知道目标计算机的IP地址和端口号和对应的协议类型。 # 导入socket库: import socket# 创建一个s…

深度剖析C++ 异常机制

传统排错 我们早在 C 程序里面传统的错误处理手段有: 终止程序,如 assert;缺陷是用户难以接受,说白了就是一种及其粗暴的手法,比如发生内存错误,除0错误时就会终止程序。 返回错误码。缺陷是需要我们自己…

网络安全/信息安全—学习笔记

一、网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面…

golang文件锁,目录锁,syscall包的使用

先说结论 1. golang提供了syscall包来实现文件/目录的加锁,解锁 2. syscall包属于文件锁,是比较底层的技术,并不能在所有操作系统上完全实现,linux上实现了,windows下面就没有 3. 加锁时调用syscall.Flock(fd&#…

2023 年还推荐报计算机专业吗?

计算机科学是一个很好的专业,因为它由各种课程组成,为学生在成熟和新兴专业就业做好准备。以下是一些通常属于计算机科学专业的课程: 基本编程介绍了用于构建和维护数字架构和基础设施的编程语言和标准。 微积分为制定高级计算和设计概念提供…

mac不识别移动硬盘导致无法拷贝资源

背景 硬盘插入到Mac电脑上之后,mac不识别移动硬盘导致无法拷贝资源。 移动硬盘在Mac上无法被识别的原因可能有很多,多数情况下,是硬盘的格式与Mac电脑不兼容。 文件系统格式不兼容 macOS使用的文件系统是HFS或APFS,如果移动硬盘是…

C# 关于使用newlife包将webapi接口寄宿于一个控制台程序、winform程序、wpf程序运行

C# 关于使用newlife包将webapi接口寄宿于一个控制台程序、winform程序、wpf程序运行 安装newlife包 Program的Main()函数源码 using ConsoleApp3; using NewLife.Log;var server new NewLife.Http.HttpServer {Port 8080,Log XTrace.Log,SessionLog XTrace.Log }; serv…

OpenLayers入门,OpenLayers鼠标移动事件使用,实现鼠标移动到点位上方后高亮显示点位要素

专栏目录: OpenLayers入门教程汇总目录 前言 本章主要讲解OpenLayers鼠标移动事件的使用,并简单实现鼠标移动到点位上方后高亮显示点位要素的功能,带领大家快速上手OpenLayers鼠标移动事件的应用。 二、依赖和使用 "ol": "^6.15.1"使用npm安装依赖…

nlp系列(6)文本实体识别(Bi-LSTM+CRF)pytorch

模型介绍 LSTM:长短期记忆网络(Long-short-term-memory),能够记住长句子的前后信息,解决了RNN的问题(时间间隔较大时,网络对前面的信息会遗忘,从而出现梯度消失问题,会形成长期依赖…

JavaEE简单示例——在使用Tomcat的时候可能出现的一些报错

简单介绍: 在我们之前使用Tomcat的时候,经常会出现在启动的时候因为一些报错导致项目无法正常的启动,我们就对一些比较常见的报错来看一下可能导致的原因,以及出现报错之后如何去解决。 严重: Failed to initialize end point a…

Flutter 添加 example流程

一、已有Flutter工程(命令)添加 example 1、cd 工程(flutter_plugin ,是自己创建的)根目录 例: flutter create example 执行命令创建example PS:cd example 后执行flutter doctor 后就可以看到效果 2、如果需要指定iOS/Android 语言,请添加…

[Python] flask运行+wsgi切换生产环境+supervisor配置指南

文章目录 问题背景flask启动方式1(编写main函数):方式2(编译器):方式3(命令行):方法4(重命名文件法):方法5(使用flask命令…

【C++ 进阶】第 1 章:[C 语言基础] C 语言概述与数据类型

目录 一、C 语言的概述 (1)计算机结构组成 (2)计算机系统组成 (3)ASCII 码 (4)计算机中的数制及其转换 (5)程序与指令 (6)语…

菜鸡shader:L13 渐隐渐显的UV动画

文章目录 SD部分Shader代码部分 呃呃,这是目前我学习庄懂AP01课程的最后一节了,我看了一下21集之后的内容是关于LightingMap,目前感觉还用不到,加上之前参与过一个项目里面也有用到LightingMap,也算了解过,…

【深度学习】【Image Inpainting】Generative Image Inpainting with Contextual Attention

Generative Image Inpainting with Contextual Attention DeepFillv1 (CVPR’2018) 论文:https://arxiv.org/abs/1801.07892 论文代码:https://github.com/JiahuiYu/generative_inpainting 论文摘录 文章目录 效果一览摘要介绍论文贡献相关工作Image…

Unity XML1——XML基本语法

一、XML 概述 ​ 全称:可拓展标记语言(EXtensible Markup Language) ​ XML 是国际通用的,它是被设计来用于传输和存储数据的一种文本特殊格式,文件后缀一般为 .xml ​ 我们在游戏中可以把游戏数据按照 XML 的格式标…

23款奔驰GLS450加装原厂香氛负离子系统,清香宜人,久闻不腻

奔驰原厂香氛合理性可通过车内空气调节组件营造芳香四溢的怡人氛围。通过更换手套箱内香氛喷雾发生器所用的香水瓶,可轻松选择其他香氛。香氛的浓度和持续时间可调。淡雅的香氛缓缓喷出,并且在关闭后能够立刻散去。车内气味不会永久改变,香氛…

maven编译报错

参考链接:mvn打包No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK_51CTO博客_mvn打包命令 在执行 yum install -y java-1.8.0-opensdk命令后,使用maven去编译打包,结果报错, …

STM32MP157驱动开发——按键驱动(工作队列)

文章目录 “工作队列”机制:内核函数work_struct 结构体定义 work使用 work :schedule_workworkqueue 其他函数 工作队列方式的按键驱动程序(stm32mp157)编程思路button_test.cgpio_key_drv.cMakefile修改设备树文件编译测试 “工作队列”机制&#xff1…

找不到vcruntime140.dll无法继续执行代码怎么办?(详解)

1.vcruntime140.dll是什么?有什么作用? vcruntime140.dll是Windows操作系统中的一个动态链接库文件,它属于Microsoft Visual C Redistributable的一部分。DLL是Dynamic Link Library的缩写,它包含了一系列函数和资源,…