nndeploy C++ API  0.2.0
nndeploy C++ API
Public Member Functions | Protected Attributes | List of all members
nndeploy::stable_diffusion::Scheduler Class Referenceabstract

#include <scheduler.h>

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

Public Member Functions

virtual base::Status deinit ()=0
 
virtual std::vector< int > & getTimesteps ()=0
 Get the Timestep object. More...
 
virtual base::Status init (SchedulerParam *param)=0
 
virtual base::Status scaleModelInput (device::Tensor *sample, int index)=0
 
 Scheduler (SchedulerType type)
 
virtual base::Status setTimesteps ()=0
 Set the Timesteps object. More...
 
virtual base::Status step (device::Tensor *sample, device::Tensor *timestep, device::Tensor *latents, device::Tensor *pre_sample)=0
 
virtual ~Scheduler ()
 

Protected Attributes

SchedulerParamscheduler_param_
 
SchedulerType scheduler_type_ = kSchedulerTypeNotSupport
 

Detailed Description

Definition at line 71 of file scheduler.h.

Constructor & Destructor Documentation

◆ Scheduler()

nndeploy::stable_diffusion::Scheduler::Scheduler ( SchedulerType  type)
inline

Definition at line 73 of file scheduler.h.

◆ ~Scheduler()

virtual nndeploy::stable_diffusion::Scheduler::~Scheduler ( )
inlinevirtual

Definition at line 74 of file scheduler.h.

Member Function Documentation

◆ deinit()

virtual base::Status nndeploy::stable_diffusion::Scheduler::deinit ( )
pure virtual

◆ getTimesteps()

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

Get the Timestep object.

Returns
std::vector<float>&

Implemented in nndeploy::stable_diffusion::DDIMScheduler.

◆ init()

virtual base::Status nndeploy::stable_diffusion::Scheduler::init ( SchedulerParam param)
pure virtual

◆ scaleModelInput()

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

Implemented in nndeploy::stable_diffusion::DDIMScheduler.

◆ setTimesteps()

virtual base::Status nndeploy::stable_diffusion::Scheduler::setTimesteps ( )
pure virtual

Set the Timesteps object.

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

Implemented in nndeploy::stable_diffusion::DDIMScheduler.

◆ step()

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

Implemented in nndeploy::stable_diffusion::DDIMScheduler.

Member Data Documentation

◆ scheduler_param_

SchedulerParam* nndeploy::stable_diffusion::Scheduler::scheduler_param_
protected

Definition at line 117 of file scheduler.h.

◆ scheduler_type_

SchedulerType nndeploy::stable_diffusion::Scheduler::scheduler_type_ = kSchedulerTypeNotSupport
protected

Definition at line 116 of file scheduler.h.


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