nndeploy C++ API  0.2.0
nndeploy C++ API
Classes | Enumerations | Functions
nndeploy::stable_diffusion Namespace Reference

Classes

class  DDIMScheduler
 
class  DDIMSchedulerParam
 
class  ProgressBar
 
class  Scheduler
 
class  SchedulerCreator
 推理框架的创建类 More...
 
class  SchedulerParam
 
class  Text2ImageParam
 
class  TypeSchedulerCreator
 推理框架的创建类模板 More...
 
class  TypeSchedulerRegister
 推理框架的创建类的注册类模板 More...
 

Enumerations

enum  SchedulerType : int {
  kSchedulerTypeDDIM = 0x0000 , kSchedulerTypeDPM , kSchedulerTypeEulerA , kSchedulerTypeLMSD ,
  kSchedulerTypePNDM , kSchedulerTypeNotSupport
}
 
enum  StableDiffusionType : int { kStableDiffusionTypeTextToImage = 0x0000 , kStableDiffusionTypeImageToImage , kStableDiffusionTypeInpaint , kStableDiffusionTypeNotSupport }
 

Functions

dag::GraphcreateCLIPGraph (const std::string &name, dag::Edge *prompt, dag::Edge *negative_prompt, dag::Edge *output, base::InferenceType inference_type, std::vector< base::Param * > &param)
 
dag::GraphcreateDenoiseGraph (const std::string &name, dag::Edge *text_embeddings, dag::Edge *output, SchedulerType scheduler_type, base::InferenceType inference_type, std::vector< base::Param * > &param, int iter)
 
SchedulercreateScheduler (SchedulerType type)
 Create a Scheduler object. More...
 
dag::GraphcreateStableDiffusionText2ImageGraph (const std::string name, std::string prompt, std::string negative_prompt, base::InferenceType inference_type, SchedulerType scheduler_type, std::vector< base::Param * > &param, int iter)
 
dag::GraphcreateVAEGraph (const std::string &name, dag::Edge *latents, dag::Edge *output, base::InferenceType inference_type, std::vector< base::Param * > &param)
 
std::map< SchedulerType, std::shared_ptr< SchedulerCreator > > & getGlobalSchedulerCreatorMap ()
 Get the Global Scheduler Creator Map object. More...
 
base::Status initializeLatents (std::mt19937 &generator, float init_noise_sigma, device ::Tensor *latents)
 

Enumeration Type Documentation

◆ SchedulerType

Enumerator
kSchedulerTypeDDIM 
kSchedulerTypeDPM 
kSchedulerTypeEulerA 
kSchedulerTypeLMSD 
kSchedulerTypePNDM 
kSchedulerTypeNotSupport 

Definition at line 15 of file type.h.

◆ StableDiffusionType

Enumerator
kStableDiffusionTypeTextToImage 
kStableDiffusionTypeImageToImage 
kStableDiffusionTypeInpaint 
kStableDiffusionTypeNotSupport 

Definition at line 8 of file type.h.

Function Documentation

◆ createCLIPGraph()

dag::Graph* nndeploy::stable_diffusion::createCLIPGraph ( const std::string &  name,
dag::Edge prompt,
dag::Edge negative_prompt,
dag::Edge output,
base::InferenceType  inference_type,
std::vector< base::Param * > &  param 
)

◆ createDenoiseGraph()

dag::Graph* nndeploy::stable_diffusion::createDenoiseGraph ( const std::string &  name,
dag::Edge text_embeddings,
dag::Edge output,
SchedulerType  scheduler_type,
base::InferenceType  inference_type,
std::vector< base::Param * > &  param,
int  iter 
)

◆ createScheduler()

Scheduler* nndeploy::stable_diffusion::createScheduler ( SchedulerType  type)

Create a Scheduler object.

Parameters
type
Returns
Scheduler*

◆ createStableDiffusionText2ImageGraph()

dag::Graph* nndeploy::stable_diffusion::createStableDiffusionText2ImageGraph ( const std::string  name,
std::string  prompt,
std::string  negative_prompt,
base::InferenceType  inference_type,
SchedulerType  scheduler_type,
std::vector< base::Param * > &  param,
int  iter 
)

◆ createVAEGraph()

dag::Graph* nndeploy::stable_diffusion::createVAEGraph ( const std::string &  name,
dag::Edge latents,
dag::Edge output,
base::InferenceType  inference_type,
std::vector< base::Param * > &  param 
)

◆ getGlobalSchedulerCreatorMap()

std::map<SchedulerType, std::shared_ptr<SchedulerCreator> >& nndeploy::stable_diffusion::getGlobalSchedulerCreatorMap ( )

Get the Global Scheduler Creator Map object.

Returns
std::map<SchedulerType, std::shared_ptr<SchedulerCreator>>&

◆ initializeLatents()

base::Status nndeploy::stable_diffusion::initializeLatents ( std::mt19937 &  generator,
float  init_noise_sigma,
device ::Tensor *  latents 
)
Parameters
generator
init_noise_sigma
latents
Returns
base::Status