Some checks failed
Python Linting / Run Ruff (push) Has been cancelled
Python Linting / Run Pylint (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.10, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.11, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.12, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-unix-nightly (12.1, , linux, 3.11, [self-hosted Linux], nightly) (push) Has been cancelled
Execution Tests / test (macos-latest) (push) Has been cancelled
Execution Tests / test (ubuntu-latest) (push) Has been cancelled
Execution Tests / test (windows-latest) (push) Has been cancelled
Test server launches without errors / test (push) Has been cancelled
Unit Tests / test (macos-latest) (push) Has been cancelled
Unit Tests / test (ubuntu-latest) (push) Has been cancelled
Unit Tests / test (windows-2022) (push) Has been cancelled
Includes 30 custom nodes committed directly, 7 Civitai-exclusive loras stored via Git LFS, and a setup script that installs all dependencies and downloads HuggingFace-hosted models on vast.ai. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
import impact.additional_dependencies
|
|
import numpy as np
|
|
from impact import utils
|
|
import logging
|
|
|
|
impact.additional_dependencies.ensure_onnx_package()
|
|
|
|
try:
|
|
import onnxruntime
|
|
|
|
def onnx_inference(image, onnx_model):
|
|
# prepare image
|
|
pil = utils.tensor2pil(image)
|
|
image = np.ascontiguousarray(pil)
|
|
image = image[:, :, ::-1] # to BGR image
|
|
image = image.astype(np.float32)
|
|
image -= [103.939, 116.779, 123.68] # 'caffe' mode image preprocessing
|
|
|
|
# do detection
|
|
onnx_model = onnxruntime.InferenceSession(onnx_model, providers=["CPUExecutionProvider"])
|
|
outputs = onnx_model.run(
|
|
[s_i.name for s_i in onnx_model.get_outputs()],
|
|
{onnx_model.get_inputs()[0].name: np.expand_dims(image, axis=0)},
|
|
)
|
|
|
|
labels = [op for op in outputs if op.dtype == "int32"][0]
|
|
scores = [op for op in outputs if isinstance(op[0][0], np.float32)][0]
|
|
boxes = [op for op in outputs if isinstance(op[0][0], np.ndarray)][0]
|
|
|
|
# filter-out useless item
|
|
idx = np.where(labels[0] == -1)[0][0]
|
|
|
|
labels = labels[0][:idx]
|
|
scores = scores[0][:idx]
|
|
boxes = boxes[0][:idx].astype(np.uint32)
|
|
|
|
return labels, scores, boxes
|
|
except Exception:
|
|
logging.error("[Impact Pack] ComfyUI-Impact-Pack: 'onnxruntime' package doesn't support 'python 3.11', yet.\t{e}")
|