背景

自己用的是nVidia Tesla P40,垃圾佬专属卡

使用下面的由YanWenKun提供的ComfyUI-3D-Pack预安装环境,但在本地编译pytorch3d这一步出错,后面有出错信息,如果有和我一样的卡一样的问题,参看此文的解决方法

老版本的ComfyUI-3D-Pack预集成包
https://github.com/YanWenKun/ComfyUI-Windows-Portable
2024/12/14后切换到新仓库
https://github.com/YanWenKun/Comfy3D-WinPortable

在这里插入图片描述
我使用的预集成包的版本是2025/1/21
https://github.com/YanWenKun/Comfy3D-WinPortable/releases
在这里插入图片描述
解压后目录结构如下:
在这里插入图片描述
其中的python_standalone目录就是预安装完的库,包括独立的python环境
对于首次需要本地编译的TORCH_CUDA_ARCH_LIST的参数,
在这里插入图片描述
我的Tesla P40查显卡根据架构编号查资料需要设置为6.1,和bat文件内默认的设置相同

set TORCH_CUDA_ARCH_LIST=6.1

架构编号查看链接如下:
https://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/

在这里插入图片描述

在我的3070上按下面B站UP主啦啦啦的小黄瓜详细的步骤是可以成功的,但是P40就一直在编译pytorch3d的部分失败
3070的根据架构编译参数是8.6
无奈只能自己用anaconda重新构建一个python环境,这样可以方便的用于不同python环境版本的环境切换

编译pytorch3d时的错误信息如下:
在这里插入图片描述
出错信息
在这里插入图片描述

在这里插入图片描述
最终编译出错,导致comyui-3d-pack import failed,其他几个必须本地编译的库都可以正常

ComfyUI-3D-Pack节点加载失败
在这里插入图片描述
在这里插入图片描述

解决思路

步骤1、获取预安装包的python_standalone里的python环境,确定所需要的每一个python库的版本
方法是在解压后的预安装环境中使用 python -m pip list > requirement.txt 导出只有版本号
在这里插入图片描述
使用 python -m pip freeze > requirement.txt 导出,还带有预安装环境构建时的安装方式
在这里插入图片描述

步骤2、使用anaconda构建一个完全相同的python环境
将所有的python库分成如下几种安装方式,按顺序在conda环境中进行安装:

  1. 直接pip install 库==版本号 方式安装的
  2. 需要添加cuda版本进行选择安装方式 安装命令最后需要加上相应的torch cuda链接的
  3. 使用预构建包 whl文件安装的
  4. 必须本机编译安装的(构造包里extra目录下的除 pytorch3d外的5个)

几个关键的版本号

  1. Python – 3.12.8
  2. Pytorch – 2.5.1
  3. Cuda – 12.4
  4. xformers – 0.0.29.post1
    在这里插入图片描述

本文基础

需要在操作系统中已经成功安装完成如下环境,这部分内容不在本文讨论范围

  1. cuda 12.4

  2. cudnn 复制库函数到上面的cuda目录

  3. VS build环境 包括VC++库 WinSDK

  4. anaconda环境 相当于自动包括了所有的python版本

系统环境需要注意的几点

  1. 显卡驱动cuda版本可以高于用的cuda库的版本

  2. 如果需要安装多个cuda库的版本,从最低版本的开始安装

  3. cudnn需要验证邮箱,B站上有提供百度网盘下载,直接目录覆盖cuda即可
    程序员小袁
    https://www.bilibili.com/video/BV1eBRvYKEXS/

  4. 我使用的是YanWenKun 2025/1/25的版本,git上下载很困难,容易断线还不能续传,使用了B站UP
    啦啦啦的小黄瓜
    https://www.bilibili.com/video/BV1cPPqe6Egb/
    提供的夸克盘
    https://pan.quark.cn/s/ef8c64027412

使用conda创建环境的步骤

我安装的是anacoda
https://www.anaconda.com/download

Anaconda3-2025.06-0-Windows-x86_64.exe


conda环境切换,回到上一个环境

conda deactivate

–如果需要删除旧的conda env

conda env remove -n pytorch3d_replica -y

创建conda env 指定python版本为3.12.8,按照ComfyUI-3D-Pack对python版本的要求一致

python 3.12.8 torch2.5.1 cuda12.4

conda create -n ComfyUI-3D-Pack python=3.12.8 -y
conda activate ComfyUI-3D-Pack
E:
cd E:\ComfyUI-ommh\env\

–安装可以直接pip install的包,限定特定版本,会冲突的后面再用单独的命令安装,两个命令选一个
pre_requirement.txt 文件是我导出的所有可以直接用pip install 方式安装的python包

从原始导出包中去掉了含cuda的,使用wheel的,通过git+http://下载的,需要编译的(尤其是pytorch3d)

pip install -r pre_requirement.txt --force-reinstall -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install -r pre_requirement.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

由预编译WHL包安装的 全部共6个 文末有提供下载

其中4个从github下载的whl
dlib @ https://github.com/eddiehe99/dlib-whl/releases/download/v19.24.6-alpha/dlib-19.24.6-cp312-cp312-win_amd64.whl#sha256=69f7cad674c25ab6784d76225a5d3f2f0827528ca228ec3eb3da8f7b8c8e3fd1

texture_baker @ https://github.com/YanWenKun/Comfy3D-WinPortable/releases/download/r7-wheels/texture_baker-0.0.1-cp312-cp312-win_amd64.whl#sha256=e5fe916b25281ec0ef9f8016339bfa32358772253c7b17344b8f38f193afece8

triton @ https://github.com/woct0rdho/triton-windows/releases/download/v3.1.0-windows.post7/triton-3.1.0-cp312-cp312-win_amd64.whl#sha256=d713dfad3672f0ff36bcbe37e73019f95be70de61056b9d178419dba6886f90c

uv_unwrapper @ https://github.com/YanWenKun/Comfy3D-WinPortable/releases/download/r7-wheels/uv_unwrapper-0.0.1-cp312-cp312-win_amd64.whl#sha256=36135e16d051ec44efb1be39f60e1b767faf4550c98848513635410790292519

其中2个从Comfy3D-WinPortable下载预编译wheel 需要根据python版本 torch版本 cuda版本进行选择
下载地址
https://github.com/MrForExample/Comfy3D_Pre_Builds/tree/main/_Build_Wheels/_Wheels_win_py312_torch2.5.1_cu124

kiui @ file:///D:/a/Comfy3D-WinPortable/Comfy3D-WinPortable/pt25-cu124/Comfy3D_Pre_Builds/_Build_Wheels/_Wheels_win_py312_torch2.5.1_cu124/kiui-0.2.14-py3-none-any.whl#sha256=6276853933b6f47e0fd3d0c80b3108357dcbd373a3f14766c5485963302825c8

nvdiffrast @ file:///D:/a/Comfy3D-WinPortable/Comfy3D-WinPortable/pt25-cu124/Comfy3D_Pre_Builds/_Build_Wheels/_Wheels_win_py312_torch2.5.1_cu124/nvdiffrast-0.3.3-py3-none-any.whl#sha256=245c0cb214c2502841f5c6f8f269b7850c07b535231e7b23de67ed3ddfe1e395

首先安装nvdiffrast

nvdiffrast需要的numpy等级高需要先安装 然后降回1.26.4 重装别的包

cd .\wheel
pip install --force-reinstall nvdiffrast-0.3.3-py3-none-any.whl

装完nvdiffrast会报错,因为0.3.3的nvdiffrast会导致numpy版本升级到2,报错的信息为部分lib需要numpy版本为1

其次重装对numpy版本要求为1.26.4的包

pip install --force-reinstall numpy==1.26.4
pip install gpytoolbox==0.3.3
pip install numba==0.61.0

最后安装剩下的5个预安装包,通过在预安装的环境下使用python -m pip freeze > requirements.txt导出

pip install --force-reinstall dlib-19.24.6-cp312-cp312-win_amd64.whl
pip install --force-reinstall kiui-0.2.14-py3-none-any.whl
pip install --force-reinstall texture_baker-0.0.1-cp312-cp312-win_amd64.whl
pip install --force-reinstall triton-3.1.0-cp312-cp312-win_amd64.whl
pip install --force-reinstall uv_unwrapper-0.0.1-cp312-cp312-win_amd64.whl

不需要本地重新编译的,可以直接从git通过pip install进行安装

pip install git+https://github.com/WASasquatch/cstr.git@0520c29a18a7a869a6e5983861d6f7a4c86f8e9b
pip install git+https://github.com/WASasquatch/ffmpy.git@f000737698b387ffaeab7cd871b0e9185811230d
pip install git+https://github.com/WASasquatch/img2texture.git@d6159abea44a0b2cf77454d3d46962c8b21eb9d3
pip install git+https://github.com/EasternJournalist/utils3d.git@3e124377f4adde34e443804cd44fb1d4bbb88ac0

