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

news2024/11/25 22:25:15

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

文章目录

  • 【深度学习】【三维重建】windows10环境配置PyTorch3d详细教程
  • Anaconda3
    • 1.安装Anaconda3
    • 2.卸载Anaconda3
    • 3.修改Anaconda3安装虚拟环境的默认位置
  • 安装PyTorch3d
    • 确定版本对应关系
    • 源码编译安装Pytorch3d
  • 总结


Anaconda3

Anaconda3常用命令

1.安装Anaconda3

【官方地址】
页面拉倒底部,下载最新版本

挂VPN下载速度才能起来

安装过程: next–>同意协议–>所有用户–>选择安装位置–>确认–>安装完成
安装完成: CMD打开命令终执行命令,表示正在使用conda基本版的环境。

conda env list


可能会出现 “‘conda’ 不是内部或外部命令,也不是可运行的程序或批处理文件” 问题

需要配置环境变量: 右击此电脑选择属性–>高级系统设置–>系统环境变量–>编辑path
添加anaconda的路径以及anaconda目录下Scripts文件夹路径

2.卸载Anaconda3

打开“控制面板”->“程序”-> “卸载程序”->“右键卸载Annconda3”

3.修改Anaconda3安装虚拟环境的默认位置

找到"C:\Users(用户)\xxxxx\ .condarc" 文件

如果没有.condarc文件,则需要在cmd命令行执行如下命令

# 在cmd命令行执行命令(win10)
conda config --show-sources
# win11下使用这个命令
conda config --set show_channel_urls yes
# 添加以下内容,即你想放置虚拟环境的位置
envs_dirs:
  - D:\Anaconda3_data\envs
pkgs_dirs:
  - ED:\Anaconda3_data\pkgs


这里我顺道修改了anaconda3的源(清华源)

channels:
  - defaults
show_channel_urls: true
channel_alias: http://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
envs_dirs:
  - D:\Anaconda3_data\envs
pkgs_dirs:
  - D:\Anaconda3_data\pkgs

阿里源

channels:
  - defaults
show_channel_urls: true
default_channels:
  - http://mirrors.aliyun.com/anaconda/pkgs/main
  - http://mirrors.aliyun.com/anaconda/pkgs/r
  - http://mirrors.aliyun.com/anaconda/pkgs/msys2
custom_channels:
  conda-forge: http://mirrors.aliyun.com/anaconda/cloud
  msys2: http://mirrors.aliyun.com/anaconda/cloud
  bioconda: http://mirrors.aliyun.com/anaconda/cloud
  menpo: http://mirrors.aliyun.com/anaconda/cloud
  pytorch: http://mirrors.aliyun.com/anaconda/cloud
  simpleitk: http://mirrors.aliyun.com/anaconda/cloud
envs_dirs:
  - D:\Anaconda3_data\envs
pkgs_dirs:
  - D:\Anaconda3_data\pkgs
# 然后执行命令,完成配置
conda install pylint -y

测试修改路径完成情况(anaconda常用命令参考)

conda create -n test python=3.7
conda env list


安装PyTorch3d

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

确定版本对应关系

环境版本要求保持一致:CUDA,CUB,Pytorch,Pytorch3d
本人的安装版本为:

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

注意这里的cub对应的是真实的物理机安装的cuda版本号,不是虚拟环境下的cuda版本号,博主是保持一致的。

博主的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环境中运行三维重建相关的代码。

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

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

相关文章

Day 65: 集成学习之 AdaBoosting (3. 集成器)

