Commit Graph
84 Commits
Author SHA1 Message Date
huchukatoandDevin fcb1f332e6 Re-export rife425 ONNX with 1080x1080 dummy input
The previous 512x512 dummy input caused onnxsim to fix intermediate
dimensions to 512px, which broke TensorRT engine build for the large
resolution profile (720-1920px). Using 1080x1080 prevents this.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-28 05:00:37 +02:00
huchukatoandDevin 970f51649b Add RIFE v4.25 support, clean dropdown, pin polygraphy
- Add RIFE v4.25 architecture support in rife_arch.py (Head with
  16/4 channels, 5 IFBlocks with c=192/128/96/64/32, scale_list
  [16,8,4,2,1], no ensemble)
- Add rife425.pth to export_onnx.py with HF fallback URL
- Update load_rife_config.json: dropdown now only shows rife425 and
  rife49 (removed rife47/48/417/426/sudo_rife4 that never worked)
- Set rife425 as default
- Make TORCH_DEVICE fallback to CPU for ONNX export on non-CUDA
- Pin polygraphy==0.49.26 for TensorRT 10.15.1 compatibility

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-28 02:50:00 +02:00
huchukatoandDevin 2132614242 Add huchukato/favs as primary ONNX download source
Use the user's own HuggingFace repo as the first source for ONNX
models, falling back to yuvraj108c and marduk191 mirrors.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-14 20:14:36 +02:00
huchukatoandDevin def1bea883 Add ONNX download validation and multi-source fallback
The download_file() function now validates:
- HTTP status code (fails on non-200)
- File size (removes files <1KB as likely error pages)
- ONNX header (detects HTML pages masquerading as .onnx files)

The ONNX download in AutoLoadRifeTensorrtModel now tries multiple
HuggingFace sources before giving up, with clear error message
pointing users to manual export_onnx.py as fallback.

This prevents the cryptic "factory function returned nullptr" error
when TensorRT attempts to parse a corrupted/empty/HTML file as ONNX.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-14 20:03:29 +02:00
huchukatoandDevin 120f2ca1b1 Fix auto-install reliability and bump version to 1.2.0
- Verify tensorrt is actually importable before trusting the install marker;
  retry install if marker exists but import fails (likely cause of user reports
  where the node loaded but TensorRT did not work)
- Add --no-input to pip install calls to avoid hanging on interactive prompts
- Show pip stdout during auto-install so users can see progress
- Improve failed-install cooldown message with retry instructions
- Bump version to 1.2.0

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-12 11:52:53 +02:00
huchukatoandDevin 9eefdbddfa Filter training-only keys (teacher.*, caltime.*) from checkpoints
rife426.pth and possibly other new checkpoints contain extra modules
used during training (teacher network, caltime scheduler) that are not
part of the IFNet inference architecture. These cause
load_state_dict to fail with "Unexpected key(s)" errors.

Now export_onnx.py filters the state_dict to keep only keys that match
the model architecture before loading, with strict=True to catch any
real missing keys.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-05 11:01:43 +02:00
huchukatoandDevin 2e1c533e34 Add RIFE v4.17, v4.26 and sudo_rife4 models from Fannovel16
Update rife_arch.py with support for new architectures:
- v4.17: Head_417 encoder, IFBlock with 16 extra channels
- v4.26: 5 IFBlocks (block4 extra), lastconv 4*13 channels,
  feat_out return, no ensemble, 5 scale levels
- Head/Head_417 classes for v4.17/v4.26 encoders
- warp() fix: MPS padding_mode, dtype mismatch, get_torch_device()

Update export_onnx.py:
- Add rife417.pth and rife426.pth to CKPT_NAME_VER_DICT
- Add CKPT_FALLBACK_URLS with HuggingFace mirrors for all models
- Add export calls for rife49, rife417, rife426, sudo_rife4