–安装完成后的版本号

cstr 0.1.0 @ git+https://github.com/WASasquatch/cstr@0520c29a18a7a869a6e5983861d6f7a4c86f8e9b
ffmpy 0.3.0 @ git+https://github.com/WASasquatch/ffmpy.git@f000737698b387ffaeab7cd871b0e9185811230d
img2texture 1.0.6 @ git+https://github.com/WASasquatch/img2texture.git@d6159abea44a0b2cf77454d3d46962c8b21eb9d3
utils3d 0.0.2 @ git+https://github.com/EasternJournalist/utils3d.git@3e124377f4adde34e443804cd44fb1d4bbb88ac0


需要命令行选择CUDA版本进行安装的 在这里会把torch版本降下来 前面安装完后 torch是2.8

pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 xformers==0.0.29.post1 -f https://mirrors.aliyun.com/pytorch-wheels/cu124pip install torch-scatter -f https://data.pyg.org/whl/torch-2.5.1+cu124.html
pip install torch-scatter -f https://mirrors.tuna.tsinghua.edu.cn/pytorch-geometric/whl/torch-2.5.1+cu124.htmlpip install kaolin==0.17.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-2.5.1_cu124.html

pytorch3d库

这个库必须进行编译安装的,安装顺序在最后必须在上面2项的torch安装完成后才能进行,关键步骤在此,至少我的P40只能通过这种方式才能顺利编译成功,环境参数里是使用的wheel库安装的,但批处理里是最后重编译安装的,这里我是通过git clone拉取的pytorch3d包,没有使用压缩包里的extra目录下的

pytorch3d @ file:///D:/a/Comfy3D-WinPortable/Comfy3D-WinPortable/pt25-cu124/Comfy3D_Pre_Builds/_Build_Wheels/_Wheels_win_py312_torch2.5.1_cu124/pytorch3d-0.7.8-cp312-cp312-win_amd64.whl#sha256=656bcf0cb666301b06e1ee9ef52542fea2907b06f711858ba6b974729e4640a5

必须用下面的方法编译安装 checkout出的是0.7.8的版本

git clone https://github.com/facebookresearch/pytorch3d.git
cd ..\pytorch3d
git checkout 50f8efaset TORCH_CUDA_ARCH_LIST=6.1
set FORCE_CUDA=1
set CMAKE_ARGS=-DBUILD_opencv_world=ON -DWITH_CUDA=ON -DCUDA_FAST_MATH=ON -DWITH_CUBLAS=ON -DWITH_NVCUVID=ONpip install -e .

– 编译安装耗时极长,10几分钟

  Running setup.py develop for pytorch3d-------------------------- ------------- 2/3 [pytorch3d]

其他5个包必须通过本地编译安装,最后安装,这5个extras的包在extra目录里直接复制出来使用

在这里插入图片描述

cd..
pip install --force-reinstall .\extras\pointnet2_ops
pip install --force-reinstall .\extras\simple-knn
pip install --force-reinstall .\extras\diff-gaussian-rasterization
pip install --force-reinstall .\extras\vox2seq
pip install .\extras\diffoctreerast

该组件用于 Triplane Gaussian
pointnet2_ops 3.0.0 @ file:///E:/ComfyUI-ommh/Comfy3D-WinPortable/20250121/Comfy3D_WinPortable/extras/pointnet2_ops

该组件用于 Gaussian Splatting
simple_knn 0.0.0 @ file:///E:/ComfyUI-ommh/Comfy3D-WinPortable/20250121/Comfy3D_WinPortable/extras/simple-knn

Differential Gaussian Rasterization
diff_gaussian_rasterization 0.0.0 @ file:///E:/ComfyUI-ommh/Comfy3D-WinPortable/20250121/Comfy3D_WinPortable/extras/diff-gaussian-rasterization

vox2seq
vox2seq 0.0.0 @ file:///E:/ComfyUI-ommh/Comfy3D-WinPortable/20250121/Comfy3D_WinPortable/extras/vox2seq

Differential Octree Rasterization
diffoctreerast 0.0.0 @ file:///E:/ComfyUI-ommh/Comfy3D-WinPortable/20250121/Comfy3D_WinPortable/extras/diffoctreerast


确保使用 NumPy 1.26.4的版本

