ModelConfigBuilder

Struct ModelConfigBuilder 

Source
pub struct ModelConfigBuilder { /* private fields */ }
Expand description

Builder for ModelConfig.

Implementations§

Source§

impl ModelConfigBuilder

Source

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

Source

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

Source

pub fn upscale_repeats<VALUE: Into<i32>>(&mut self, value: VALUE) -> &mut Self

Run the ESRGAN upscaler this many times (default 1)

Source

pub fn upscale_tile_size<VALUE: Into<i32>>(&mut self, value: VALUE) -> &mut Self

Tile size for ESRGAN upscaler (default 128)

Source

pub fn model<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self

Path to full model

Source

pub fn diffusion_model<VALUE: Into<CLibPath>>( &mut self, value: VALUE, ) -> &mut Self

Path to the standalone diffusion model

Source

pub fn llm<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self

Path to the qwen2vl text encoder

Source

pub fn llm_vision<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self

Path to the qwen2vl vit

Source

pub fn clip_l<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self

Path to the clip-l text encoder

Source

pub fn clip_g<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self

Path to the clip-g text encoder

Source

pub fn clip_vision<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self

Path to the clip-vision encoder

Source

pub fn t5xxl<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self

Path to the t5xxl text encoder

Source

pub fn vae<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self

Path to vae

Source

pub fn taesd<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self

Path to taesd. Using Tiny AutoEncoder for fast decoding (low quality)

Source

pub fn control_net<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self

Path to control net model

Source

pub fn photo_maker<VALUE: Into<CLibPath>>(&mut self, value: VALUE) -> &mut Self

Path to PHOTOMAKER model

Source

pub fn pm_id_embed_path<VALUE: Into<CLibPath>>( &mut self, value: VALUE, ) -> &mut Self

Path to PHOTOMAKER v2 id embed

Source

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

Source

pub fn high_noise_diffusion_model<VALUE: Into<CLibPath>>( &mut self, value: VALUE, ) -> &mut Self

Path to the standalone high noise diffusion model

Source

pub fn vae_tiling<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self

Process vae in tiles to reduce memory usage (default: false)

Source

pub fn vae_tile_size<VALUE: Into<(i32, i32)>>( &mut self, value: VALUE, ) -> &mut Self

Tile size for vae tiling (default: 32x32)

Source

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)

Source

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)

Source

pub fn rng<VALUE: Into<RngFunction>>(&mut self, value: VALUE) -> &mut Self

RNG (default: CUDA)

Source

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)“,

Source

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.

Source

pub fn prediction<VALUE: Into<Prediction>>(&mut self, value: VALUE) -> &mut Self

Prediction type override (default: PREDICTION_COUNT)

Source

pub fn vae_on_cpu<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self

Keep vae in cpu (for low vram) (default: false)

Source

pub fn clip_on_cpu<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self

keep clip in cpu (for low vram) (default: false)

Source

pub fn control_net_cpu<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self

Keep controlnet in cpu (for low vram) (default: false)

Source

pub fn flash_attention<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self

Use flash attention to reduce memory usage (for low vram).

Source

pub fn chroma_disable_dit_mask<VALUE: Into<bool>>( &mut self, value: VALUE, ) -> &mut Self

Disable dit mask for chroma

Source

pub fn chroma_enable_t5_mask<VALUE: Into<bool>>( &mut self, value: VALUE, ) -> &mut Self

Enable t5 mask for chroma

Source

pub fn chroma_t5_mask_pad<VALUE: Into<i32>>( &mut self, value: VALUE, ) -> &mut Self

t5 mask pad size of chroma

Source

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.

Source

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.

Source

pub fn force_sdxl_vae_conv_scale<VALUE: Into<bool>>( &mut self, value: VALUE, ) -> &mut Self

Force use of conv scale on sdxl vae

Source

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)

Source

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

Source

pub fn taesd_preview_only<VALUE: Into<bool>>( &mut self, value: VALUE, ) -> &mut Self

Prevents usage of taesd for decoding the final image

Source

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

Source

pub fn easy_cache<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self

Enable easycache to achieve speedup (default: false)

Source

pub fn easy_cache_reuse_threshold<VALUE: Into<f32>>( &mut self, value: VALUE, ) -> &mut Self

Easycache reuse threashold (default: 0.2)

Source

pub fn easy_cache_start_percent<VALUE: Into<f32>>( &mut self, value: VALUE, ) -> &mut Self

Easycache start percent (default: 0.15)

Source

pub fn easy_cache_end_percent<VALUE: Into<f32>>( &mut self, value: VALUE, ) -> &mut Self

Easycache end percent (default: 0.95)

Source

pub fn build(&self) -> Result<ModelConfig, ConfigBuilderError>

Builds a new ModelConfig.

§Errors

If a required field has not been initialized.

Source§

impl ModelConfigBuilder

Source

pub fn embeddings(&mut self, embeddings_dir: &Path) -> &mut Self

Source

pub fn lora_models( &mut self, lora_model_dir: &Path, specs: Vec<LoraSpec>, ) -> &mut Self

Source

pub fn n_threads(&mut self, value: i32) -> &mut Self

Trait Implementations§

Source§

impl Clone for ModelConfigBuilder

Source§

fn clone(&self) -> ModelConfigBuilder

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Default for ModelConfigBuilder

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl From<ModelConfig> for ModelConfigBuilder

Source§

fn from(value: ModelConfig) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<R, P> ReadPrimitive<R> for P
where R: Read + ReadEndian<P>, P: Default,

Source§

fn read_from_little_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
Source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
Source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V