【深度學習】【三維重建】windows11環境配置PyTorch3d詳細教程

【深度學習】【三維重建】windows11環境配置PyTorch3d詳細教程

文章目錄

  • 【深度學習】【三維重建】windows11環境配置PyTorch3d詳細教程
  • 前言
  • 確定版本對應關系
  • 源碼編譯安裝Pytorch3d
  • 總結


前言

本人windows11下使用搭建PyTorch3d環境,故此以詳細教程以該算法依賴的環境版本為參照。


確定版本對應關系

環境版本要求保持一致:CUDA,CUB,Pytorch,Pytorch3d
查看CUDA版本

注意這里的cub對應的是真實的物理機安裝的cuda版本號(環境變量里配置的cuda),不是虛擬環境下的cuda版本號。

nvcc -V

假設已經安裝了其他版本的cuda和對應的cudnn,可以參考博主的博文【Windows10中下安裝多版本CUDA及其切換】
本人的安裝版本為:

Python 3.9 + Pytorch 2.2.2 + CUDA 11.8 + cudnn 8_0 + pytorch3d 0.7.6 + CUB 1.17.2

使用anaconda3新建PyTorch3d虛擬環境:

conda create -n pytorch3d python=3.9
activate pytorch3d

然后安裝對應版本pytorch和cuda包:

pip install torch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 --index-url https://download.pytorch.org/whl/cu118

安裝Pytorch3d的依賴項:

pip install fvcore iopath "numpy>=1.21,<2" -i https://pypi.tuna.tsinghua.edu.cn/simple/

查詢對照表,查看cuda對應的cub版本。

TBD版本表示目前還沒有確定下將被包含在具體那個CUDA Toolkit或NVIDIA HPC SDK版本中。博主的cuda版本為11.8,選擇了cub 1.17.2,沒有問題。

根據對照表需要下載對應版本的NVIDIA CUB。
設置永久環境變量:在環境變量中新建CUB_HOME變量名,設置變量值為解壓路徑(博主在 F:\cub-1.17.2),注意不是添加到Path中:

設置臨時環境變量(推薦):要是覺得CUB用的少,避免上面那種將“雜七雜八”的內容永久塞進系統環境變量,使用 set 命令設置臨時環境變量。

僅對當前命令行窗口生效,無需永久修改系統配置,不影響系統全局配置。
優先級:臨時變量 > 用戶變量 > 系統變量。

set CUB_HOME=F:\cub-1.17.2
# 查詢環境變量,除了當前命令行窗口,在新窗口是沒有顯示路徑的
echo %CUB_HOME%

源碼編譯安裝Pytorch3d

選擇Pytorch3d版本,各版本下有注明其適用的pytorch版本,博主這里是 0.7.6版本。

以管理者身份打開"x64 Native Tools Command Prompt for VS 2019"終端(安裝VS 2019),cd到pytorch3d解壓目錄里(博主在 F:\pytorch3d-0.7.6),輸入以下指令:

# 激活對應的環境,進入到Pytorch3d路徑下
cd pytorch3d-0.7.6
activate pytorch3d
set DISTUTILS_USE_SDK=1
set PYTORCH3D_NO_NINJA=1
# 設置是臨時環境變量,只在當前命令行窗口有效(設置了永久環境變量可以忽視)
set CUB_HOME=F:\cub-1.17.2

由于外部 CUB 與 CUDA 自帶 Thrust/CUB 沖突,導致可能出現如下錯誤:

官方參考:編輯位于 "Files/NVIDIA GPU Computing Toolkit/CUDA/v11.8/include\thrust/system/cuda/config.h"的config.h文件。

找到自己的CUDA路徑下的config.h文件。

在它前面加上一行
#ifndef THRUST_IGNORE_CUB_VERSION_CHECK 
修改后為
#define THRUST_IGNORE_CUB_VERSION_CHECK
#ifndef THRUST_IGNORE_CUB_VERSION_CHECK 

繼續在"x64 Native Tools Command Prompt for VS 2019"執行以下命令:

# 可能需要科學上網,需要下載一些依賴.
python setup.py install

成功安裝。

# 查看環境中的是否成功安裝包
conda list


用一段測試代碼驗證pytorch3d能否正常使用。

import torch
from pytorch3d.structures import Meshes
from pytorch3d.utils import ico_sphere# 創建一個簡單的3D球體
sphere_mesh = ico_sphere(3, device=torch.device("cuda"))# 打印球體的頂點和面信息
print("頂點坐標:", sphere_mesh.verts_packed())
print("面索引:", sphere_mesh.faces_packed())