Update load_rife_config.json with 3 new ONNX model options.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-05 11:00:26 +02:00
huchukatoandDevin 0c5cd8283c Fix device mismatch in infer_tiled: move inputs to CUDA before tiling
The frames arrive from generate_frames_rife on CPU, but the engine output
(tile_out) is on CUDA. The accumulator tensors (output, weight, window)
were created on frame_0.device (CPU), causing a RuntimeError when mixing
devices in the feathering blend. Now all tensors are explicitly moved to
the CUDA device at the start of infer_tiled.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-05 10:44:51 +02:00
huchukatoandDevin 51d88c0c0d Add tiling, batch inference, interpolation states and multiplier schedule
Ported and adapted from Fannovel16/ComfyUI-Frame-Interpolation:

- gc.collect() after soft_empty_cache() to reduce RAM fragmentation
- Explicit float32 cast in postprocess_frames for fp16 engine safety
- InterpolationStateList class + MakeInterpolationStateList node to
  skip/keep specific frame pairs during interpolation
- Per-pair multiplier schedule (comma-separated list) overriding uniform
  multiplier, with automatic padding to match the number of pairs
- Automatic tiling with cosine feathering when frame dimensions exceed
  the TensorRT engine optimization profile (fixes 1440x2560 with max=1920)
- Padding with replicate mode when frame dimensions are below profile min
- get_input_profile_bounds() on Engine to retrieve min/opt/max shapes
- Batch inference: process multiple (pair, timestep) tasks per GPU call
  with dynamic batch axis in ONNX export and engine profile
- Backward compatible: all new features are opt-in via optional inputs

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-05 10:32:06 +02:00
huchukatoandDevin 1427bdef9f Reduce install time and fix registry metadata
- Auto-install now only installs the matching TensorRT wheels instead of the
  multi-GB cuda-toolkit package from PyPI.
- Use a single pip install -r call per requirements file for faster dependency
  resolution and better cache reuse.
- Add install-success/failure markers to avoid repeating the install on every
  ComfyUI startup.
- Fix pyproject.toml Repository and PublisherId to point to
  huchukato/ComfyUI-RIFE-TensorRT-Auto.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-04 05:43:41 +02:00
