def METHOD_NAME(self):
    config = self.config
    model = ConditionalWaveFlow(
        upsample_factors=config.model.upsample_factors,
        n_flows=config.model.n_flows,
        n_layers=config.model.n_layers,
        n_group=config.model.n_group,
        channels=config.model.channels,
        n_mels=config.data.n_mels,
        kernel_size=config.model.kernel_size)
    if self.parallel:
        model = paddle.DataParallel(model)
    optimizer = paddle.optimizer.Adam(
        config.training.lr, parameters=model.parameters())
    criterion = WaveFlowLoss(sigma=config.model.sigma)
    self.model = model
    self.optimizer = optimizer
    self.criterion = criterion