說明能夠正常使用。


總結

盡可能簡單、詳細的介紹windows1環境配置PyTorch3d詳細教程,后續可以在當前配置的PyTorch3d環境中運行三維重建相關的代碼。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/91841.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/91841.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/91841.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SpringBoot+Mybatis+MySQL+Vue+ElementUI前后端分離版:日志管理(四)集成Spring Security

目錄 一、前言 二、后端開發及調整 1.日志管理開發 2.配置調整 3.日志入庫&#xff08;注解、切面&#xff09; 三、前端調整 1.日志管理開發 四、附&#xff1a;源碼 1.源碼下載地址 五、結語 一、前言 此文章在上次調整的基礎上開發后端管理系統的用戶請求日志功能&…

ceph 14.2.22 nautilus Balancer 數據平衡

Ceph Balancer (upmap 模式) 啟用與配置 在 Ceph Nautilus (14.2.22) 版本中啟用和配置 Balancer 的完整步驟 1. 前提檢查 檢查集群的初始狀態和版本。 集群狀態 (ceph -s)cluster:id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxhealth: HEALTH_OKservices:mon: 3 daemons, quo…

在Linux上對固態硬盤進行分區、格式化和掛載的步驟

在Linux上對固態硬盤進行分區、格式化和掛載的步驟如下&#xff1a; 插入固態硬盤&#xff1a;將固態硬盤插入計算機的SATA或M.2接口。 確認固態硬盤被識別&#xff1a;打開終端&#xff0c;輸入以下命令查看硬盤是否被系統識別 fdisk -l 查找硬盤列表中的固態硬盤&#xf…

用Unity結合VCC更改人物模型出現的BUG

1、上傳模型時出現錯誤經過排查是因為服裝發型預制體放到人物模型上之后&#xff0c;物體上自動多了一個空腳本&#xff0c;懷疑是VRC工具箱自動添加的。解決方法&#xff1a;在上傳前將帶有空腳本的物體上的組件刪除即可2、添加頭發時出現模型碰撞錯誤按照【【VRCHAT】從零開始…

k8s之DevicePlugin

解密 Kubernetes Device Plugin&#xff1a;讓容器輕松駕馭特殊硬件 在容器化技術飛速發展的今天&#xff0c;容器憑借輕量、隔離、可移植的特性成為應用部署的主流選擇。但在實際應用中&#xff0c;當容器需要訪問 GPU、FPGA 等特殊硬件資源時&#xff0c;事情就變得不那么簡單…

動態規劃Day7學習心得

今天給動態規劃掃個尾&#xff0c;還有兩題。 第一道&#xff1a;647. 回文子串 - 力扣&#xff08;LeetCode&#xff09; 暴力解法 兩層for循環&#xff0c;遍歷區間起始位置和終止位置&#xff0c;然后還需要一層遍歷判斷這個區間是不是回文。所以時間復雜度&#xff1a;O…

SpringCloud實戰:機器人對戰系統架構

基于Spring Cloud的機器人對戰 以下是基于Spring Cloud的機器人對戰實例相關案例和技術實現方向的整理,涵蓋微服務架構設計、通信機制及典型應用場景: 分布式對戰系統架構 采用Spring Cloud Alibaba+Nacos實現服務注冊與發現,每個機器人實例作為獨立微服務部署。通過Open…

LLM 核心能力解構與項目實踐指南

大語言模型&#xff08;LLM&#xff09;的爆發式發展&#xff0c;本質上是其核心能力在產業場景中的規模化驗證。作為技術博主&#xff0c;本文將系統拆解 LLM 的六大核心能力&#xff0c;結合工業級項目案例&#xff0c;提供從能力映射到工程實現的完整技術路徑&#xff0c;并…

retro-go 1.45 編譯及顯示中文

最近做了個使用 retro-go 的開源掌機 基于ESP32-S3的C19掌機&#xff08;適配GBC外殼&#xff09; - 立創開源硬件平臺 &#xff0c;做完后用提供的固件發現屏幕反顯了&#xff0c;估計是屏幕型號不太對&#xff0c;隨即自己拉 retro-go 官方庫來編譯&#xff0c;拉取的最新的 …

中州養老項目:Mybatis自動填充攔截器

功能:在新增護理項目的時候,創建人,創建時間和修改時間字段會自動攔截填充,這些公共字段可以省去我們一個一個處理的麻煩依靠:AutoFillInterceptor攔截器,MybatisConfig配置類第一步:我們需要借助一個MybatisConfig,configuration標志著這是一個配置類,我們需要將autoFillInter…