代码: package dl;import java.io.FileReader; import weka.core.Instance; import weka.core.Instances;/*** The booster which ensembles base classifiers.*/ public class Booster {/*** Classifiers.*/SimpleClassifier[] classifiers;/*** Number of classi…

解决报错:Can‘t connect to HTTPS URL because the SSL module is not available.

本人今天准备打开安装一个label-studio包,试了很多次,接连报如下错误,因此我就去找了一些解决方案,现在总结如下: 1、报错信息如下 2、解决方案如下: github上有对应的解决方案,链接&#xff…

教师ChatGPT的23种用法

火爆全网的ChatGPT,作为教师应该如何正确使用?本文梳理了教师ChatGPT的23种用法,一起来看看吧! 1、回答问题 ChatGPT可用于实时回答问题,使其成为需要快速获取信息的学生的有用工具。 从这个意义上说,Cha…

安卓开发后台应用周期循环获取位置信息上报服务器

问题背景 最近有需求,在APP启动后,退到后台,还要能实现周期获取位置信息上报服务器,研究了一下实现方案。 问题分析 一、APP退到后台后网络请求实现 APP退到后台后,实现周期循环发送网络请求。目前尝试了两种方案是…

Sui Builder House巴黎站精彩集锦

Sui Builder House巴黎站于7月19日圆满结束,Mysten Labs联合创始人兼CTO的Sam Blackshear在活动上发表了主题演讲。两天的Builder House活动还邀请了Mysten Labs的其他杰出成员分享Sui的发展情况和近期进展,社区成员展示了自己项目并提供见解&#xff0c…

C++继承体系中,基类析构函数请加上virtual,设置为虚函数

为什么建议在存在继承体系时刻我们的类的析构函数加上virtual呢? 大家看段代码。 咋一看,没什么毛病这段代码,让我们画图理解下。 紫框中的前4个字节指向new开辟的空间。 我们知道,当基类A指针指向基类B时候会发生切片 当我们del…

小程序如何修改商品

​商家可能会遇到需要修改产品信息的情况。无论是价格调整、库存更新还是商品描述的修改,小程序提供了简便的方式来帮助你们完成这些操作。下面是一些简单的步骤和注意事项,帮助你们顺利地修改商品。 一、进入商品管理页面 在个人中心点击管理入口&…

工厂电力监控解决方案

1、概述 电力监控系统实现对变压器、柴油发电机、断路器以及其它重要设备进行监视、测量、记录、报警等功能,并与保护设备和远方控制中心及其他设备通信,实时掌握供电系统运行状况和可能存在的隐患,快速排除故障,提高工厂供电可靠…

2023年Q2京东环境电器市场数据分析(京东数据产品)

今年Q2,环境电器市场中不少类目表现亮眼,尤其是以净水器、空气净化器、除湿机等为代表的环境健康电器。此外,像冷风扇这类具有强季节性特征的电器也呈现出比较好的增长态势。 接下来,结合具体数据我们一起来分析Q2环境电器市场中…

承接箱体透明拼接屏项目时,需要注意哪些事项?

承接箱体透明拼接屏项目时,需要注意以下事项: 确定需求:在承接箱体透明拼接屏项目之前,需要明确客户的需求,包括屏幕的大小、分辨率、亮度、色彩等参数,以及使用的环境、观看距离和观看角度等。 材料选择&…

图文教程:如何在 3DS Max 中创建3D迷你卡通房屋

推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 在本教程中,我们将学习如何创建一个有趣的、低多边形的迷你动画房子,你可以在自己的插图或视频游戏项目中使用它。您将学习的一些技能将包括创建基本的3D形状和基本的建模技术。让我…

最简单的固定表格列实现

ref: https://dev.to/nicolaserny/table-with-a-fixed-first-column-2c5b 假设我们现在有这样一个表格 <table><thead><tr><th>姓名</th><th>性别</th><th>民族</th><th>年龄</th><th>籍贯</th>…

好用的敏捷开发项目管理工具有哪些?这3款真的绝绝子!

随着数字化的转型和企业团队成员不断追求高效的工作效率&#xff0c;越来越多优质的敏捷开发项目管理工具&#xff0c;深受广大管理者的青睐。今天我将通过这篇文章为大家介绍3款非常好用的开发项目管理工具&#xff0c;建议收藏起来&#xff01; ​ 1.boardmix boardmix博思…

Jmeter 中 Beanshell 的使用

目录 前言&#xff1a; Beanshell 介绍 常用内置变量 log vars 和 props vars 常用方法&#xff1a; props 常用方法&#xff1a; prev 综合运用 前言&#xff1a; JMeter 是一个广泛使用的性能测试工具&#xff0c;它支持许多不同的测试技术和方法。其中&#xff0c…

浏览器协议TCP详解

浏览器协议TCP详解 浏览器进程负责存储、界面、下载等管理。在渲染进程中&#xff0c;运行着熟知的主线程、合成线程、JavaScript 解释器、排版引擎等。 浏览器进程处理用户在地址栏的输入&#xff0c;然后将 URL 发送给网络进程。网络进程发送 URL 请求&#xff0c;在接收到响…

【Yolov8自动标注数据集完整教程】

Yolov8自动标注数据集完整教程 1 前言2 先手动标注数据集&#xff0c;训练出初步的检测模型2.1 手动标注数据集2.2 Yolov8环境配置2.2.1 Yolov8下载2.2.2 Yolov8环境配置 2.3 Yolov8模型训练&#xff0c;得到初步的检测模型2.3.1 训练方式 3 使用初步的检测模型实现自动数据集标…

STM32 I2C OVR 错误

一、问题 STM32 I2C 用作从机时&#xff0c;开启如下中断并启用 callback 回调函数。 每一次复位后&#xff0c;从机都可以正常触发地址匹配中断ADDR&#xff0c;之后在该中断的回调函数中启用接收中断去收取数据时&#xff0c;却无法进入RXNE中断&#xff0c;而是触发了 OVR …

《数据分析-JiMuReport08》JiMuReport报表开发-报表列数量开发限制调整

JiMuReport报表开发列数量限制调整 1.开发列数限制 JiMuReport报表在开发的时候&#xff0c;需要100-200列的数据&#xff0c;但是在设计到一定数量的时候&#xff0c;水平下拉框就不能滑动了 2.报表参数调整 col: n 在application.yml文件的jmreport配置处&#xff0c;如果想…

【C++】特殊类的设计 | 类型转换

文章目录 1. 特殊类的设计单例模式饿汉模式具体代码 懒汉模式具体代码 懒汉模式和饿汉模式的优缺点 2. C的类型转换C语言的类型转换C的类型转换static_castreinterpret_castconst_castdynamic_cast 1. 特殊类的设计 单例模式 设计模式是 被反复使用 多数人知晓 经过分类的、代…

【Docker】Docker中容器之间通信方式

文章目录 1. Docker容器之间通信的主要方式1.1 通过容器ip访问1.2. 通过宿主机的ip:port访问1.3. 通过link建立连接&#xff08;官方不推荐使用&#xff09;1.4. 通过 User-defined networks&#xff08;推荐&#xff09; 2. 参考资料 1. Docker容器之间通信的主要方式 1.1 通…