pip install --force-reinstall numpy==1.26.4

修改启动批处理程序的内容

在原来的启动bat文件前增加如下:

@echo off
:: 替换为你的 Anaconda 安装路径
set ANACONDA_PATH=C:\ProgramData\anaconda3\condabin:: 调用 conda.bat 激活环境
call "%ANACONDA_PATH%\conda.bat" activate ComfyUI-3D-Pack

这里的ComfyUI-3D-Pack是我设置的conda环境的名字

在这里插入图片描述
由于使用了anaconda的环境,因此原始目录里的 python_standalone目录也可以删除了

批处理里相应的部分也需要对应修改

还需要在原来的comfyui里增加运行参数:

--disable-cuda-malloc

这个必须增加,不然ComfyUI-3D-Pack依然导入失败,其他参数看个人
在这里插入图片描述

成功加载了ComfyUI-3D-Pack的custom_nodes, 不再是imported failed
在这里插入图片描述

复制一个环境

命令行

conda create --name 新环境名称 --clone 被复制环境名称

即可,这样一台电脑上就可以共存多个python环境了,用于运行不同的需求的工作流变得很方便,可以在不同的端口上启用对环境要求不相同的工作流

相关下载

文件下载
https://download.csdn.net/download/coldwind811201/91681082

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络基础——协议认识

文章目录网络基础网络的发展——引出一些概念协议认识初识协议协议分层协议分层的模型再谈协议为什么要有TCP/IP协议TCP/IP协议的宏观认识宏观理解TCP/IP协议和操作系统的关系协议的真正本质网络基础 本篇文章,我们将正式进入网络部分的学习。这是网络部分的第一篇…

云原生俱乐部-RH134知识点总结(2)

这一章的内容也会比较多,因为预期三篇文章更完RH134系列,所以每章安排的内容都比较多,并且RH134上面的都是重点,一点也不好写。昨天一天将RH124系列写完了,今天争取将RH134系列写完。至于我为什么要着急将这些写完&…

深度学习-计算机视觉-微调 Fine-tune

1. 迁移学习迁移学习(transfer learning)是一种机器学习方法,通过将源数据集(如ImageNet)上训练得到的模型知识迁移到目标数据集(如特定场景的椅子识别任务)。这种方法的核心在于利用预训练模型…

STL库——string(类函数学习)

ʕ • ᴥ • ʔ づ♡ど 🎉 欢迎点赞支持🎉 个人主页:励志不掉头发的内向程序员; 专栏主页:C语言; 文章目录 前言 一、STL简介 二、string类的优点 三、标准库中的string类 四、string的成员函数 4.1、构造…

登上Nature!清华大学光学神经网络研究突破

2025深度学习发论文&模型涨点之——光学神经网络光学神经网络的基本原理是利用光的传播、干涉、衍射等特性来实现神经网络中的信息处理和计算。在传统神经网络中,信息以电信号的形式在电子元件之间传输和处理,而在光学神经网络中,信息则以…

【java】对word文件设置只读权限

文件流输出时 template.getXWPFDocument().enforceCommentsProtection(); 文件输出时 //打开己创建的word文档 XWPFDocument document new XWPFDocument(new FileInputStream("output.docx")); //设置文档为只读 document.enforceReadonlyProtection(); //保存文…

Zookeeper 在 Kafka 中扮演了什么角色?

在 Apache Kafka 的早期架构中,ZooKeeper 扮演了分布式协调服务角色,负责管理和协调整个 Kafka 集群。 尽管新版本的 Kafka 正在逐步移除对 ZooKeeper 的依赖,但在许多现有和较早的系统中,了解 ZooKeeper 的作用仍然非常重要。 Zo…

什么叫做 “可迭代的产品矩阵”?如何落地?​

“可迭代的产品矩阵” 不是静态的产品组合,而是围绕用户需求与商业目标构建的动态生态。它以核心产品为根基,通过多维度延伸形成产品网络,同时具备根据市场反馈持续优化的弹性,让产品体系既能覆盖用户全生命周期需求,又…

Nginx代理配置详解:正向代理与反向代理完全指南

系列文章索引: 第一篇:《Nginx入门与安装详解:从零开始搭建高性能Web服务器》第二篇:《Nginx基础配置详解:nginx.conf核心配置与虚拟主机实战》第三篇:《Nginx代理配置详解:正向代理与反向代理…

Vue3 Element-plus 封装Select下拉复选框选择器

