- Add ITC and UTC for Attention, Mol Attention, Multi Head Attention, Layer Normalization
and Positional Encoding
Change-Id: I4745d4730615f87060bff14435883910b4ac6e5d
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
case ML_TRAIN_LAYER_TYPE_ZONEOUTLSTMCELL:
nRet = ml_train_layer_set_property(hTrainLayer, "name=zoneoutlstmcell", NULL);
break;
+ case ML_TRAIN_LAYER_TYPE_ATTENTION:
+ nRet = ml_train_layer_set_property(hTrainLayer, "name=attention", NULL);
+ break;
+ case ML_TRAIN_LAYER_TYPE_MOL_ATTENTION:
+ nRet = ml_train_layer_set_property(hTrainLayer, "name=mol_attention", NULL);
+ break;
+ case ML_TRAIN_LAYER_TYPE_MULTI_HEAD_ATTENTION:
+ nRet = ml_train_layer_set_property(hTrainLayer, "name=multi_head_attention", NULL);
+ break;
+ case ML_TRAIN_LAYER_TYPE_LAYER_NORMALIZATION:
+ nRet = ml_train_layer_set_property(hTrainLayer, "name=layer_normalization", NULL);
+ break;
+ case ML_TRAIN_LAYER_TYPE_POSITIONAL_ENCODING:
+ nRet = ml_train_layer_set_property(hTrainLayer, "name=positional_encoding", NULL);
+ break;
case ML_TRAIN_LAYER_TYPE_PREPROCESS_FLIP:
nRet = ml_train_layer_set_property(hTrainLayer, "name=preprocess_flip", NULL);
break;
ML_TRAIN_LAYER_TYPE_GRUCELL,
ML_TRAIN_LAYER_TYPE_RNNCELL,
ML_TRAIN_LAYER_TYPE_ZONEOUTLSTMCELL,
+ ML_TRAIN_LAYER_TYPE_ATTENTION,
+ ML_TRAIN_LAYER_TYPE_MOL_ATTENTION,
+ ML_TRAIN_LAYER_TYPE_MULTI_HEAD_ATTENTION,
+ ML_TRAIN_LAYER_TYPE_LAYER_NORMALIZATION,
+ ML_TRAIN_LAYER_TYPE_POSITIONAL_ENCODING,
ML_TRAIN_LAYER_TYPE_PREPROCESS_FLIP,
ML_TRAIN_LAYER_TYPE_PREPROCESS_TRANSLATE,
ML_TRAIN_LAYER_TYPE_PREPROCESS_L2NORM,
ML_TRAIN_LAYER_TYPE_GRUCELL,
ML_TRAIN_LAYER_TYPE_RNNCELL,
ML_TRAIN_LAYER_TYPE_ZONEOUTLSTMCELL,
+ ML_TRAIN_LAYER_TYPE_ATTENTION,
+ ML_TRAIN_LAYER_TYPE_MOL_ATTENTION,
+ ML_TRAIN_LAYER_TYPE_MULTI_HEAD_ATTENTION,
+ ML_TRAIN_LAYER_TYPE_LAYER_NORMALIZATION,
+ ML_TRAIN_LAYER_TYPE_POSITIONAL_ENCODING,
ML_TRAIN_LAYER_TYPE_PREPROCESS_FLIP,
ML_TRAIN_LAYER_TYPE_PREPROCESS_TRANSLATE,
ML_TRAIN_LAYER_TYPE_PREPROCESS_L2NORM,
extern int utc_nntrainer_layer_set_property_rnncell_n(void);
extern int utc_nntrainer_layer_set_property_zoneoutlstmcell_p(void);
extern int utc_nntrainer_layer_set_property_zoneoutlstmcell_n(void);
+extern int utc_nntrainer_layer_set_property_attention_p(void);
+extern int utc_nntrainer_layer_set_property_attention_n(void);
+extern int utc_nntrainer_layer_set_property_mol_attention_p(void);
+extern int utc_nntrainer_layer_set_property_mol_attention_n(void);
+extern int utc_nntrainer_layer_set_property_multi_head_attention_p(void);
+extern int utc_nntrainer_layer_set_property_multi_head_attention_n(void);
+extern int utc_nntrainer_layer_set_property_layer_normalization_p(void);
+extern int utc_nntrainer_layer_set_property_layer_normalization_n(void);
+extern int utc_nntrainer_layer_set_property_positional_encoding_p(void);
+extern int utc_nntrainer_layer_set_property_positional_encoding_n(void);
extern int utc_nntrainer_layer_set_property_preprocess_flip_p(void);
extern int utc_nntrainer_layer_set_property_preprocess_flip_n(void);
extern int utc_nntrainer_layer_set_property_preprocess_translate_p(void);
{"utc_nntrainer_layer_set_property_rnncell_n", utc_nntrainer_layer_set_property_rnncell_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_zoneoutlstmcell_p", utc_nntrainer_layer_set_property_zoneoutlstmcell_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_zoneoutlstmcell_n", utc_nntrainer_layer_set_property_zoneoutlstmcell_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_attention_p", utc_nntrainer_layer_set_property_attention_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_attention_n", utc_nntrainer_layer_set_property_attention_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_mol_attention_p", utc_nntrainer_layer_set_property_mol_attention_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_mol_attention_n", utc_nntrainer_layer_set_property_mol_attention_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_multi_head_attention_p", utc_nntrainer_layer_set_property_multi_head_attention_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_multi_head_attention_n", utc_nntrainer_layer_set_property_multi_head_attention_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_layer_normalization_p", utc_nntrainer_layer_set_property_layer_normalization_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_layer_normalization_n", utc_nntrainer_layer_set_property_layer_normalization_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_positional_encoding_p", utc_nntrainer_layer_set_property_positional_encoding_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_positional_encoding_n", utc_nntrainer_layer_set_property_positional_encoding_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_preprocess_flip_p", utc_nntrainer_layer_set_property_preprocess_flip_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_preprocess_flip_n", utc_nntrainer_layer_set_property_preprocess_flip_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_preprocess_translate_p", utc_nntrainer_layer_set_property_preprocess_translate_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
extern int utc_nntrainer_layer_set_property_rnncell_n(void);
extern int utc_nntrainer_layer_set_property_zoneoutlstmcell_p(void);
extern int utc_nntrainer_layer_set_property_zoneoutlstmcell_n(void);
+extern int utc_nntrainer_layer_set_property_attention_p(void);
+extern int utc_nntrainer_layer_set_property_attention_n(void);
+extern int utc_nntrainer_layer_set_property_mol_attention_p(void);
+extern int utc_nntrainer_layer_set_property_mol_attention_n(void);
+extern int utc_nntrainer_layer_set_property_multi_head_attention_p(void);
+extern int utc_nntrainer_layer_set_property_multi_head_attention_n(void);
+extern int utc_nntrainer_layer_set_property_layer_normalization_p(void);
+extern int utc_nntrainer_layer_set_property_layer_normalization_n(void);
+extern int utc_nntrainer_layer_set_property_positional_encoding_p(void);
+extern int utc_nntrainer_layer_set_property_positional_encoding_n(void);
extern int utc_nntrainer_layer_set_property_preprocess_flip_p(void);
extern int utc_nntrainer_layer_set_property_preprocess_flip_n(void);
extern int utc_nntrainer_layer_set_property_preprocess_translate_p(void);
{"utc_nntrainer_layer_set_property_rnncell_p", utc_nntrainer_layer_set_property_rnncell_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_rnncell_n", utc_nntrainer_layer_set_property_rnncell_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_zoneoutlstmcell_p", utc_nntrainer_layer_set_property_zoneoutlstmcell_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
- {"utc_nntrainer_layer_set_property_zoneoutlstmcell_n", utc_nntrainer_layer_set_property_zoneoutlstmcell_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_zoneoutlstmcell_n", utc_nntrainer_layer_set_property_zoneoutlstmcell_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_attention_p", utc_nntrainer_layer_set_property_attention_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_attention_n", utc_nntrainer_layer_set_property_attention_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_mol_attention_p", utc_nntrainer_layer_set_property_mol_attention_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_mol_attention_n", utc_nntrainer_layer_set_property_mol_attention_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_multi_head_attention_p", utc_nntrainer_layer_set_property_multi_head_attention_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_multi_head_attention_n", utc_nntrainer_layer_set_property_multi_head_attention_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_layer_normalization_p", utc_nntrainer_layer_set_property_layer_normalization_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_layer_normalization_n", utc_nntrainer_layer_set_property_layer_normalization_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_positional_encoding_p", utc_nntrainer_layer_set_property_positional_encoding_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_positional_encoding_n", utc_nntrainer_layer_set_property_positional_encoding_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_preprocess_flip_p", utc_nntrainer_layer_set_property_preprocess_flip_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_preprocess_flip_n", utc_nntrainer_layer_set_property_preprocess_flip_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_preprocess_translate_p", utc_nntrainer_layer_set_property_preprocess_translate_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
extern int utc_nntrainer_layer_set_property_rnncell_n(void);
extern int utc_nntrainer_layer_set_property_zoneoutlstmcell_p(void);
extern int utc_nntrainer_layer_set_property_zoneoutlstmcell_n(void);
+extern int utc_nntrainer_layer_set_property_attention_p(void);
+extern int utc_nntrainer_layer_set_property_attention_n(void);
+extern int utc_nntrainer_layer_set_property_mol_attention_p(void);
+extern int utc_nntrainer_layer_set_property_mol_attention_n(void);
+extern int utc_nntrainer_layer_set_property_multi_head_attention_p(void);
+extern int utc_nntrainer_layer_set_property_multi_head_attention_n(void);
+extern int utc_nntrainer_layer_set_property_layer_normalization_p(void);
+extern int utc_nntrainer_layer_set_property_layer_normalization_n(void);
+extern int utc_nntrainer_layer_set_property_positional_encoding_p(void);
+extern int utc_nntrainer_layer_set_property_positional_encoding_n(void);
extern int utc_nntrainer_layer_set_property_preprocess_flip_p(void);
extern int utc_nntrainer_layer_set_property_preprocess_flip_n(void);
extern int utc_nntrainer_layer_set_property_preprocess_translate_p(void);
{"utc_nntrainer_layer_set_property_rnncell_n", utc_nntrainer_layer_set_property_rnncell_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_zoneoutlstmcell_p", utc_nntrainer_layer_set_property_zoneoutlstmcell_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_zoneoutlstmcell_n", utc_nntrainer_layer_set_property_zoneoutlstmcell_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_attention_p", utc_nntrainer_layer_set_property_attention_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_attention_n", utc_nntrainer_layer_set_property_attention_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_mol_attention_p", utc_nntrainer_layer_set_property_mol_attention_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_mol_attention_n", utc_nntrainer_layer_set_property_mol_attention_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_multi_head_attention_p", utc_nntrainer_layer_set_property_multi_head_attention_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_multi_head_attention_n", utc_nntrainer_layer_set_property_multi_head_attention_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_layer_normalization_p", utc_nntrainer_layer_set_property_layer_normalization_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_layer_normalization_n", utc_nntrainer_layer_set_property_layer_normalization_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_positional_encoding_p", utc_nntrainer_layer_set_property_positional_encoding_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_positional_encoding_n", utc_nntrainer_layer_set_property_positional_encoding_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup}
{"utc_nntrainer_layer_set_property_preprocess_flip_p", utc_nntrainer_layer_set_property_preprocess_flip_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_preprocess_flip_n", utc_nntrainer_layer_set_property_preprocess_flip_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_preprocess_translate_p", utc_nntrainer_layer_set_property_preprocess_translate_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
extern int utc_nntrainer_layer_set_property_rnncell_n(void);
extern int utc_nntrainer_layer_set_property_zoneoutlstmcell_p(void);
extern int utc_nntrainer_layer_set_property_zoneoutlstmcell_n(void);
+extern int utc_nntrainer_layer_set_property_attention_p(void);
+extern int utc_nntrainer_layer_set_property_attention_n(void);
+extern int utc_nntrainer_layer_set_property_mol_attention_p(void);
+extern int utc_nntrainer_layer_set_property_mol_attention_n(void);
+extern int utc_nntrainer_layer_set_property_multi_head_attention_p(void);
+extern int utc_nntrainer_layer_set_property_multi_head_attention_n(void);
+extern int utc_nntrainer_layer_set_property_layer_normalization_p(void);
+extern int utc_nntrainer_layer_set_property_layer_normalization_n(void);
+extern int utc_nntrainer_layer_set_property_positional_encoding_p(void);
+extern int utc_nntrainer_layer_set_property_positional_encoding_n(void);
extern int utc_nntrainer_layer_set_property_preprocess_flip_p(void);
extern int utc_nntrainer_layer_set_property_preprocess_flip_n(void);
extern int utc_nntrainer_layer_set_property_preprocess_translate_p(void);
{"utc_nntrainer_layer_set_property_rnncell_n", utc_nntrainer_layer_set_property_rnncell_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_zoneoutlstmcell_p", utc_nntrainer_layer_set_property_zoneoutlstmcell_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_zoneoutlstmcell_n", utc_nntrainer_layer_set_property_zoneoutlstmcell_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_attention_p", utc_nntrainer_layer_set_property_attention_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_attention_n", utc_nntrainer_layer_set_property_attention_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_mol_attention_p", utc_nntrainer_layer_set_property_mol_attention_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_mol_attention_n", utc_nntrainer_layer_set_property_mol_attention_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_multi_head_attention_p", utc_nntrainer_layer_set_property_multi_head_attention_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_multi_head_attention_n", utc_nntrainer_layer_set_property_multi_head_attention_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_layer_normalization_p", utc_nntrainer_layer_set_property_layer_normalization_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_layer_normalization_n", utc_nntrainer_layer_set_property_layer_normalization_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_positional_encoding_p", utc_nntrainer_layer_set_property_positional_encoding_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
+ {"utc_nntrainer_layer_set_property_positional_encoding_n", utc_nntrainer_layer_set_property_positional_encoding_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_preprocess_flip_p", utc_nntrainer_layer_set_property_preprocess_flip_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_preprocess_flip_n", utc_nntrainer_layer_set_property_preprocess_flip_n, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
{"utc_nntrainer_layer_set_property_preprocess_translate_p", utc_nntrainer_layer_set_property_preprocess_translate_p, utc_nntrainer_layer_startup, utc_nntrainer_layer_cleanup},
ML_TRAIN_LAYER_TYPE_GRUCELL,
ML_TRAIN_LAYER_TYPE_RNNCELL,
ML_TRAIN_LAYER_TYPE_ZONEOUTLSTMCELL,
+ ML_TRAIN_LAYER_TYPE_ATTENTION,
+ ML_TRAIN_LAYER_TYPE_MOL_ATTENTION,
+ ML_TRAIN_LAYER_TYPE_MULTI_HEAD_ATTENTION,
+ ML_TRAIN_LAYER_TYPE_LAYER_NORMALIZATION,
+ ML_TRAIN_LAYER_TYPE_POSITIONAL_ENCODING,
ML_TRAIN_LAYER_TYPE_PREPROCESS_FLIP,
ML_TRAIN_LAYER_TYPE_PREPROCESS_TRANSLATE,
ML_TRAIN_LAYER_TYPE_PREPROCESS_L2NORM,
return 0;
}
+/**
+ * @brief function utc_nntrainer_layer_set_property_attention_p
+ * @since_tizen 7.0
+ * @description set property with 7.0 attention layer
+ */
+int utc_nntrainer_layer_set_property_attention_p(void)
+{
+ ml_train_layer_create(&layer, ML_TRAIN_LAYER_TYPE_ATTENTION);
+ status = ml_train_layer_set_property(layer, "name=attention", NULL);
+ if (train_supported == false)
+ {
+ assert_eq(status, ML_ERROR_NOT_SUPPORTED);
+ }
+ else
+ {
+ assert_eq(status, ML_ERROR_NONE);
+ }
+ if (layer != NULL)
+ {
+ ml_train_layer_destroy(layer);
+ layer = NULL;
+ }
+
+ return 0;
+}
+
+/**
+ * @brief function utc_nntrainer_layer_set_property_attention_n
+ * @since_tizen 7.0
+ * @description set property with 7.0 attention layer
+ */
+int utc_nntrainer_layer_set_property_attention_n(void)
+{
+ ml_train_layer_create(&layer, ML_TRAIN_LAYER_TYPE_ATTENTION);
+ status = ml_train_layer_set_property(layer, "unknown_property=unknown_property", NULL);
+ if (train_supported == false)
+ {
+ assert_eq(status, ML_ERROR_NOT_SUPPORTED);
+ }
+ else
+ {
+ assert_neq(status, ML_ERROR_NONE);
+ }
+ if (layer != NULL)
+ {
+ ml_train_layer_destroy(layer);
+ layer = NULL;
+ }
+
+ return 0;
+}
+
+/**
+ * @brief function utc_nntrainer_layer_set_property_mol_attention_p
+ * @since_tizen 7.0
+ * @description set property with 7.0 mol attention layer
+ */
+int utc_nntrainer_layer_set_property_mol_attention_p(void)
+{
+ ml_train_layer_create(&layer, ML_TRAIN_LAYER_TYPE_MOL_ATTENTION);
+ status = ml_train_layer_set_property(layer, "name=mol_attention", NULL);
+ if (train_supported == false)
+ {
+ assert_eq(status, ML_ERROR_NOT_SUPPORTED);
+ }
+ else
+ {
+ assert_eq(status, ML_ERROR_NONE);
+ }
+ if (layer != NULL)
+ {
+ ml_train_layer_destroy(layer);
+ layer = NULL;
+ }
+
+ return 0;
+}
+
+/**
+ * @brief function utc_nntrainer_layer_set_property_mol_attention_n
+ * @since_tizen 7.0
+ * @description set property with 7.0 mol attention layer
+ */
+int utc_nntrainer_layer_set_property_mol_attention_n(void)
+{
+ ml_train_layer_create(&layer, ML_TRAIN_LAYER_TYPE_MOL_ATTENTION);
+ status = ml_train_layer_set_property(layer, "unknown_property=unknown_property", NULL);
+ if (train_supported == false)
+ {
+ assert_eq(status, ML_ERROR_NOT_SUPPORTED);
+ }
+ else
+ {
+ assert_neq(status, ML_ERROR_NONE);
+ }
+ if (layer != NULL)
+ {
+ ml_train_layer_destroy(layer);
+ layer = NULL;
+ }
+
+ return 0;
+}
+
+/**
+ * @brief function utc_nntrainer_layer_set_property_multi_head_attention_p
+ * @since_tizen 7.0
+ * @description set property with 7.0 multi head attention layer
+ */
+int utc_nntrainer_layer_set_property_multi_head_attention_p(void)
+{
+ ml_train_layer_create(&layer, ML_TRAIN_LAYER_TYPE_MULTI_HEAD_ATTENTION);
+ status = ml_train_layer_set_property(layer, "name=multi_head_attention", NULL);
+ if (train_supported == false)
+ {
+ assert_eq(status, ML_ERROR_NOT_SUPPORTED);
+ }
+ else
+ {
+ assert_eq(status, ML_ERROR_NONE);
+ }
+ if (layer != NULL)
+ {
+ ml_train_layer_destroy(layer);
+ layer = NULL;
+ }
+
+ return 0;
+}
+
+/**
+ * @brief function utc_nntrainer_layer_set_property_multi_head_attention_n
+ * @since_tizen 7.0
+ * @description set property with 7.0 multi head attention layer
+ */
+int utc_nntrainer_layer_set_property_multi_head_attention_n(void)
+{
+ ml_train_layer_create(&layer, ML_TRAIN_LAYER_TYPE_MULTI_HEAD_ATTENTION);
+ status = ml_train_layer_set_property(layer, "unknown_property=unknown_property", NULL);
+ if (train_supported == false)
+ {
+ assert_eq(status, ML_ERROR_NOT_SUPPORTED);
+ }
+ else
+ {
+ assert_neq(status, ML_ERROR_NONE);
+ }
+ if (layer != NULL)
+ {
+ ml_train_layer_destroy(layer);
+ layer = NULL;
+ }
+
+ return 0;
+}
+
+/**
+ * @brief function utc_nntrainer_layer_set_property_layer_normalization_p
+ * @since_tizen 7.0
+ * @description set property with 7.0 layer normalization layer
+ */
+int utc_nntrainer_layer_set_property_layer_normalization_p(void)
+{
+ ml_train_layer_create(&layer, ML_TRAIN_LAYER_TYPE_LAYER_NORMALIZATION);
+ status = ml_train_layer_set_property(layer, "name=layer_normalization", NULL);
+ if (train_supported == false)
+ {
+ assert_eq(status, ML_ERROR_NOT_SUPPORTED);
+ }
+ else
+ {
+ assert_eq(status, ML_ERROR_NONE);
+ }
+ if (layer != NULL)
+ {
+ ml_train_layer_destroy(layer);
+ layer = NULL;
+ }
+
+ return 0;
+}
+
+/**
+ * @brief function utc_nntrainer_layer_set_property_layer_normalization_n
+ * @since_tizen 7.0
+ * @description set property with 7.0 multi layer normalization layer
+ */
+int utc_nntrainer_layer_set_property_layer_normalization_n(void)
+{
+ ml_train_layer_create(&layer, ML_TRAIN_LAYER_TYPE_LAYER_NORMALIZATION);
+ status = ml_train_layer_set_property(layer, "unknown_property=unknown_property", NULL);
+ if (train_supported == false)
+ {
+ assert_eq(status, ML_ERROR_NOT_SUPPORTED);
+ }
+ else
+ {
+ assert_neq(status, ML_ERROR_NONE);
+ }
+ if (layer != NULL)
+ {
+ ml_train_layer_destroy(layer);
+ layer = NULL;
+ }
+
+ return 0;
+}
+
+
+/**
+ * @brief function utc_nntrainer_layer_set_property_positional_encoding_p
+ * @since_tizen 7.0
+ * @description set property with 7.0 positional encoding layer
+ */
+int utc_nntrainer_layer_set_property_positional_encoding_p(void)
+{
+ ml_train_layer_create(&layer, ML_TRAIN_LAYER_TYPE_POSITIONAL_ENCODING);
+ status = ml_train_layer_set_property(layer, "name=positional_encoding", NULL);
+ if (train_supported == false)
+ {
+ assert_eq(status, ML_ERROR_NOT_SUPPORTED);
+ }
+ else
+ {
+ assert_eq(status, ML_ERROR_NONE);
+ }
+ if (layer != NULL)
+ {
+ ml_train_layer_destroy(layer);
+ layer = NULL;
+ }
+
+ return 0;
+}
+
+/**
+ * @brief function utc_nntrainer_layer_set_property_positional_encoding_n
+ * @since_tizen 7.0
+ * @description set property with 7.0 positional encoding layer
+ */
+int utc_nntrainer_layer_set_property_positional_encoding_n(void)
+{
+ ml_train_layer_create(&layer, ML_TRAIN_LAYER_TYPE_POSITIONAL_ENCODING);
+ status = ml_train_layer_set_property(layer, "unknown_property=unknown_property", NULL);
+ if (train_supported == false)
+ {
+ assert_eq(status, ML_ERROR_NOT_SUPPORTED);
+ }
+ else
+ {
+ assert_neq(status, ML_ERROR_NONE);
+ }
+ if (layer != NULL)
+ {
+ ml_train_layer_destroy(layer);
+ layer = NULL;
+ }
+
+ return 0;
+}
+
/**
* @brief function utc_nntrainer_layer_set_property_preprocess_flip_p
* @since_tizen 6.5