pub struct ModelConfigBuilder { /* private fields */ }Expand description
Builder for ModelConfig.
Implementations§
Source§impl ModelConfigBuilder
impl ModelConfigBuilder
Sourcepub fn offload_params_to_cpu<VALUE: Into<bool>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn offload_params_to_cpu<VALUE: Into<bool>>( &mut self, value: VALUE, ) -> &mut Self
Place the weights in RAM to save VRAM, and automatically load them into VRAM when needed
Sourcepub fn upscale_model<VALUE: Into<CLibPath>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn upscale_model<VALUE: Into<CLibPath>>( &mut self, value: VALUE, ) -> &mut Self
Path to esrgan model. Upscale images after generate, just RealESRGAN_x4plus_anime_6B supported by now
Sourcepub fn upscale_repeats<VALUE: Into<i32>>(&mut self, value: VALUE) -> &mut Self
pub fn upscale_repeats<VALUE: Into<i32>>(&mut self, value: VALUE) -> &mut Self
Run the ESRGAN upscaler this many times (default 1)
Sourcepub fn upscale_tile_size<VALUE: Into<i32>>(&mut self, value: VALUE) -> &mut Self
pub fn upscale_tile_size<VALUE: Into<i32>>(&mut self, value: VALUE) -> &mut Self
Tile size for ESRGAN upscaler (default 128)
Sourcepub fn diffusion_model<VALUE: Into<CLibPath>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn diffusion_model<VALUE: Into<CLibPath>>( &mut self, value: VALUE, ) -> &mut Self
Path to the standalone diffusion model
Sourcepub fn llm<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
pub fn llm<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
Path to the qwen2vl text encoder
Sourcepub fn llm_vision<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
pub fn llm_vision<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
Path to the qwen2vl vit
Sourcepub fn clip_l<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
pub fn clip_l<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
Path to the clip-l text encoder
Sourcepub fn clip_g<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
pub fn clip_g<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
Path to the clip-g text encoder
Sourcepub fn clip_vision<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
pub fn clip_vision<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
Path to the clip-vision encoder
Sourcepub fn t5xxl<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
pub fn t5xxl<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
Path to the t5xxl text encoder
Sourcepub fn taesd<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
pub fn taesd<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
Path to taesd. Using Tiny AutoEncoder for fast decoding (low quality)
Sourcepub fn control_net<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
pub fn control_net<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
Path to control net model
Sourcepub fn photo_maker<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
pub fn photo_maker<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self
Path to PHOTOMAKER model
Sourcepub fn pm_id_embed_path<VALUE: Into<CLibPath>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn pm_id_embed_path<VALUE: Into<CLibPath>>( &mut self, value: VALUE, ) -> &mut Self
Path to PHOTOMAKER v2 id embed
Sourcepub fn weight_type<VALUE: Into<WeightType>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn weight_type<VALUE: Into<WeightType>>( &mut self, value: VALUE, ) -> &mut Self
Weight type. If not specified, the default is the type of the weight file
Sourcepub fn high_noise_diffusion_model<VALUE: Into<CLibPath>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn high_noise_diffusion_model<VALUE: Into<CLibPath>>( &mut self, value: VALUE, ) -> &mut Self
Path to the standalone high noise diffusion model
Sourcepub fn vae_tiling<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self
pub fn vae_tiling<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self
Process vae in tiles to reduce memory usage (default: false)
Sourcepub fn vae_tile_size<VALUE: Into<(i32, i32)>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn vae_tile_size<VALUE: Into<(i32, i32)>>( &mut self, value: VALUE, ) -> &mut Self
Tile size for vae tiling (default: 32x32)
Sourcepub fn vae_relative_tile_size<VALUE: Into<(f32, f32)>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn vae_relative_tile_size<VALUE: Into<(f32, f32)>>( &mut self, value: VALUE, ) -> &mut Self
Relative tile size for vae tiling, in fraction of image size if < 1, in number of tiles per dim if >=1 (overrides vae_tile_size)
Sourcepub fn vae_tile_overlap<VALUE: Into<f32>>(&mut self, value: VALUE) -> &mut Self
pub fn vae_tile_overlap<VALUE: Into<f32>>(&mut self, value: VALUE) -> &mut Self
Tile overlap for vae tiling, in fraction of tile size (default: 0.5)
Sourcepub fn rng<VALUE: Into<RngFunction>>(&mut self, value: VALUE) -> &mut Self
pub fn rng<VALUE: Into<RngFunction>>(&mut self, value: VALUE) -> &mut Self
RNG (default: CUDA)
Sourcepub fn sampler_rng_type<VALUE: Into<RngFunction>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn sampler_rng_type<VALUE: Into<RngFunction>>( &mut self, value: VALUE, ) -> &mut Self
Sampler RNG. If RngFunction::RNG_TYPE_COUNT is used will default to rng value. (default: RngFunction::RNG_TYPE_COUNT)“,
Sourcepub fn scheduler<VALUE: Into<Scheduler>>(&mut self, value: VALUE) -> &mut Self
pub fn scheduler<VALUE: Into<Scheduler>>(&mut self, value: VALUE) -> &mut Self
Denoiser sigma schedule (default: Scheduler::SCHEDULER_COUNT). Will default to Scheduler::EXPONENTIAL_SCHEDULER if a denoiser is already instantiated. Otherwise, Scheduler::DISCRETE_SCHEDULER is used.
Sourcepub fn prediction<VALUE: Into<Prediction>>(&mut self, value: VALUE) -> &mut Self
pub fn prediction<VALUE: Into<Prediction>>(&mut self, value: VALUE) -> &mut Self
Prediction type override (default: PREDICTION_COUNT)
Sourcepub fn vae_on_cpu<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self
pub fn vae_on_cpu<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self
Keep vae in cpu (for low vram) (default: false)
Sourcepub fn clip_on_cpu<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self
pub fn clip_on_cpu<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self
keep clip in cpu (for low vram) (default: false)
Sourcepub fn control_net_cpu<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self
pub fn control_net_cpu<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self
Keep controlnet in cpu (for low vram) (default: false)
Sourcepub fn flash_attention<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self
pub fn flash_attention<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self
Use flash attention to reduce memory usage (for low vram).
Sourcepub fn chroma_disable_dit_mask<VALUE: Into<bool>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn chroma_disable_dit_mask<VALUE: Into<bool>>( &mut self, value: VALUE, ) -> &mut Self
Disable dit mask for chroma
Sourcepub fn chroma_enable_t5_mask<VALUE: Into<bool>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn chroma_enable_t5_mask<VALUE: Into<bool>>( &mut self, value: VALUE, ) -> &mut Self
Enable t5 mask for chroma
Sourcepub fn chroma_t5_mask_pad<VALUE: Into<i32>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn chroma_t5_mask_pad<VALUE: Into<i32>>( &mut self, value: VALUE, ) -> &mut Self
t5 mask pad size of chroma
Sourcepub fn diffusion_conv_direct<VALUE: Into<bool>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn diffusion_conv_direct<VALUE: Into<bool>>( &mut self, value: VALUE, ) -> &mut Self
Use Conv2d direct in the diffusion model This might crash if it is not supported by the backend.
Sourcepub fn vae_conv_direct<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self
pub fn vae_conv_direct<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self
Use Conv2d direct in the vae model (should improve the performance) This might crash if it is not supported by the backend.
Sourcepub fn force_sdxl_vae_conv_scale<VALUE: Into<bool>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn force_sdxl_vae_conv_scale<VALUE: Into<bool>>( &mut self, value: VALUE, ) -> &mut Self
Force use of conv scale on sdxl vae
Sourcepub fn flow_shift<VALUE: Into<f32>>(&mut self, value: VALUE) -> &mut Self
pub fn flow_shift<VALUE: Into<f32>>(&mut self, value: VALUE) -> &mut Self
Shift value for Flow models like SD3.x or WAN (default: auto)
Sourcepub fn timestep_shift<VALUE: Into<i32>>(&mut self, value: VALUE) -> &mut Self
pub fn timestep_shift<VALUE: Into<i32>>(&mut self, value: VALUE) -> &mut Self
Shift timestep for NitroFusion models, default: 0, recommended N for NitroSD-Realism around 250 and 500 for NitroSD-Vibrant
Sourcepub fn taesd_preview_only<VALUE: Into<bool>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn taesd_preview_only<VALUE: Into<bool>>( &mut self, value: VALUE, ) -> &mut Self
Prevents usage of taesd for decoding the final image
Sourcepub fn lora_apply_mode<VALUE: Into<LoraModeType>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn lora_apply_mode<VALUE: Into<LoraModeType>>( &mut self, value: VALUE, ) -> &mut Self
In auto mode, if the model weights contain any quantized parameters, the at_runtime mode will be used; otherwise, immediately will be used.The immediately mode may have precision and compatibility issues with quantized parameters, but it usually offers faster inference speed and, in some cases, lower memory usage. The at_runtime mode, on the other hand, is exactly the opposite
Sourcepub fn easy_cache<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self
pub fn easy_cache<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self
Enable easycache to achieve speedup (default: false)
Sourcepub fn easy_cache_reuse_threshold<VALUE: Into<f32>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn easy_cache_reuse_threshold<VALUE: Into<f32>>( &mut self, value: VALUE, ) -> &mut Self
Easycache reuse threashold (default: 0.2)
Sourcepub fn easy_cache_start_percent<VALUE: Into<f32>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn easy_cache_start_percent<VALUE: Into<f32>>( &mut self, value: VALUE, ) -> &mut Self
Easycache start percent (default: 0.15)
Sourcepub fn easy_cache_end_percent<VALUE: Into<f32>>(
&mut self,
value: VALUE,
) -> &mut Self
pub fn easy_cache_end_percent<VALUE: Into<f32>>( &mut self, value: VALUE, ) -> &mut Self
Easycache end percent (default: 0.95)
Sourcepub fn build(&self) -> Result<ModelConfig, ConfigBuilderError>
pub fn build(&self) -> Result<ModelConfig, ConfigBuilderError>
Trait Implementations§
Source§impl Clone for ModelConfigBuilder
impl Clone for ModelConfigBuilder
Source§fn clone(&self) -> ModelConfigBuilder
fn clone(&self) -> ModelConfigBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for ModelConfigBuilder
impl Default for ModelConfigBuilder
Source§impl From<ModelConfig> for ModelConfigBuilder
impl From<ModelConfig> for ModelConfigBuilder
Source§fn from(value: ModelConfig) -> Self
fn from(value: ModelConfig) -> Self
Auto Trait Implementations§
impl Freeze for ModelConfigBuilder
impl RefUnwindSafe for ModelConfigBuilder
impl !Send for ModelConfigBuilder
impl !Sync for ModelConfigBuilder
impl Unpin for ModelConfigBuilder
impl UnwindSafe for ModelConfigBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().