huchukato b3e416cd27 Improve TensorRT detection with retry mechanism to handle concurrent installations 2026-03-05 07:21:52 +01:00
huchukato d6b9d191f1 Add simple progress feedback during TensorRT engine build with threading 2026-03-04 04:47:54 +01:00
huchukato 355387ddbd Remove TQDMProgressMonitor from RIFE node too - eliminate interface issues completely 2026-03-04 04:45:56 +01:00
huchukato 876f60880e Improve CUDA version detection - use PyTorch as primary method for cloud platforms 2026-02-28 08:43:21 +01:00
huchukato cec6660e41 Remove use_cuda_graph parameter and enable automatically based on CUDA version only 2026-02-28 07:49:21 +01:00
huchukato 70183e0df6 Fix use_cuda_graph parameter error - remove from _do_inference call 2026-02-28 07:44:02 +01:00
huchukato 447ab309d1 Fix missing diagnose_cuda_environment function call - remove from build method 2026-02-27 10:17:35 +01:00
huchukato a3c80fdb1a Remove complex dummy module system - return to simple working logic 2026-02-27 10:14:50 +01:00
huchukato 0f89c6a6e2 Simplify auto-installation logic - remove complex dummy module system that was causing issues 2026-02-27 10:13:50 +01:00
huchukato e8c3bc331a Fix TQDMProgressMonitor interface - properly implement IProgressMonitor for both real and dummy TensorRT 2026-02-27 10:12:42 +01:00
huchukato 2fc12ad257 Fix TQDMProgressMonitor completely - avoid inheritance issues with dummy module 2026-02-27 10:07:11 +01:00
huchukato dd958b4000 Fix TQDMProgressMonitor logic - use is_trt_available() instead of hasattr check 2026-02-27 09:58:41 +01:00
huchukato facd447f95 Fix DummyIProgressMonitor scope issue - move dummy classes to global scope 2026-02-27 09:54:50 +01:00
huchukato 6d0abbd47a Fix dummy IProgressMonitor class - proper inheritance handling for TQDMProgressMonitor 2026-02-27 09:52:18 +01:00
huchukato aef3576a58 Add requirements_cu13.txt and update install.sh for proper CUDA 13 fallback support 2026-02-27 09:29:11 +01:00
huchukato d79c94d934 Update install scripts to clarify they are FALLBACK - auto-installation is primary method 2026-02-27 09:27:04 +01:00
huchukato e47ebd6625 Clarify installation method - auto-installation is primary, requirements files are for reference only 2026-02-27 09:26:13 +01:00
huchukato 5637598fdc Remove duplicate packages from requirements_cu12.txt - keep only CUDA 12 specific TensorRT packages 2026-02-27 09:24:02 +01:00
huchukato 31bef5af8b Fix dummy module classes - make Logger, BuilderFlag, etc. callable instead of ModuleType 2026-02-27 09:21:44 +01:00
huchukato b1f6cec3a3 Improve TensorRT lazy loading with dummy fallback module and availability checks for better compatibility 2026-02-27 09:10:08 +01:00
huchukato 5e8d947c93 Fix TensorRT import conflicts - use lazy loading to avoid conflicts with other TensorRT nodes 2026-02-27 09:09:01 +01:00
huchukato e4e24a9ef5 Update node categories to '⚡️ TensorRT/RIFE' with lightning icon and proper subfolder organization 2026-02-27 08:39:00 +01:00
huchukato a8ec0241c5 Add 'Buy Me a Coffee' badge
Added a 'Buy Me a Coffee' badge to the README.
2026-02-27 07:34:40 +01:00
huchukato 989e9cca61 Refine cloud detection - only disable CUDA graph for CUDA 12 in cloud environments, keep enabled for CUDA 13 2026-02-27 02:37:49 +01:00
huchukato de53234631 Auto-disable CUDA graph in cloud environments - detect RunPod, Colab, Docker and disable by default for stability 2026-02-27 02:37:13 +01:00
huchukato ccd3f3bf9c Add CUDA graph fallback for persistent ERROR 35 in cloud environments - disable graph optimization and retry 2026-02-27 02:35:08 +01:00
huchukato 0c0f4b2d10 Fix TensorRT tensor address binding - add explicit set_tensor_address for all tensors before inference 2026-02-27 02:32:38 +01:00
huchukato c19731ec58 Fix AttributeError by initializing inputs and outputs attributes in Engine constructor 2026-02-27 02:30:44 +01:00
huchukato 5ab7eedbb9 Add CUDA ERROR 35 recovery mechanism with retry and context reset for inference failures 2026-02-27 02:29:00 +01:00
huchukato 5aec40e052 Add comprehensive CUDA diagnostics and troubleshooting for TensorRT build failures 2026-02-27 02:15:50 +01:00
huchukato 08cb64243f README Update 2026-02-21 09:32:40 +01:00
huchukato ab8373d6c2 Replace text links with shield.io language badges for better visual consistency 2026-02-21 09:19:41 +01:00
huchukato b8b2932de6 Add Italian README with badges and cross-link to main README 2026-02-21 09:17:41 +01:00
huchukato 24d5aa80af Clarify legacy requirements_cu12.txt usage and improve installation documentation 2026-02-21 09:16:45 +01:00
huchukato 3cdf12ab66 Implement fully automatic CUDA detection and TensorRT installation on node load 2026-02-21 09:14:05 +01:00
huchukato 6eb23462d9 Add auto-install scripts for CUDA version detection and requirements installation 2026-02-21 09:11:35 +01:00
Chuck b55f69970d Add large resolution profile (720-1920px) for high-resolution content support 2026-02-04 03:55:20 +01:00
Chuck ea738af937 Update TensorRT to latest version 10.15.1.29 for better compatibility 2026-02-04 03:41:51 +01:00
Chuck 343e25ce6c Fix tensorrt_cu13_bindings version to use available .post1 release 2026-02-04 03:39:13 +01:00
silveroxides 46d7a50445 update default resolutions and bump version to 1.1.1 2026-01-10 00:14:36 +01:00