H3 Evict Text Encoder (unload after encode):
The H3EvictTextEncoder node is designed to optimize VRAM usage by unloading the text encoder, specifically the CLIP patcher and its clones, immediately after the encoding process is completed. This node acts as a passthrough for conditioning, ensuring that the text encoder's VRAM is freed up before the DiT (Diffusion Transformer) model loads, rather than waiting for the system to evict it on demand. This proactive approach is particularly beneficial for users working with smaller graphics cards, as it helps manage memory resources more efficiently. In scenarios where the system is set to --gpu-only mode, the node becomes a no-op, meaning it does not perform any action since the offload device is the GPU. The primary goal of this node is to measure the impact of explicit VRAM eviction on smaller cards, providing insights into memory management and potentially improving performance in resource-constrained environments.
H3 Evict Text Encoder (unload after encode) Input Parameters:
conditioning
The conditioning parameter is a required input that represents the conditioning data used in the encoding process. This data is crucial for guiding the diffusion model in generating specific outputs. The conditioning input does not have specific minimum, maximum, or default values, as it is dependent on the context of the task being performed. It serves as a conduit for the encoded information, ensuring that the subsequent processes have the necessary data to function correctly.
clip
The clip parameter is another required input that refers to the CLIP model used for encoding the text. This model is responsible for transforming text inputs into embeddings that can be utilized by the diffusion model. The clip input is essential for the node's operation, as it directly influences the encoding process. Like the conditioning parameter, it does not have predefined minimum, maximum, or default values, as it is determined by the specific CLIP model being used in the workflow.
H3 Evict Text Encoder (unload after encode) Output Parameters:
conditioning
The conditioning output parameter returns the same conditioning data that was input into the node. This passthrough functionality ensures that the conditioning information is preserved and available for subsequent nodes in the workflow. The conditioning output is crucial for maintaining the integrity of the data flow, allowing the diffusion model to utilize the encoded information effectively.
report
The report output parameter provides a string message detailing the change in free VRAM on the device before and after the text encoder is unloaded. This report is valuable for users who wish to monitor and understand the impact of the node's operation on memory resources. By providing a clear indication of VRAM usage, the report output helps users assess the effectiveness of the node in optimizing memory management.
H3 Evict Text Encoder (unload after encode) Usage Tips:
- Use the
H3EvictTextEncodernode when working with smaller graphics cards to proactively manage VRAM usage and potentially improve performance by freeing up memory resources before loading new models. - Monitor the
reportoutput to gain insights into VRAM usage and assess the impact of the node's operation on memory management, allowing for informed decisions about resource allocation.
H3 Evict Text Encoder (unload after encode) Common Errors and Solutions:
H3 Evict Text Encoder (unload after encode): unload failed
- Explanation: This error occurs when the node fails to unload the text encoder and its clones, possibly due to an issue with the CLIP model or its patcher.
- Solution: Ensure that the CLIP model and its patcher are correctly configured and accessible. Check for any compatibility issues or errors in the model setup that might prevent successful unloading.
RuntimeError: clip input is invalid: None
- Explanation: This error indicates that the
clipinput is not valid, possibly because it is set toNoneor not properly initialized. - Solution: Verify that the
clipinput is correctly configured and that a valid CLIP model is provided. Ensure that the model is loaded and accessible before executing the node.
