def __init__(self, model_type, layers_setting, embed_layers_setting, rec_layers_setting, input_dim, output_dim, latent_dim, cls_dim, max_length, max_size, type_size, conditional, position_type, segment_type, sketch_embed_type, embed_pool_type, attention_norm_type, inter_activation, attention_dropout_prob, hidden_dropout_prob, output_dropout_prob):
    print(embed_layers_setting)
    super(SketchVAEDecoder, self).__init__(model_type, layers_setting, embed_layers_setting, input_dim, max_length, max_size, type_size, position_type, segment_type, sketch_embed_type, embed_pool_type, attention_norm_type, inter_activation, attention_dropout_prob, hidden_dropout_prob, output_dropout_prob)
    self.conditional = conditional
    if self.conditional:
        self.cls_embedding = nn.Embedding(cls_dim, embed_layers_setting[0])
    else:
        self.cls_embedding = None
    self.re_fcs = []
    rec_layers_setting = rec_layers_setting.copy()
    (rec_layers_setting.append(output_dim), rec_layers_setting.insert(0, layers_setting[0][1]))
    for i in range((len(rec_layers_setting) - 1)):
        self.re_fcs.append(nn.Linear(rec_layers_setting[i], rec_layers_setting[(i + 1)]))
    self.re_fcs = nn.ModuleList(self.re_fcs)
    self.latent_fusion = nn.Linear((layers_setting[0][1] + latent_dim), layers_setting[0][1])
def __init__(self, model_type, layers_setting, embed_layers_setting, rec_layers_setting, input_dim, output_dim, latent_dim, cls_dim, max_length, max_size, type_size, conditional, position_type, segment_type, sketch_embed_type, embed_pool_type, attention_norm_type, inter_activation, attention_dropout_prob, hidden_dropout_prob, output_dropout_prob):
    print(embed_layers_setting)
    super(SketchVAEDecoder, self).__init__(model_type, layers_setting, embed_layers_setting, input_dim, max_length, max_size, type_size, position_type, segment_type, sketch_embed_type, embed_pool_type, attention_norm_type, inter_activation, attention_dropout_prob, hidden_dropout_prob, output_dropout_prob)
    self.conditional = conditional
    if self.conditional:
        self.cls_embedding = nn.Embedding(cls_dim, embed_layers_setting[0])
    else:
        self.cls_embedding = None
    self.re_fcs = []
    rec_layers_setting = rec_layers_setting.copy()
    (rec_layers_setting.append(output_dim), rec_layers_setting.insert(0, layers_setting[0][1]))
    for i in range((len(rec_layers_setting) - 1)):
        self.re_fcs.append(nn.Linear(rec_layers_setting[i], rec_layers_setting[(i + 1)]))
    self.re_fcs = nn.ModuleList(self.re_fcs)
    self.latent_fusion = nn.Linear((layers_setting[0][1] + latent_dim), layers_setting[0][1])