废话不多说&#xff0c;样式如下&#xff0c;代码如下&#xff0c;需要自取<template><el-selectv-model"selectValue"class"checkbox-select"multiple:placeholder"placeholder":style"{ width: width }"change"change…

jenkins 自动部署

一、win10 环境安装&#xff1a; 1、jdk 下载安装&#xff1a;Index of openjdk-local 2、配置环境变量&#xff1a; 3、jenkins 下载&#xff1a;Download and deploy 下载后的结果&#xff1a;jenkins.war 4、jenkins 启动&#xff1a; 5、创建管理员用户 admin 登录系统…

2020 GPT3 原文 Language Models are Few-Shot Learners 精选注解

本文为个人阅读GPT3&#xff0c;部分内容注解&#xff0c;由于GPT3原文篇幅较长&#xff0c;且GPT3无有效开源信息 这里就不再一一粘贴&#xff0c;仅对原文部分内容做注解&#xff0c;仅供参考 详情参考原文链接 原文链接&#xff1a;https://arxiv.org/pdf/2005.14165 语言模…

设计模式笔记_行为型_迭代器模式

1. 迭代器模式介绍迭代器模式&#xff08;Iterator Pattern&#xff09;是一种行为设计模式&#xff0c;旨在提供一种方法顺序访问一个聚合对象中的各个元素&#xff0c;而又不需要暴露该对象的内部表示。这个模式的主要目的是将集合的遍历与集合本身分离&#xff0c;使得用户可…

【Part 4 未来趋势与技术展望】第一节|技术上的抉择:三维实时渲染与VR全景视频的共生

《VR 360全景视频开发》专栏 将带你深入探索从全景视频制作到Unity眼镜端应用开发的全流程技术。专栏内容涵盖安卓原生VR播放器开发、Unity VR视频渲染与手势交互、360全景视频制作与优化&#xff0c;以及高分辨率视频性能优化等实战技巧。 &#x1f4dd; 希望通过这个专栏&am…

mac查看nginx安装位置 mac nginx启动、重启、关闭

安装工具&#xff1a;homebrew步骤&#xff1a;1、打开终端&#xff0c;习惯性命令&#xff1a;brew update //结果&#xff1a;Already up-to-date.2、终端继续执行命令&#xff1a;brew search nginx //查询要安装的软件是否存在3、执行命令&#xff1a;brew info nginx4. …

网络通信的基本概念与设备

目录 一、互联网 二、JAVA跨平台与C/C的原理 1、JAVA跨平台的原理 2、C/C跨平台的原理 三、网络互连模型 四、客户端与服务器 五、计算机之间的通信基础 1、IP地址与MAC地址 2、ARP与ICMP对比 ①ARP协议&#xff08;地址解析协议&#xff09; ②ICMP协议&#xff08…

云原生俱乐部-k8s知识点归纳(1)

这篇文章主要是讲讲k8s中的知识点归纳&#xff0c;以帮助理解。虽然平时也做笔记和总结&#xff0c;但是就将内容复制过来不太好&#xff0c;而且我比较喜欢打字。因此知识点归纳总结还是以叙述的口吻来说说&#xff0c;并结合我的理解加以论述。k8s和docker首先讲一讲docker和…

基于Node.js+Express的电商管理平台的设计与实现/基于vue的网上购物商城的设计与实现/基于Node.js+Express的在线销售系统

基于Node.jsExpress的电商管理平台的设计与实现/基于vue的网上购物商城的设计与实现/基于Node.jsExpress的在线销售系统

Git 对象存储:理解底层原理,实现高效排错与存储优化

### 探秘 Git 对象存储&#xff1a;底层原理与优化实践#### 一、Git 对象存储的底层原理 Git 采用**内容寻址文件系统**&#xff0c;核心机制如下&#xff1a; 1. **对象类型与存储** - **Blob 对象**&#xff1a;存储文件内容&#xff0c;通过 git hash-object 生成唯一 SHA-…

【2025CVPR-目标检测方向】RaCFormer:通过基于查询的雷达-相机融合实现高质量的 3D 目标检测

1. 研究背景与动机​ ​问题​:现有雷达-相机融合方法依赖BEV特征融合,但相机图像到BEV的转换因深度估计不准确导致特征错位;雷达BEV特征稀疏,相机BEV特征因深度误差存在畸变。 ​核心思路​:提出跨视角查询融合框架,通过对象查询(object queries)同时采样图像视角(原…