[創業之路-527]:什么是產品技術成熟度曲線?

產品技術成熟度曲線&#xff08;Gartner Hype Cycle&#xff09;是由全球知名咨詢機構Gartner提出的工具&#xff0c;用于可視化展示新興技術從誕生到成熟的發展軌跡&#xff0c;以及市場對其預期和實際采用趨勢的變化。該曲線通過五個階段刻畫技術生命周期&#xff0c;幫助企業…

VScode對Ubuntu用root賬號進行SSH遠程連接開發

由于linux服務器大部分都是基于命令行的操作&#xff0c;缺乏比較方便好用的編輯工具&#xff0c;對于經常在linux服務器上做開發的同學來說直接在服務器上進行開發或配置文件的修改還不是特別的方便。雖然linux上有vi或vim比起圖形化的編輯工具體驗感還是不是很好。作為程序員…

【物聯網】基于樹莓派的物聯網開發【20】——樹莓派控制DHT11溫濕度傳感器實戰

傳感器概述 DHT11是一款有已校準數字信號輸出的溫濕度傳感器。 其精度濕度5%RH&#xff0c; 溫度2℃&#xff0c;量程濕度20-90%RH&#xff0c; 溫度0~50℃。分為3個接口&#xff0c;分別為&#xff1a;VCC, DATA, GND。 產品圖片主要用途 檢測環境溫濕度 GPIO控制DHT11溫濕度傳…

AI原生數據庫:告別SQL的新時代來了?

在2025年的今天&#xff0c;生成式AI的浪潮正以前所未有的力量重塑著各行各業。從代碼生成到藝術創作&#xff0c;大型語言模型&#xff08;LLM&#xff09;的能力邊界不斷被拓寬。現在&#xff0c;這股浪潮正涌向信息技術領域最古老、最核心的基石之一&#xff1a;數據庫。一個…

題單【模擬與高精度】

P1042 [NOIP 2003 普及組] 乒乓球 P1042 [NOIP 2003 普及組] 乒乓球 - 洛谷 #include<bits/stdc.h> using namespace std;char C; string S; int n,A,B;void Work(int Lim) {for(char i:S){if(iW) A;if(iL) B;if(max(A,B)>Lim && abs(A-B)>2){cout<<…

數據結構學習基礎和從包裝類緩存到泛型擦除的避坑指南

目錄 1.數據結構的概念和算法 1.1 數據結構的概念 1.2 數據結構的集合框架 1.3 算法 1.3.1 時間復雜度 1.3.2 空間復雜度 2.包裝類 2.1 為什么需要包裝類&#xff1f; 2.2 裝箱和拆箱 3. 初識泛型 3.1 認識泛型 3.2 泛型類的使用 3.3 泛型的編譯 3.4 通配符 3.4.1 …

網絡安全基礎知識【6】

什么是防火墻1.防火墻指的是一個由軟件和硬件設備組合而成、在內部網和外部網之間、 專用網與公共網之間的界面上構造的保護屏障 2.防火墻實際上是一種隔離技術 3.防火墻重要的特征是增加了區域的概念防火墻的定義 隔離可信與不可信網絡的設備/軟件&#xff0c;基于策略控制流量…

Apache Doris數據庫——大數據技術

Apache Doris一、簡介1.1、Apache Doris簡介1.2、Apache Doris 與傳統大數據架構相比1.3、doris是java團隊掌控大數據能力最優選擇1.4、 OLTP&#xff08;在線事務處理&#xff09; 與 OLAP&#xff08;在線分析處理&#xff09;1.5、發展歷程1.6、應用現狀1.7、整體架構1.7.1、…

Conda和pip的使用記錄

Conda和pip的使用記錄一、創建新的 Conda 環境二、激活環境三、安裝其他包&#xff08;可選&#xff09;四、查看已有環境五、刪除環境&#xff08;可選&#xff09;?? Conda 下載緩慢的解決方案&#xff08;推薦使用國內鏡像&#xff09;&#x1f527; 方法一&#xff1a;**…

詳解Python標準庫之互聯網數據處理

詳解Python標準庫之互聯網數據處理 在互聯網時代&#xff0c;數據的產生、傳輸和處理無處不在。從電子郵件的收發到 API 接口的數據交換&#xff0c;從二進制數據的編碼到 MIME 類型的識別&#xff0c;Python 標準庫提供了一整套強大的工具集&#xff0c;幫助開發者輕松應對各種…