From 1f6bd293b66069de8bb2182bea8308a9441c961e Mon Sep 17 00:00:00 2001 From: "Mr. For Example" <62230687+MrForExample@users.noreply.github.com> Date: Thu, 5 Jun 2025 18:14:59 +0100 Subject: [PATCH] Test Stable3DGen & minor UI change --- .../stablex/yoso-normal-v1-8-1/.gitattributes | 35 +++++++++++++++++++ .../stablex/yoso-normal-v1-8-1/README.md | 29 +++++++++++++++ .../trellis-normal-v0-1/.gitattributes | 35 +++++++++++++++++++ .../trellis/trellis-normal-v0-1/README.md | 9 +++++ .../trellis/pipelines/samplers/flow_euler.py | 3 ++ README.md | 2 +- 6 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 Checkpoints/Diffusers/Stable3DGen/stablex/yoso-normal-v1-8-1/.gitattributes create mode 100644 Checkpoints/Diffusers/Stable3DGen/stablex/yoso-normal-v1-8-1/README.md create mode 100644 Checkpoints/Diffusers/Stable3DGen/trellis/trellis-normal-v0-1/.gitattributes create mode 100644 Checkpoints/Diffusers/Stable3DGen/trellis/trellis-normal-v0-1/README.md diff --git a/Checkpoints/Diffusers/Stable3DGen/stablex/yoso-normal-v1-8-1/.gitattributes b/Checkpoints/Diffusers/Stable3DGen/stablex/yoso-normal-v1-8-1/.gitattributes new file mode 100644 index 0000000..a6344aa --- /dev/null +++ b/Checkpoints/Diffusers/Stable3DGen/stablex/yoso-normal-v1-8-1/.gitattributes @@ -0,0 +1,35 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text diff --git a/Checkpoints/Diffusers/Stable3DGen/stablex/yoso-normal-v1-8-1/README.md b/Checkpoints/Diffusers/Stable3DGen/stablex/yoso-normal-v1-8-1/README.md new file mode 100644 index 0000000..6f431de --- /dev/null +++ b/Checkpoints/Diffusers/Stable3DGen/stablex/yoso-normal-v1-8-1/README.md @@ -0,0 +1,29 @@ +--- +library_name: diffusers +pipeline_tag: image-to-image +license: apache-2.0 +--- +# Model Card for StableNormal + +This repository contains the weights of StableNormal: Reducing Diffusion Variance for Stable and Sharp Normal + +## Usage + +See the Github repository: https://github.com/Stable-X/StableNormal regarding installation instructions. + +The model can then be used as follows: + +```python +import torch +from PIL import Image +# Load an image +input_image = Image.open("path/to/your/image.jpg") +# Create predictor instance +predictor = torch.hub.load("hugoycj/StableNormal", "StableNormal_turbo", trust_repo=True, yoso_version='yoso-normal-v1-8-1') +# Generate normal map using alpha channel for masking +normal_map = predictor(rgba_image, data_type="object") # Will mask out background, if alpha channel is avalible, else use birefnet +# Apply the model to the image +normal_image = predictor(input_image) +# Save or display the result +normal_image.save("output/normal_map.png") +``` \ No newline at end of file diff --git a/Checkpoints/Diffusers/Stable3DGen/trellis/trellis-normal-v0-1/.gitattributes b/Checkpoints/Diffusers/Stable3DGen/trellis/trellis-normal-v0-1/.gitattributes new file mode 100644 index 0000000..a6344aa --- /dev/null +++ b/Checkpoints/Diffusers/Stable3DGen/trellis/trellis-normal-v0-1/.gitattributes @@ -0,0 +1,35 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text diff --git a/Checkpoints/Diffusers/Stable3DGen/trellis/trellis-normal-v0-1/README.md b/Checkpoints/Diffusers/Stable3DGen/trellis/trellis-normal-v0-1/README.md new file mode 100644 index 0000000..3c96cc0 --- /dev/null +++ b/Checkpoints/Diffusers/Stable3DGen/trellis/trellis-normal-v0-1/README.md @@ -0,0 +1,9 @@ +--- +library_name: trellis +pipeline_tag: image-to-3d +license: mit +language: +- en +--- + +An improved normal conditioned version of TRELLIS. diff --git a/Gen_3D_Modules/Stable3DGen/trellis/pipelines/samplers/flow_euler.py b/Gen_3D_Modules/Stable3DGen/trellis/pipelines/samplers/flow_euler.py index 96b5b51..938bd8b 100644 --- a/Gen_3D_Modules/Stable3DGen/trellis/pipelines/samplers/flow_euler.py +++ b/Gen_3D_Modules/Stable3DGen/trellis/pipelines/samplers/flow_euler.py @@ -2,6 +2,7 @@ from typing import * import torch import numpy as np from tqdm import tqdm +import comfy.utils from easydict import EasyDict as edict from .base import Sampler from .classifier_free_guidance_mixin import ClassifierFreeGuidanceSamplerMixin @@ -110,11 +111,13 @@ class FlowEulerSampler(Sampler): t_seq = rescale_t * t_seq / (1 + (rescale_t - 1) * t_seq) t_pairs = list((t_seq[i], t_seq[i + 1]) for i in range(steps)) ret = edict({"samples": None, "pred_x_t": [], "pred_x_0": []}) + comfy_pbar = comfy.utils.ProgressBar(steps) for t, t_prev in tqdm(t_pairs, desc="Sampling", disable=not verbose): out = self.sample_once(model, sample, t, t_prev, cond, **kwargs) sample = out.pred_x_prev ret.pred_x_t.append(out.pred_x_prev) ret.pred_x_0.append(out.pred_x_0) + comfy_pbar.update_absolute(i + 1) ret.samples = sample return ret diff --git a/README.md b/README.md index 6a608de..57fd734 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ Your ComfyUI Root Directory\python_embeded\python.exe install.py ## Features: -- For use cases please check out [Example Workflows](./_Example_Workflows/). [**Last update: 29/April/2025**] +- For use cases please check out [Example Workflows](./_Example_Workflows/). [**Last update: 5/June/2025**] - **Note:** you need to put [Example Inputs Files & Folders](_Example_Workflows/_Example_Inputs_Files/) under ComfyUI Root Directory\ComfyUI\input folder before you can run the example workflow - **MV-Adapter**: [huanngzh/MV-Adapter](https://github.com/huanngzh/MV-Adapter)