From: hyunil park Date: Mon, 5 Sep 2022 02:53:14 +0000 (+0900) Subject: [ITC][UTC][nntrainer][ACR-1721][Add enum for layers] X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F67%2F280767%2F3;p=test%2Ftct%2Fnative%2Fapi.git [ITC][UTC][nntrainer][ACR-1721][Add enum for layers] - Add ITC and UTC for Attention, Mol Attention, Multi Head Attention, Layer Normalization and Positional Encoding Change-Id: I4745d4730615f87060bff14435883910b4ac6e5d Signed-off-by: hyunil park --- diff --git a/src/itc/nntrainer/ITs-nntrainer-common.c b/src/itc/nntrainer/ITs-nntrainer-common.c index f266303c4..8ff71dfce 100755 --- a/src/itc/nntrainer/ITs-nntrainer-common.c +++ b/src/itc/nntrainer/ITs-nntrainer-common.c @@ -155,6 +155,21 @@ int Set_Layer_Property(ml_train_layer_h hTrainLayer, int nLayerEnum) 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; diff --git a/src/itc/nntrainer/ITs-nntrainer-layer.c b/src/itc/nntrainer/ITs-nntrainer-layer.c index 53f86a9eb..7241dddca 100755 --- a/src/itc/nntrainer/ITs-nntrainer-layer.c +++ b/src/itc/nntrainer/ITs-nntrainer-layer.c @@ -147,6 +147,11 @@ int ITc_nntrainer_layer_create_destroy_p(void) 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, @@ -215,6 +220,11 @@ int ITc_nntrainer_layer_set_property_p(void) 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, diff --git a/src/utc/nntrainer/tct-nntrainer-core_mobile.h b/src/utc/nntrainer/tct-nntrainer-core_mobile.h index 44338425b..8e4fa63f0 100644 --- a/src/utc/nntrainer/tct-nntrainer-core_mobile.h +++ b/src/utc/nntrainer/tct-nntrainer-core_mobile.h @@ -120,6 +120,16 @@ extern int utc_nntrainer_layer_set_property_rnncell_p(void); 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); @@ -257,6 +267,16 @@ testcase tc_array[] = { {"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}, diff --git a/src/utc/nntrainer/tct-nntrainer-core_tizeniot.h b/src/utc/nntrainer/tct-nntrainer-core_tizeniot.h index 8c5c77c95..5c52a0f14 100644 --- a/src/utc/nntrainer/tct-nntrainer-core_tizeniot.h +++ b/src/utc/nntrainer/tct-nntrainer-core_tizeniot.h @@ -121,6 +121,16 @@ extern int utc_nntrainer_layer_set_property_rnncell_p(void); 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); @@ -257,7 +267,17 @@ testcase tc_array[] = { {"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}, diff --git a/src/utc/nntrainer/tct-nntrainer-core_tv.h b/src/utc/nntrainer/tct-nntrainer-core_tv.h index 9a236dd5b..231713036 100644 --- a/src/utc/nntrainer/tct-nntrainer-core_tv.h +++ b/src/utc/nntrainer/tct-nntrainer-core_tv.h @@ -121,6 +121,16 @@ extern int utc_nntrainer_layer_set_property_rnncell_p(void); 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); @@ -258,6 +268,16 @@ testcase tc_array[] = { {"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}, diff --git a/src/utc/nntrainer/tct-nntrainer-core_wearable.h b/src/utc/nntrainer/tct-nntrainer-core_wearable.h index ab30fa1eb..4d424df41 100644 --- a/src/utc/nntrainer/tct-nntrainer-core_wearable.h +++ b/src/utc/nntrainer/tct-nntrainer-core_wearable.h @@ -121,6 +121,16 @@ extern int utc_nntrainer_layer_set_property_rnncell_p(void); 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); @@ -258,6 +268,16 @@ testcase tc_array[] = { {"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}, diff --git a/src/utc/nntrainer/utc-nntrainer-layer.c b/src/utc/nntrainer/utc-nntrainer-layer.c index 77cec7acf..0c56477ee 100644 --- a/src/utc/nntrainer/utc-nntrainer-layer.c +++ b/src/utc/nntrainer/utc-nntrainer-layer.c @@ -103,6 +103,11 @@ int utc_nntrainer_layer_create_p2(void) 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, @@ -1355,6 +1360,267 @@ int utc_nntrainer_layer_set_property_zoneoutlstmcell_n(void) 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