nndeploy C++ API  0.2.0
nndeploy C++ API
Public Member Functions | Public Attributes | List of all members
nndeploy::stable_diffusion::DDIMScheduler Class Reference

#include <ddim_scheduler.h>

Inheritance diagram for nndeploy::stable_diffusion::DDIMScheduler:
[legend]
Collaboration diagram for nndeploy::stable_diffusion::DDIMScheduler:
[legend]

Public Member Functions

 DDIMScheduler (SchedulerType scheduler_type)
 
virtual base::Status deinit ()
 
virtual std::vector< int > & getTimesteps ()
 Get the Timestep object. More...
 
virtual base::Status init (SchedulerParam *param)
 
virtual base::Status scaleModelInput (device::Tensor *sample, int index)
 
virtual base::Status setTimesteps ()
 Set the Timesteps object. More...
 
virtual base::Status step (device::Tensor *sample, device::Tensor *timestep, device::Tensor *latents, device::Tensor *pre_sample)
 
base::Status step_inner (std::vector< float > &sample, int timestep, std::vector< float > &latents, std::vector< float > &prev_sample)
 
virtual ~DDIMScheduler ()
 
- Public Member Functions inherited from nndeploy::stable_diffusion::Scheduler
 Scheduler (SchedulerType type)
 
virtual ~Scheduler ()
 

Public Attributes

std::vector< float > alphas_
 
std::vector< float > alphas_cumprod_
 
std::vector< float > betas_
 
DDIMSchedulerParamddim_scheduler_param_ = nullptr
 
float final_alpha_cumprod_ = 0.0
 
std::vector< int > timesteps_
 

Additional Inherited Members

- Protected Attributes inherited from nndeploy::stable_diffusion::Scheduler
SchedulerParamscheduler_param_
 
SchedulerType scheduler_type_ = kSchedulerTypeNotSupport
 

Detailed Description

Definition at line 67 of file ddim_scheduler.h.

Constructor & Destructor Documentation

◆ DDIMScheduler()

nndeploy::stable_diffusion::DDIMScheduler::DDIMScheduler ( SchedulerType  scheduler_type)

◆ ~DDIMScheduler()

virtual nndeploy::stable_diffusion::DDIMScheduler::~DDIMScheduler ( )
virtual

Member Function Documentation

◆ deinit()

virtual base::Status nndeploy::stable_diffusion::DDIMScheduler::deinit ( )
virtual

◆ getTimesteps()

virtual std::vector<int>& nndeploy::stable_diffusion::DDIMScheduler::getTimesteps ( )
virtual

Get the Timestep object.

Returns
std::vector<float>&

Implements nndeploy::stable_diffusion::Scheduler.

◆ init()

virtual base::Status nndeploy::stable_diffusion::DDIMScheduler::init ( SchedulerParam param)
virtual

◆ scaleModelInput()

virtual base::Status nndeploy::stable_diffusion::DDIMScheduler::scaleModelInput ( device::Tensor sample,
int  index 
)
virtual
Parameters
sample
index
Returns
device::Tensor*

Implements nndeploy::stable_diffusion::Scheduler.

◆ setTimesteps()

virtual base::Status nndeploy::stable_diffusion::DDIMScheduler::setTimesteps ( )
virtual

Set the Timesteps object.

Returns
base::Status
Note
设置推断过程中的时间步

Implements nndeploy::stable_diffusion::Scheduler.

◆ step()

virtual base::Status nndeploy::stable_diffusion::DDIMScheduler::step ( device::Tensor sample,
device::Tensor timestep,
device::Tensor latents,
device::Tensor pre_sample 
)
virtual
Parameters
sample
timestep
latents
pre_sample
Returns
base::Status

Implements nndeploy::stable_diffusion::Scheduler.

◆ step_inner()

base::Status nndeploy::stable_diffusion::DDIMScheduler::step_inner ( std::vector< float > &  sample,
int  timestep,
std::vector< float > &  latents,
std::vector< float > &  prev_sample 
)

Member Data Documentation

◆ alphas_

std::vector<float> nndeploy::stable_diffusion::DDIMScheduler::alphas_

Definition at line 93 of file ddim_scheduler.h.

◆ alphas_cumprod_

std::vector<float> nndeploy::stable_diffusion::DDIMScheduler::alphas_cumprod_

Definition at line 94 of file ddim_scheduler.h.

◆ betas_

std::vector<float> nndeploy::stable_diffusion::DDIMScheduler::betas_

Definition at line 92 of file ddim_scheduler.h.

◆ ddim_scheduler_param_

DDIMSchedulerParam* nndeploy::stable_diffusion::DDIMScheduler::ddim_scheduler_param_ = nullptr

Definition at line 97 of file ddim_scheduler.h.

◆ final_alpha_cumprod_

float nndeploy::stable_diffusion::DDIMScheduler::final_alpha_cumprod_ = 0.0

Definition at line 90 of file ddim_scheduler.h.

◆ timesteps_

std::vector<int> nndeploy::stable_diffusion::DDIMScheduler::timesteps_

Definition at line 96 of file ddim_scheduler.h.


The documentation for this class was generated from the following file: