mirror of
https://git.datalinker.icu/kijai/ComfyUI-Hunyuan3DWrapper.git
synced 2025-12-08 20:34:28 +08:00
Add torch 2.6.0 wheel for custom_rasterizer
This commit is contained in:
parent
4b3f123a66
commit
9b6c5c12f9
5
.gitignore
vendored
5
.gitignore
vendored
@ -8,4 +8,7 @@ logs/
|
||||
*.DS_Store
|
||||
.idea
|
||||
tools/
|
||||
.vscode/
|
||||
.vscode/
|
||||
build/
|
||||
dist/
|
||||
*.egg-info*
|
||||
@ -1,3 +0,0 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: custom_rasterizer
|
||||
Version: 0.1
|
||||
@ -1,12 +0,0 @@
|
||||
setup.py
|
||||
./custom_rasterizer/__init__.py
|
||||
./custom_rasterizer/io_glb.py
|
||||
./custom_rasterizer/io_obj.py
|
||||
./custom_rasterizer/render.py
|
||||
custom_rasterizer.egg-info/PKG-INFO
|
||||
custom_rasterizer.egg-info/SOURCES.txt
|
||||
custom_rasterizer.egg-info/dependency_links.txt
|
||||
custom_rasterizer.egg-info/top_level.txt
|
||||
lib/custom_rasterizer_kernel/grid_neighbor.cpp
|
||||
lib/custom_rasterizer_kernel/rasterizer.cpp
|
||||
lib/custom_rasterizer_kernel/rasterizer_gpu.cu
|
||||
@ -1 +0,0 @@
|
||||
|
||||
@ -1,2 +0,0 @@
|
||||
custom_rasterizer
|
||||
custom_rasterizer_kernel
|
||||
@ -1,6 +1,11 @@
|
||||
from setuptools import setup, find_packages
|
||||
from torch.utils.cpp_extension import BuildExtension, CUDAExtension
|
||||
import torch
|
||||
|
||||
torch_version = torch.__version__.split('+')[0].replace('.', '')
|
||||
cuda_version = torch.version.cuda.replace('.', '')
|
||||
|
||||
version = f"0.1.0+torch{torch_version}.cuda{cuda_version}"
|
||||
# build custom rasterizer
|
||||
# build with `python setup.py install`
|
||||
# nvcc is needed
|
||||
@ -13,7 +18,7 @@ custom_rasterizer_module = CUDAExtension('custom_rasterizer_kernel', [
|
||||
|
||||
setup(
|
||||
packages=find_packages(),
|
||||
version='0.1',
|
||||
version=version,
|
||||
name='custom_rasterizer',
|
||||
include_package_data=True,
|
||||
package_dir={'': '.'},
|
||||
@ -22,5 +27,5 @@ setup(
|
||||
],
|
||||
cmdclass={
|
||||
'build_ext': BuildExtension
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
27
nodes.py
27
nodes.py
@ -143,6 +143,9 @@ class DownloadAndLoadHy3DDelightModel:
|
||||
"required": {
|
||||
"model": (["hunyuan3d-delight-v2-0"],),
|
||||
},
|
||||
"optional": {
|
||||
"compile_args": ("HY3DCOMPILEARGS", {"tooltip": "torch.compile settings, when connected to the model loader, torch.compile of the selected models is attempted. Requires Triton and torch 2.5.0 is recommended"}),
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_TYPES = ("HY3DDIFFUSERSPIPE",)
|
||||
@ -150,9 +153,8 @@ class DownloadAndLoadHy3DDelightModel:
|
||||
FUNCTION = "loadmodel"
|
||||
CATEGORY = "Hunyuan3DWrapper"
|
||||
|
||||
def loadmodel(self, model):
|
||||
def loadmodel(self, model, compile_args=None):
|
||||
device = mm.get_torch_device()
|
||||
offload_device = mm.unet_offload_device()
|
||||
|
||||
download_path = os.path.join(folder_paths.models_dir,"diffusers")
|
||||
model_path = os.path.join(download_path, model)
|
||||
@ -176,7 +178,16 @@ class DownloadAndLoadHy3DDelightModel:
|
||||
)
|
||||
delight_pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(delight_pipe.scheduler.config)
|
||||
delight_pipe = delight_pipe.to(device, torch.float16)
|
||||
|
||||
delight_pipe.enable_model_cpu_offload()
|
||||
|
||||
if compile_args is not None:
|
||||
torch._dynamo.config.cache_size_limit = compile_args["dynamo_cache_size_limit"]
|
||||
if compile_args["compile_transformer"]:
|
||||
delight_pipe.unet = torch.compile(delight_pipe.unet)
|
||||
if compile_args["compile_vae"]:
|
||||
delight_pipe.vae = torch.compile(delight_pipe.vae)
|
||||
|
||||
|
||||
return (delight_pipe,)
|
||||
|
||||
@ -242,6 +253,9 @@ class DownloadAndLoadHy3DPaintModel:
|
||||
"required": {
|
||||
"model": (["hunyuan3d-paint-v2-0"],),
|
||||
},
|
||||
"optional": {
|
||||
"compile_args": ("HY3DCOMPILEARGS", {"tooltip": "torch.compile settings, when connected to the model loader, torch.compile of the selected models is attempted. Requires Triton and torch 2.5.0 is recommended"}),
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_TYPES = ("HY3DDIFFUSERSPIPE",)
|
||||
@ -249,7 +263,7 @@ class DownloadAndLoadHy3DPaintModel:
|
||||
FUNCTION = "loadmodel"
|
||||
CATEGORY = "Hunyuan3DWrapper"
|
||||
|
||||
def loadmodel(self, model):
|
||||
def loadmodel(self, model, compile_args=None):
|
||||
device = mm.get_torch_device()
|
||||
offload_device = mm.unet_offload_device()
|
||||
|
||||
@ -310,6 +324,13 @@ class DownloadAndLoadHy3DPaintModel:
|
||||
scheduler=scheduler,
|
||||
feature_extractor=feature_extractor,
|
||||
)
|
||||
|
||||
if compile_args is not None:
|
||||
torch._dynamo.config.cache_size_limit = compile_args["dynamo_cache_size_limit"]
|
||||
if compile_args["compile_transformer"]:
|
||||
pipeline.unet = torch.compile(pipeline.unet)
|
||||
if compile_args["compile_vae"]:
|
||||
pipeline.vae = torch.compile(pipeline.vae)
|
||||
|
||||
pipeline.enable_model_cpu_offload()
|
||||
return (pipeline,)
|
||||
|
||||
@ -23,12 +23,17 @@ or with portable:
|
||||
|
||||
For the texturegen part compilation is needed, I have included my compilations as a wheel for the rasterizer, and compiled .pyd for the mesh_processor (already in place), these are compiled for:
|
||||
|
||||
- Windows 11 python 3.12 cu126 (works with torch build on 124)
|
||||
**Windows 11 python 3.12 cu126 (works with torch build on 124)**
|
||||
|
||||
You would do `pip install wheels\custom_rasterizer-0.1-cp312-cp312-win_amd64.whl`
|
||||
|
||||
or with portable (in `ComfyUI_windows_portable` -folder):
|
||||
`python_embeded\python.exe -m pip install ComfyUI\custom_nodes\ComfyUI-Hunyuan3DWrapper\wheels\custom_rasterizer-0.1-cp312-cp312-win_amd64.whl`
|
||||
`python_embeded\python.exe -m pip install ComfyUI\custom_nodes\ComfyUI-Hunyuan3DWrapper\wheels\custom_rasterizer-0.1-cp312-cp312-win_amd64.whl`
|
||||
|
||||
**Windows 11 python 3.12 torch 2.6.0 + cu126**
|
||||
Current latest portable was updated to use pytorch 2.6.0, for this you should use new wheel:
|
||||
`python_embeded\python.exe -m pip install ComfyUI\custom_nodes\ComfyUI-Hunyuan3DWrapper\wheels\custom_rasterizer-0.1.0+torch260.cuda126-cp312-cp312-win_amd64.whl`
|
||||
|
||||
|
||||
This was tested to work on latest ComfyUI portable install
|
||||
|
||||
|
||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user