From e582dd6378b4565baf87efe8b184231fa3783ad2 Mon Sep 17 00:00:00 2001 From: Seungbaek Hong Date: Mon, 18 Nov 2024 16:51:15 +0900 Subject: [PATCH] [layer] add pow operation layer added a pow operation layer. there was an example of a pow layer in the custom layers, so I modified the key value of the custom pow layer to "custom_pow" in order to avoid duplication of layer key value. **Self evaluation:** 1. Build test: [X]Passed [ ]Failed [ ]Skipped 2. Run test: [X]Passed [ ]Failed [ ]Skipped Signed-off-by: Seungbaek Hong --- Applications/Custom/LayerClient/jni/main.cpp | 2 +- .../LayerClient/res/custom_layer_client.ini | 2 +- .../LayerPlugin/layer_plugin_pow_test.cpp | 2 +- .../Custom/LayerPlugin/layer_plugin_test.cpp | 12 +- Applications/Custom/pow.h | 2 +- api/ccapi/include/layer.h | 9 ++ api/nntrainer-api-common.h | 15 ++- nntrainer/app_context.cpp | 3 + nntrainer/layers/common_properties.cpp | 2 + nntrainer/layers/common_properties.h | 16 +++ nntrainer/layers/meson.build | 1 + nntrainer/layers/pow_layer.cpp | 50 +++++++ nntrainer/layers/pow_layer.h | 124 ++++++++++++++++++ nntrainer/utils/node_exporter.h | 1 + packaging/unittest_models_v2.tar.gz | Bin 126856 -> 127015 bytes test/input_gen/genModelTests_v2.py | 23 ++++ .../golden/unittest_models_v2.tar.gz | Bin 0 -> 126864 bytes test/unittest/layers/meson.build | 1 + test/unittest/layers/unittest_layers_pow.cpp | 30 +++++ test/unittest/models/unittest_models.cpp | 20 +++ 20 files changed, 298 insertions(+), 17 deletions(-) create mode 100644 nntrainer/layers/pow_layer.cpp create mode 100644 nntrainer/layers/pow_layer.h create mode 100644 test/input_gen/golden/unittest_models_v2.tar.gz create mode 100644 test/unittest/layers/unittest_layers_pow.cpp diff --git a/Applications/Custom/LayerClient/jni/main.cpp b/Applications/Custom/LayerClient/jni/main.cpp index b655fce4c7..1608622048 100644 --- a/Applications/Custom/LayerClient/jni/main.cpp +++ b/Applications/Custom/LayerClient/jni/main.cpp @@ -151,7 +151,7 @@ int api_model_run() { /// creating array of layers same as in `custom_layer_client.ini` layers = std::vector>{ ml::train::layer::Input({"name=inputlayer", "input_shape=1:1:100"}), - ml::train::createLayer("pow", {"name=powlayer", "exponent=3"}), + ml::train::createLayer("custom_pow", {"name=powlayer", "exponent=3"}), ml::train::layer::FullyConnected( {"name=outputlayer", "input_layers=powlayer", "unit=10", "bias_initializer=zeros", "activation=softmax"}), diff --git a/Applications/Custom/LayerClient/res/custom_layer_client.ini b/Applications/Custom/LayerClient/res/custom_layer_client.ini index 1197e7f528..692701905e 100644 --- a/Applications/Custom/LayerClient/res/custom_layer_client.ini +++ b/Applications/Custom/LayerClient/res/custom_layer_client.ini @@ -17,7 +17,7 @@ Input_Shape = 1:1:100 [powlayer] input_layers = inputlayer -Type = pow # AppContext sees PowLayer::getType() and use this to parse type +Type = custom_pow # AppContext sees PowLayer::getType() and use this to parse type exponent = 3 # registering a custom property is done at int PowLayer::setProperty [outputlayer] diff --git a/Applications/Custom/LayerPlugin/layer_plugin_pow_test.cpp b/Applications/Custom/LayerPlugin/layer_plugin_pow_test.cpp index 37cd463bbd..def5492cc8 100644 --- a/Applications/Custom/LayerPlugin/layer_plugin_pow_test.cpp +++ b/Applications/Custom/LayerPlugin/layer_plugin_pow_test.cpp @@ -21,7 +21,7 @@ GTEST_PARAMETER_TEST(PowLayer, LayerPluginCommonTest, ::testing::Values(std::make_tuple("libpow_layer.so", - "pow"))); + "custom_pow"))); auto semantic_pow = LayerSemanticsParamType(nntrainer::createLayer, diff --git a/Applications/Custom/LayerPlugin/layer_plugin_test.cpp b/Applications/Custom/LayerPlugin/layer_plugin_test.cpp index 9e4997e172..03c1e7ec7f 100644 --- a/Applications/Custom/LayerPlugin/layer_plugin_test.cpp +++ b/Applications/Custom/LayerPlugin/layer_plugin_test.cpp @@ -29,9 +29,9 @@ TEST(AppContext, DlRegisterOpen_p) { ac.registerLayer("libpow_layer.so", NNTRAINER_PATH); - auto layer = ac.createObject("pow"); + auto layer = ac.createObject("custom_pow"); - EXPECT_EQ(layer->getType(), "pow"); + EXPECT_EQ(layer->getType(), "custom_pow"); } TEST(AppContext, DlRegisterWrongPath_n) { @@ -49,9 +49,9 @@ TEST(AppContext, DlRegisterDirectory_p) { ac.registerPluggableFromDirectory(NNTRAINER_PATH); - auto layer = ac.createObject("pow"); + auto layer = ac.createObject("custom_pow"); - EXPECT_EQ(layer->getType(), "pow"); + EXPECT_EQ(layer->getType(), "custom_pow"); } TEST(AppContext, DlRegisterDirectory_n) { @@ -64,8 +64,8 @@ TEST(AppContext, DlRegisterDirectory_n) { TEST(AppContext, DefaultEnvironmentPath_p) { /// as NNTRAINER_PATH is fed to the test, this should success without an /// error - std::shared_ptr l = ml::train::createLayer("pow"); - EXPECT_EQ(l->getType(), "pow"); + std::shared_ptr l = ml::train::createLayer("custom_pow"); + EXPECT_EQ(l->getType(), "custom_pow"); std::shared_ptr lnode = std::static_pointer_cast(l); diff --git a/Applications/Custom/pow.h b/Applications/Custom/pow.h index 4fcc2e2f29..1d3a05f01c 100644 --- a/Applications/Custom/pow.h +++ b/Applications/Custom/pow.h @@ -77,7 +77,7 @@ class PowLayer final : public nntrainer::Layer { */ void setProperty(const std::vector &values) override; - inline static const std::string type = "pow"; + inline static const std::string type = "custom_pow"; private: float exponent; diff --git a/api/ccapi/include/layer.h b/api/ccapi/include/layer.h index a492cd9f89..3cdc82fd11 100644 --- a/api/ccapi/include/layer.h +++ b/api/ccapi/include/layer.h @@ -41,6 +41,7 @@ enum LayerType { LAYER_SUBTRACT = ML_TRAIN_LAYER_TYPE_SUBTRACT, /**< Subtract Layer type */ LAYER_MULTIPLY = ML_TRAIN_LAYER_TYPE_MULTIPLY, /**< Multiply Layer type */ LAYER_DIVIDE = ML_TRAIN_LAYER_TYPE_DIVIDE, /**< Divide Layer type */ + LAYER_POW = ML_TRAIN_LAYER_TYPE_POW, /**< Pow Layer type */ LAYER_FC = ML_TRAIN_LAYER_TYPE_FC, /**< Fully Connected Layer type */ LAYER_SWIGLU = ML_TRAIN_LAYER_TYPE_SWIGLU, /**< Swiglu Layer type */ LAYER_BN = ML_TRAIN_LAYER_TYPE_BN, /**< Batch Normalization Layer type */ @@ -337,6 +338,14 @@ DivideLayer(const std::vector &properties = {}) { return createLayer(LayerType::LAYER_DIVIDE, properties); } +/** + * @brief Helper function to create pow layer + */ +inline std::unique_ptr +PowLayer(const std::vector &properties = {}) { + return createLayer(LayerType::LAYER_POW, properties); +} + /** * @brief Helper function to create fully connected layer */ diff --git a/api/nntrainer-api-common.h b/api/nntrainer-api-common.h index 46c51c88ea..d820aecda5 100644 --- a/api/nntrainer-api-common.h +++ b/api/nntrainer-api-common.h @@ -62,14 +62,15 @@ typedef enum { 27, /**< Layer Normalization Layer type (Since 7.0) */ ML_TRAIN_LAYER_TYPE_POSITIONAL_ENCODING = 28, /**< Positional Encoding Layer type (Since 7.0) */ - ML_TRAIN_LAYER_TYPE_IDENTITY = 29, /**< Identity Layer type (Since 8.0) */ - ML_TRAIN_LAYER_TYPE_SWIGLU = 30, /**< Swiglu Layer type */ - ML_TRAIN_LAYER_TYPE_WEIGHT = 31, /**< Weight Layer type (Since 9.0)*/ - ML_TRAIN_LAYER_TYPE_ADD = 32, /**< Add Layer type (Since 9.0)*/ - ML_TRAIN_LAYER_TYPE_SUBTRACT = 33, /**< Subtract Layer type (Since 9.0)*/ - ML_TRAIN_LAYER_TYPE_MULTIPLY = 34, /**< Multiply Layer type (Since 9.0)*/ - ML_TRAIN_LAYER_TYPE_DIVIDE = 35, /**< Divide Layer type (Since 9.0)*/ + ML_TRAIN_LAYER_TYPE_IDENTITY = 29, /**< Identity Layer type (Since 8.0) */ + ML_TRAIN_LAYER_TYPE_SWIGLU = 30, /**< Swiglu Layer type */ + ML_TRAIN_LAYER_TYPE_WEIGHT = 31, /**< Weight Layer type (Since 9.0)*/ + ML_TRAIN_LAYER_TYPE_ADD = 32, /**< Add Layer type (Since 9.0)*/ + ML_TRAIN_LAYER_TYPE_SUBTRACT = 33, /**< Subtract Layer type (Since 9.0)*/ + ML_TRAIN_LAYER_TYPE_MULTIPLY = 34, /**< Multiply Layer type (Since 9.0)*/ + ML_TRAIN_LAYER_TYPE_DIVIDE = 35, /**< Divide Layer type (Since 9.0)*/ ML_TRAIN_LAYER_TYPE_TRANSPOSE = 36, /**< Transpose Layer type */ + ML_TRAIN_LAYER_TYPE_POW = 37, /**< Pow Layer type (Since 9.0)*/ ML_TRAIN_LAYER_TYPE_PREPROCESS_FLIP = 300, /**< Preprocess flip Layer (Since 6.5) */ ML_TRAIN_LAYER_TYPE_PREPROCESS_TRANSLATE = diff --git a/nntrainer/app_context.cpp b/nntrainer/app_context.cpp index 3abec3d7c6..5c4ebf13be 100644 --- a/nntrainer/app_context.cpp +++ b/nntrainer/app_context.cpp @@ -70,6 +70,7 @@ #include #include #include +#include #include #include #include @@ -269,6 +270,8 @@ static void add_default_object(AppContext &ac) { LayerType::LAYER_MULTIPLY); ac.registerFactory(nntrainer::createLayer, DivideLayer::type, LayerType::LAYER_DIVIDE); + ac.registerFactory(nntrainer::createLayer, PowLayer::type, + LayerType::LAYER_POW); ac.registerFactory(nntrainer::createLayer, FullyConnectedLayer::type, LayerType::LAYER_FC); ac.registerFactory(nntrainer::createLayer, diff --git a/nntrainer/layers/common_properties.cpp b/nntrainer/layers/common_properties.cpp index 755f4407c6..563696248a 100644 --- a/nntrainer/layers/common_properties.cpp +++ b/nntrainer/layers/common_properties.cpp @@ -88,6 +88,8 @@ InputConnection::InputConnection(const Connection &value) : Epsilon::Epsilon(float value) { set(value); } +Exponent::Exponent(float value) { set(value); } + bool Epsilon::isValid(const float &value) const { return value > 0.0f; } Momentum::Momentum(float value) { set(value); } diff --git a/nntrainer/layers/common_properties.h b/nntrainer/layers/common_properties.h index 765c2e9c92..8579de7449 100644 --- a/nntrainer/layers/common_properties.h +++ b/nntrainer/layers/common_properties.h @@ -280,6 +280,22 @@ class Epsilon : public nntrainer::Property { bool isValid(const float &value) const override; }; +/** + * @brief Exponent property, this is used for pow operation + * + */ +class Exponent : public nntrainer::Property { + +public: + /** + * @brief Construct a new Exponent object + * + */ + Exponent(float value = 1.0f); + static constexpr const char *key = "exponent"; /**< unique key to access */ + using prop_tag = float_prop_tag; /**< property type */ +}; + /** * @brief Momentum property, moving average in batch normalization layer * diff --git a/nntrainer/layers/meson.build b/nntrainer/layers/meson.build index 1218aa9b0a..81a43559da 100644 --- a/nntrainer/layers/meson.build +++ b/nntrainer/layers/meson.build @@ -9,6 +9,7 @@ layer_sources = [ 'subtract_layer.cpp', 'multiply_layer.cpp', 'divide_layer.cpp', + 'pow_layer.cpp', 'addition_layer.cpp', 'attention_layer.cpp', 'mol_attention_layer.cpp', diff --git a/nntrainer/layers/pow_layer.cpp b/nntrainer/layers/pow_layer.cpp new file mode 100644 index 0000000000..a99b13bb6b --- /dev/null +++ b/nntrainer/layers/pow_layer.cpp @@ -0,0 +1,50 @@ +// SPDX-License-Identifier: Apache-2.0 +/** + * Copyright (C) 2024 SeungBaek Hong + * + * @file pow_layer.cpp + * @date 20 Nov 2024 + * @see https://github.com/nnstreamer/nntrainer + * @author SeungBaek Hong + * @bug No known bugs except for NYI items + * @brief This is pow layer class (operation layer) + * + */ + +#include "common_properties.h" +#include +#include +#include +#include +#include + +#include + +namespace nntrainer { + +void PowLayer::finalize(InitLayerContext &context) { + context.setOutputDimensions({context.getInputDimensions()[0]}); +} + +void PowLayer::forwarding_operation(const Tensor &input, Tensor &hidden) { + float exp = std::get(pow_props).get(); + input.pow(exp, hidden); +} + +void PowLayer::calcDerivative(RunLayerContext &context) { + float exp = std::get(pow_props).get(); + context.getOutgoingDerivative(0).copy( + context.getIncomingDerivative(SINGLE_INOUT_IDX) + .multiply(exp) + .multiply(context.getInput(0).pow(exp - 1.0f))); +} + +void PowLayer::setProperty(const std::vector &values) { + auto remain_props = loadProperties(values, pow_props); + if (!remain_props.empty()) { + std::string msg = "[PowLayer] Unknown Layer Properties count " + + std::to_string(values.size()); + throw exception::not_supported(msg); + } +} +} /* namespace nntrainer */ diff --git a/nntrainer/layers/pow_layer.h b/nntrainer/layers/pow_layer.h new file mode 100644 index 0000000000..025b0d29b3 --- /dev/null +++ b/nntrainer/layers/pow_layer.h @@ -0,0 +1,124 @@ +// SPDX-License-Identifier: Apache-2.0 +/** + * Copyright (C) 2024 SeungBaek Hong + * + * @file pow_layer.h + * @date 20 Nov 2024 + * @see https://github.com/nnstreamer/nntrainer + * @author SeungBaek Hong + * @bug No known bugs except for NYI items + * @brief This is pow layer class (operation layer) + * + */ + +#ifndef __POW_LAYER_H__ +#define __POW_LAYER_H__ +#ifdef __cplusplus + +#include +#include +#include + +namespace nntrainer { + +/** + * @class Pow Layer + * @brief Pow Layer + */ +class PowLayer : public UnaryOperationLayer { +public: + /** + * @brief Constructor of Pow Layer + */ + PowLayer() : + UnaryOperationLayer(), + pow_props(props::Print(), props::InPlaceProp(), props::Exponent()), + support_backwarding(true) {} + + /** + * @brief Destructor of Pow Layer + */ + ~PowLayer(){}; + + /** + * @brief Move constructor of Pow Layer. + * @param[in] PowLayer && + */ + PowLayer(PowLayer &&rhs) noexcept = default; + + /** + * @brief Move assignment operator. + * @parma[in] rhs PowLayer to be moved. + */ + PowLayer &operator=(PowLayer &&rhs) = default; + + /** + * @copydoc Layer::finalize(InitLayerContext &context) + */ + void finalize(InitLayerContext &context) final; + + /** + * @brief forwarding operation for pow + * + * @param input input tensor + * @param hidden tensor to store the result value + */ + void forwarding_operation(const Tensor &input, Tensor &hidden) final; + + /** + * @copydoc Layer::calcDerivative(RunLayerContext &context) + */ + void calcDerivative(RunLayerContext &context) final; + + /** + * @copydoc bool supportBackwarding() const + */ + bool supportBackwarding() const final { return support_backwarding; }; + + /** + * @brief Initialize the in-place settings of the layer + * @return InPlaceType + */ + InPlaceType initializeInPlace() final { + if (std::get(pow_props).empty() || + !std::get(pow_props).get()) { + is_inplace = false; + support_backwarding = true; + } else { + is_inplace = true; + support_backwarding = false; + } + + if (!supportInPlace()) + return InPlaceType::NONE; + else + return InPlaceType::NON_RESTRICTING; + } + + /** + * @copydoc Layer::exportTo(Exporter &exporter, ml::train::ExportMethods + * method) + */ + void exportTo(Exporter &exporter, + const ml::train::ExportMethods &method) const final {} + + /** + * @copydoc Layer::setProperty(const std::vector &values) + */ + void setProperty(const std::vector &values) final; + + /** + * @copydoc Layer::getType() + */ + const std::string getType() const final { return PowLayer::type; }; + + std::tuple pow_props; + bool support_backwarding; /**< support backwarding */ + + inline static const std::string type = "pow"; +}; + +} // namespace nntrainer + +#endif /* __cplusplus */ +#endif /* __POW_LAYER_H__ */ diff --git a/nntrainer/utils/node_exporter.h b/nntrainer/utils/node_exporter.h index 69be76962e..480cf085cb 100644 --- a/nntrainer/utils/node_exporter.h +++ b/nntrainer/utils/node_exporter.h @@ -237,6 +237,7 @@ class Packed; class LossScaleForMixed; class InPlaceProp; class InPlaceDirectionProp; +class Exponent; } // namespace props class LayerNode; diff --git a/packaging/unittest_models_v2.tar.gz b/packaging/unittest_models_v2.tar.gz index 1793cb10eef669916cd96f3237e5ae0f063e89d4..7b9c6a20a1708d5cf72dab918313e9c88cf6d4d6 100644 GIT binary patch delta 14743 zcmV;IIcUa+-v_7Q2L~UE2mtHPK7j|d2LTede_sNQ)zLs&#Hzlwq0ebr*7Z@go8La*))IN$n1UmvpD?#aMPfhYSv(z=SF98bfToCYIBYZ- z^0KR7#3vsnP&^)-j^#j(?swksf!;jnlNZ3Z=^)&2tHmyOg}>WlBX34GB?vBi0k^O0 z!lOtq*<)~}XCVw69S@2X zf;#fLGtEis=1v-*8T)=f-gt!pZpT{&lqPNGzB{A$;R-u&bUo9uwh68d*~mmx-A8|a zLnt=f!}PJr2Pw7ZSn$M|IiViH&scOD4(!tU!Fe`kgJ ztg~4C3kz_8*#*X)=3|rHVN~$ng_BCIU|*{{ylbBM%!akK7+X^cn;#J7ypI%0DSTjD zCYHkZtMQn0yQ7Xg$4p45+|0_V(oC?1Sg7q!g44b+{;P22z(A-|7Qs6wqTt?vacq5S z28^tKjqAV1LhIG?|7!w zlx|sJMf>c`LR+C!2(YooA@}-`l9qbNY+i&yyRw+ZX+?aURa)fHi+)7!fhdW)?Sn;r zJ(;tS>AWuivzYvwZO@6)BlfMd9#OTvz}QBdLgQIipj6>D3a?P6iQm@3d0Rc`-QzVo zS?@F~&WT3JlX7HF&0R2ze-YG?_Xp_Oxy^1#*I%KOo-tf&kZXnsZ|H`J+`O_6!@bBj zdv8*1>P5!4abEt77dbOfzX+jDCBsg$!H4+b9$jNqjIYDH2U$2-{5|XG+KqitybI<@1%aOENw_?`e=F97*u(DQF_;y9 z52`o6K>5`+>>@c6v|3n?$^FlR=lVo!{ldrbFMGqPo1%91?)&(SV=q9BXCX=)K8WL< zt25_%y~pqe6;RUV!$OR=z--kk_~vhQE#>JUQ-RdGfRE-3KNQQ{{ZV zNo{wYwXYwOB{L0*f9?EupI_y{DwAe5=GiBdNuJ9L>IaO-b!*VnY=-s3>+lf3Ct*^IUd1o=f7-?_W|4>PnJr%Ad%pd9 zb8YV6nUJ}`!zx>8K(-a~BZfUdTB9!}uoaS&gQ`-oKj zA?)K{=2ac}e~?}j%!hqdhaf6-2QH=~!1Ga5o952txm4RjfkraN`<^|F(@$pe(&wAG zrKdC>Nxuzu(yT6=;dnn?SBJdr+Ly?0Q^8h9W8YnTicXc1Ojh&>-1ICC<=;O9Nn$`Y zhZpjQq$XLqBpWx4*axX5dAyRzMx^Gf80|OLAG01~ip+SZ19pJ#5Gn}qW(onIp z+iH}a5q&AGNZ&W*l3b?Udo4eX_or5Rk+*H}ZtLA`? zUR0T%e|GOkPRi^7xpt0<2f20gnn`KD)R70azUO6B-Q?=XPi#&AyH)I$I&zody_id36$5WAkV_b+wi@8}Pzcg49na^(A3X2XMXztoX) zlKf!kVLh&noK~j+esh1VBP%}YMmOX)b9Lmae}j*6b>#dLa=+xF<;+qc{<#5{i@rZx zkc%Fa_7&>p`=I2@yO84AljuCG=Z{_c^L69{*`aWfrsJj?GI&SbguFY`jjVqd&1`&RJi49T?ZkKvlcaAt~XHoV;{Lw2d5ciZNPh} ze;H^veqr2?guz?ep2&&Qx4 zF`N}k9nF^LrQ-A!X&j0&_^kdG;_ka}f3Wv`zK}72qCV5{)Zl2S^wYzo-S@!39o{J0 z#sP`x7qP)$6ht*&1f|PYvCrM{@VKcEmgU{z&!}k|Yh=V@(F=3XYQ2hNv7n9|?WsIy z1nWQ0bMf`$akAcngoeHt*syC@a{Kk(@O%Xk1193eElU`6hfla`&R(W*@expvf2wCZ zjt)SHq6C=Ha0F!@@))s2YRsoWr8wey6b!hc4@y&HFhn{H5{*irzxN^7lfRR>f4L_+ z$g~*WUmOSDc4WhpR(m|wBOPKi$AI3tB3#&naDFDjE&aW`)>UtC;?`r(b5bP~HnK3- zUQkDlJTxsqNGQhC%4*mJfe#;aU6c0fP0>GwvyEKgrH(bcyl4vQO}D_5SqiT% zq@q$t0*p8zgKK9Lqowa^_%_TC??3#C#mBaTvpR)K(Z1|$bw^kpw-mnloM#$V?u0ZM zbx?li12AGJPOi*{y2tl%ZSQ?BV}D;rnV1g-7lN6_)q63a>lAkO#r+`ee|imH9GC z=xj5g{E9Pp`0jqYxM!@@ujpAumZX44g4y;bQn&F);dw!o?vi5UMtG|27f57OgrOXPCC~$v% z42KTA#qPA~%B)pzWLLjQM~$vkOs?+@EXDwEdUp+88y#kE=-A_Ou?4txZUK%o*a4;f zxAAi5Lw07fFuU>mGg$N3nV*$^g_YR*7OomiZi`!U*bxtp1K;E`vtqCnoQqcm2boed ze=vxZx?cjzBIm*le~ZUV#oy}4)79gX{GXi|7@kYoh686)+$FaR3|e|=0LOc$M<6|S z7c8v}X2L|=@kZKq6b)SuiMbbWn8RQgrI7&h%DzL~xe~v|mdrc5KSOff3Z5c~m z8h-b08_#V#VkgtI8)Jm0VhK~pzrYIW$oKAEY2*CmHlN*K+Wwuy_U|SxUevcD=`2V2g$|HhvxkA{!n;^oGf}G58>^nRFJfCftG0JMI|Pa210Vu4IL0@!9tQ zlk7gE>%rr)e@n=JIEjh$_>RT0-ynMGGUz_gA1k!J!hr6LaQKlkZkBkCtB3VN-GN~k zmzjY>G;Gkv)t!ywMS#e;04OTsV->#wJm=VO_{K>q+NGm?$~|F{`efRc^wV3k)1FNG z&c#MbGe)=%=kse~jJ)W4imrXwrMZo8Dm@df27biQC(mKj#{&5LK?YLYGWhf6DAJ`1Qt^@G2^_bs(rZY4UK9^U8d)eHu+U**7VrrV-sA1{1viGJ*tv{Cz zcH+GGlh@jH)RBd9!nrzfg_|KsugJwwE!k|aO)*zT{^DiC)sZ);9Kbra2drH~5#Bkh z#?_JUxJp16anBUd~uf8pxL1N%;Z%7wfo9U(GWf*1}y1}D}Ub9LnF6@oglME}{~WbO-mQ86kLlJQF&xhheG^WCo}r-8SV zKGry=;2eJLzpW$hJ$N6sD2IZNepDMj)}mSJLllD9Kdd7!EA)YuAyG_#8q3yyn#M>U zf3;>~&h;S!yO@y4*Oo!}-phO&zdB4GWJF&ttAH^_SMr~H$b%KKvFwM78*ok!InvAH zJyb4u#S8)k;#kuavi$X^d5I*hnO4aCmQ9CjL08xe$lfNVv?LT1uGvCukt6qiM~-_D zd%hQG3h^Rzf;V|w*!G)_7W|ebvrgMOf9`Tld468n_M_;E^sP>iR;Fgaz5Anf%UZH~ z_a?Hy&W+#(53=gpCh|aAu>M_ZO>gGtx*WTPmRXF_OgU!1Rt&#%s64m+Jv?;}lX9sE zlAFI{AX7mD9%+%PfGA>K69&o!>qxHMB|25zhuVDGOKe3~LeBn4Wc*@*=6YxPN-avW`tK16r=>?BP0 z(-1y#0IFhN5*Y47J@*`;QPy%q+V?6+wLEGoIn<7_>{!}RZcpVajfk7xDw{+>wh1^d$G&=o|jN`sUv{s7Sd^GQbeC3^SL zE*iUH59#Hl2BTtT5PflRNXkD-P5Q^s!v{B#_rt8n$C_8rD|`jyS_nf0lqZes> z5dNpGfB$c{&2Fm}x@}lLd&Ro-EC2QZnAzs$=Iwuf*qZ?U{rZ1%3rmY%f7k!_w;Z5p z-rjb8|K(3Hk-z;(x#}?L;ZCHzFUfz;NY;pP{cGN{NuNM9@A{`AdKjNzZ=>)t5%0L}DDX_MRu|>8TRE z*CyzAWh`t?=?5W`pJMwte|*?-s49wKTMT^R!Y)yI(``Qt8EHft)-3{whr814mwEEe zdc~a_=C9Khv0M&M{|_ ztV>WS`3|?wkVaz~XP`qeG7K@Lbt7(lcOZSwXGI$ByA(1`DH2f*f02Kj6ZE5P5{-F` z#Kr^ct&u5w$@wR-9jm3yU6?z>1KRtK^ItMW)AP9g)hQ;-LaUYBaSK+u5gm{5M5JUe zY@Mz`+V4N9X9JQM#`N;T?sS~TUi`32k@`6AfE#<2h+=9RhRYldjEdrUM{l)08 zJ%`)p`au(Fc}kn)+3MkbDR-39vr1p+E}ze^d|uoW6hTCfL7N4m>x#;m%Q5(u#4ymEbLxgjb66!K672_)W58y^a%3 z?xjWY*2~baT?*v&+UF>#nvB-6eqb0bkA(+isQc7ZPM7%Wk1?&+igCJW58~HVkL1}~ zVVTbZG_pR7%PeZSeI8HjL;IE;$LW5D_`#-cU`XFD6L`pT@)kR zH?IJ8e_M9Cv*u>F_D&97ZWUk{U(t%$-=2fenX7mxS060X(xLLbEU}E8fbycnkI$r2oLw+Ar+J@R>?DNZ_fAER}m zu{!@Px6j^1eW*#s3EUmGi~lt84FuaJvpY*ge`!lY1DelT_EQ)pcU58zN1x=~Z7ATW z`^$Ce|6gD~(tnG;I{vrp)c-%jI`ltk(i!-6xErTeBTue_QKqxG{>3J1_#OuuMCRu9K+y`qe#-bQp0nq%ygiTZ=Mpag%U6)E{NR!2nqu}hDv&{G8o^-^* zE;Rm%EYCsm5tN1b^SJnS#AVpK!IJ4Wf24^upCt){)cw+;LMT3|+m4RCWdBX<`j6JW zEoztz>bRvbM&-gdnOVfPW0mAOn`|!9<#1bL`T@f8+&CXPZG#i3&C2G+Q2Rej1RK}Y zU|-Oa46fAV^uK0m4VErW#rha2(!}_(nq~$#_0DOCknKYC%7&nBcrEfhM95H)f6X{i zIs^9vYf_z;aS%ONo!x(1fMNCdR-jLn=%u$hMA&o3$Ukp9OUtp$0zlFSkgU68h z{!Nyy|D=lc>tgZ5q*Sn<*}`P*Rv=z)1Q-~azW{--nk|5L0(|7BXsV1JMYr(Kz<_GD?DIHz4_XRIWfYbJBg zu%=QrWYl+unm{L}w3_AeKS#$NK|Q&9V0|S4Y`)gxmG@Sp>}vokoOGX|e_y+ihvnL| z@nQ;kK2xS4^N??^!DmMd(7@XsvoS9%lskw1gfxgP>q>;HQ?P1yI7$bdhN&4X_|W1M zoPtB}!i(}QWWB)tefQz|EJ;zp21M={gCFvJ;69&#u#AgIRA~Ou8_Ib|yt4{qm zchP}Sdt0Z`%;|ro{Csk~p9zPX{oPa$^U~+=Jp8CP+0M)1eCWu#6vmotXLiLrgJWbM z>A+B=;x32br8Wvq~ERo65PkGswY$9GTRNn%U8?`BDx( zo4*=2rX*p_zFlx*g(H)(Egnrvgo$mRcZ}9DIr@H+G6`Z|;)L8@m2+xs|panzK{T|5lGgUc^JWQG*ag+!12 zY);8+40w0}Jj0?e#YhK#)u~_YU$+UgtE`tlhfzn{j@1oSEfRfy1*iF%w~`?J(nPMm zs9c96$PD0)e;X>vkX4}`#HrB}#Fv?I+C9KgfZ@W&0t|h$1sF~^E5MNa4MU^Y7N5sqD85mEq3+6`$1r+W7Kc$sfBPR&xzqj^_9OlO%kw{-?|=VO ztV93rUC)G|0x3?f6uXI%vXTN$(|mi~fHp>WdoW(A1{U|Y4j~=}T(e}0Z|FG(_Z&10sZ@hu*n>xD<2Nm8NY7Pk4!M)Vlvje80{!}v4>DwAMErR7WD zvUCHi{=SDTUZ@7&$6w*%(#E@$%vxndn)%opf_jP3%gd$6l;z(+X0!u)tE@X0-+unK znYp9u4t;CNScjukjBx**?5$mIaM=1ikULU=fBqV~{;E|!%3ZW$lrZDHZAaUV)sTp} zBtBAs!%*Ge8K^nzV#V~%_BM!sYx3_T^o=*6}VK{7<07I9@0t_9; ze+e*j*WJxwm^bEE46UXKFx-@ z4#RegLd*lwJKFyReLL+xwBOQyi~kGre>(I3e~NYJ|5`U!;`p$?K>yRs;L^+KTz|&7 zSl;{*eYtq;tF0cKDe(cdWf$P?lx(|pf87}t?E>5LGuV{lgW##dI)<6ljdZiK03}x~ z>R_NqzBo6+!TO2pR`W+}TG|0PmzM%DDyroD>~|PHM&Lt)ub)8+ol~quY#D#Z{E<)| zw>W)Xb(<#0Yw)+UW?;RhEcrIk0ZVv1%(y*+={4XWPMB7Xm2U4~TuMEsT}j&pe?##_ zWxD4}IHokIk$8F^&Ry0a{pC&RQ^tskZ}o;)gVzvmSW)l*Pdn{^qy4`!Rv!-GL}5eX zDcW)$@Nk8)F?SkN&B2+9_j9ELZ0gDa1 z(Wv)Myinx>S`!Q5+AUe!Q(g)>gUra&c}*B}Q;0;oy~E`{BBwmD3lBcUe{{Kg1!wjB zjF*p?lHMD2==g$i#<(dIV@@x@12x|;HvKFp=1Y+~;}?U)(1noju?rO&(2uKKKJA_Y zRiC?&33)?NHRnBZv?>)h$5u1O0Xjt3$dcP<2>Ad9ZofgpyqiqHy(%V4y*td`Wrf+s z6ELGel>U3|>M((Jbzt=Oe^`x{eh$R}W4M_Ag<~b`Wd*q)jY?w@_VE;#8^3!L^|6iW}>CFHCDb}I?4ksUj&H;H&uL_vWX?Ij@ip1}j^^fBd@()2-$;oO$n! zWmV;{xO6`_1h}J@Sv?M3*n=2ub;IW?_Q2I+N|f|Eh3ih3aJdVoMqR2MvjoHS9NAcd zJ~+!umUd4MVU6kzv31G)LCUuPlEl==yIEhs%~hKyU*C+Xr+d=drd_CaV>6eRI5bzSXrhibzMXQC$?POgpcHKH^H|$mtCvR72(y^0L*gLLD{qx~&7FzsJgYn-NJ)Q{npjOAAPDd==*l63J#bv2p^3;XDsZl9>De zB1fd#jkaC?UyWf0Mjh=>(6-b5Ap1xCZ~p-7!Uccy0i?f& z9s2Jvb}_-@?wocBO$uO6M89ln{wqJc zR#O36XH7-F8X2nL(iL+YgLpjS`>>>LDc?_f7^i9Kd#~Ze5tg*fVmJR=@OGxVp&Drn z{)C$!6tcGA3S3NE?P5lpJ{2r2f{qtDBK?@MP@HoBo~TKVaS~ba9mM~!mnDe&*)%w^Ck;gV(}PXU+zU4YD|fG z|7uj&k;JX#ig5@4(}lj+<3&Bby7!&=GBXWAmq^gH-z-RuoGz1fmk$mvdeE@E3fL!c z0Croyf5t^p!nE~K9B=e#b55s2SG;2~T@9$KNiFVQFo@A#twqINAA@5aLS)>d2rl1q zEU*h%`bnD5-ukp+xgz7%O3*&EoLw4z2OQE;fA@X2Z(H&u47VP$;}N5aczW{^ZXQAX zbz8DEP_PDKqNpL`FK5MZN~A|2e4n4d^`mDGe_-}oz2f$7vM+~+LBZTOY4yhmBs0~O zj2bQulb(&>>LlMMiIKX{C7|^{lrD@mCmETcpuSd_nzV6BD(f4+ak?VO-Wm&+JcH5d znE`M1Z85szsVuRMxQ4|?1e{W9<5XshCK2P?VO(i4ejC%qsp+a%+QupOYClwZT>(zx zf2X4JOBwoPURS*D8p5;Dz7G*)OZl;40!}>-zJ{w9OS*UKF22^3?aZE=YGlf(Pw0E2 zki8lt;FRxFGqQ4E3DdAK5f5#C1m8SFs82=@djFUQ^KHY=ajLBT4er>EaAHst-f831 z*wu3*4hN+}k-7vOBx_05qAqjaFCBWy_N0S9K8Jl{4uJ2bmw5HK5asucv`J|U%akb^k}Df}ayo3olP5E0T9Nu<73!}Re+v28C-M3b z5xOY%6mxcuD7Vi~w6JBpDEP7|%qjYQ;W@1e;D25)9kg#S4@tY94Xt^ zoAP~Zam9*FxVZi%9BJcJMjNM$HFjde*eY0Oc^4*%TF{9@E;6<@0#5aDkt9|752H~+ zEE_-a0qDODN8XLEI4wv9za?vvz3;T>s!LW>Z=Eo8|6T+~iu8$SU0ckVrw%=P3pn*6 zL59fQ2?n9&e?*Kld5Z?jYLFZ1#Ljryc1?pXa-5ncs!u1B&O;TaK$L!!i!UE$u}LSQ zV9J9E9DG9br#K~1E)I%wl6bRgBN(MV)t&zT|AYO||Nnsr;Q!V5-@4QP{~6Zd|Hbxs zk{N;4oNiCLGnVXbR_FS41u1afOHkk9jS_>vOM3)se;T#N6UYAU+_U>=B+HDMp-dzX z2at6B1`_oHP}5|K4Wo^Sn{f*-;gt(t%teWO^)sVk z7h-tb&xJx)nJ!f9rWlvgoc~&!&Rw?~Uda{WQQOI&x=fZNfA2@OIUL2@*dqAqZ$X5w z#DMgze{vLC+sO7Ew+<6){NR(J9Nnc7&uNxelN^=XbcfMCm;wr~G%;aP7;{+lD9Rdk zBXdvca#}rm@>|dq???B{(53ywvO%q~4=J6L3H=uAXQnvF{SM6%So<}9N;9SNJ^Ipd z1_o@^o-UwKrUK9FpEELth3NIV@jSI75113)e?mmmFp;@E=?3cur0vtNQ-pP)hfV{>8WxCZQTGyQkpcl)-O!u?u5bC68jEem7!zMZl@~f0N$A zvzE4)w~bS|D%miyybsy3AQRS2-_PiE|2a-ANj0USEBjL82l}j4O&1XB(F6PpUod+@ zh3Jy%g}f6N9x%$$LZsC;k$Dk*jTH_RrTV+}z^Zp9H1WMXhuygQV=z~55Zk*pA3uID zBctw=vST93+v0~xzP+q5^e}jVe>$m&u=$Yzl{{fY>m<*?<(h4*DP%M8`vv#y@%j_& zoSwqeKer?*L5|Gl+KZSeUCe7SHzq-MYPfwQRXo|L!}3tgCK)HlNs=YL8pPV+KFkqr zKo5zOpW;;a6TUF2fo1I7ydnQXTBra2|6srE|Nqzpz@6j&|GU=V|Kkr2eq#;rS0b?;7C7G+7x54*5s3H2DTK#UIRQjL~gEx74zcT&iA zX1Yxc;qE(sz9A`qe?k0ZMxVg@@KOZUkRG|RpC2`8Kb-1zl+$XZLVf0;{s%@HO-V`# zADu_2(fG(S_-365xhs7Je>5)pE&cA`hTV%)?BK}!t};x5pC%VOJ~I|0#ZQenKhJ+X zglrYvDp(tB;7AGW!J353iG*N#0jExz ziIWf0)#yhVA;O<}f_Wk`5B=j1ZhM)M_k(p=Yv+YfpvD-LAB~{Yh!-wBKPr z_Wyrz{=a{x|Nk?r!~ciiR&bp^kke=FL)OIQg5X`SyLH^i!*2DQKDQWlX&W>9a{ZYB zIgI7@f3bpjoVE&}Hh3I4YA~1he{AKndfu^KG;W|BOmKgT>SteKw5}%YZ#I=JpytHm zP7brFrVPGe=O&>?>FspMDocf*RK!^{Na`J?g>rLxa~5$3rq4wpKG1 z6N`s3pyZNcoAg}pp2YN%y{NN;9o+SKi^a!ZBCD@SXI43}Y`QtQD|3gDd0UC1e^i;c zH#;J)jZ?C(oS?`w4KI#8&zig!a4K3-nBE#KN9`2!@lNI(-WeZVGTl{_E?$xc61PGz zIb#jl<}Lx}CJVZ5ku>jmnj#dQ%!5lqLm=~pfK%l{ZaBL|k{Nr%9hweC;G8NAa@}5= zeA9Jed=@_AIQ3*~1_q7#3|@|be|WmA4{&}jK&W`|M%j&4lGU2CLp?C|$EvP7LWs3x&F$B#0xc@^L~MV>skaFCg|_c+I? zh4D@N=hF%?(eyPO?<+x^EX&w#-HyYcErEQyE;96FZYc1e6fe~&(w>s$f3#5J0PKBJ z#UwbJk&V_$9H;F4szA@cfHY6iM91|yWW>i1$lD_g%I73V=G|-#n{O{Qsr%9x{>>bH zIzXoetCL?d_Pw=$XJbhJMyZJqWz?1%pUFV6p4cE11pPq7aF z|Iw$OsoOk^)8Q^hB*@6Ze}P=zt)(Za-2Q~q@DE>Bk>~3LbDfQeG&x;o%W0M)sp3sk zawWr0c@dF)r#SyVMBx-jd+h`M+(szXxx(~K%VV2eOxX12!en=o6I&>*Pc&b-qQ03O zYnuHS!anVR$#Q9+S=bvIwdJ^6ZIsy!-0)qKtT??5VncKR1FxV;e^4WUR6b_%x{{+| zs#vh}4X;?^4l0lPiW^gPsqmS1c-gWV^s+NJJ#rhUN_Hr}#i{cK0-U{!yDPM*u46X( zi2Gr5<1J3Bag749yM)L0s4S zHisSPT*NO|`_jraCgi^9QS`?^CVlWzcJUZt+9VOfNRH@9HMbfO6?G|UH)$~Vwi0%x zt0}g=%NulUyaAVgUS}_hby^2Ox~?A1?KY)$68>yqmKFJEf8>oup5r-eE*{v&Ug1Ts zSKDF`8QnnE$>R-X>0N-~^2^X_a3t?%=5lv%D)9z1NsPj`_l@j_$1EtC&!K? zO^Mzdrv?etf^CHhx4kjMl&p2(bL0QzV`M;z$%QRTSCNHNOh_lE{`)x9!HtggH+Ji^ z|ImKZ|Np@+e}L$$|Nq~$4*x&%rW4VqaNu+}Wd9i$Qklf*^XKdhB;IHt*H=310(DVp zT)+FvW>|H57pK+kLuASKDPhc~yO~g|_?FX~a$O~IIN&nAzut>zC9T8F+iJ1f=Brr0 zQJs42YX#jkeTm_kNl-8#g;}+>ggrFEf_!yWht^$tf0%XoN}N_lczT0#%QY}Q{{-U$ z^V!lG3%2*QdstvS1=TZyF;Lu%r|xhL=T;xXXMXR!Cu#k}^O?e+P5-x+0riV9P8I z?#f!rd9s;<_u|#kRB*^NB-*$1x%-wrUW}^>=CO(ua%9LO5egC|xJy}&*vvQ%qct;` zVOf34*1+jHA^w%;yU{NiFwX1!|yxy%#H z8o5mHyCFj>74LIet=@VTs_$D8l~6}~G^!5I9#A3gBh88Ph51a)TXp!EcR6%$MWe-D!oOp3uAk23^=n ze}n_B+kHG4*U72>LQZvXqoe(eLp$w1v>*Hbzc~NjIsX4sti%7Gd167#R#Hxf^F!{z z!~(&)D@O7+1OK}r*AJfe3BGD}=V}CoYL!f_%|h-uW#=p)EhCqajQNLQL(V}?t5+WC zM!fEA10&vNkdWGkK{37QqRB0o*W)}Ue-|u=BvEPl&Bux~9Iz%k5r$W zIhkkjmCIQ^2{?~AaoXgm!*OtSGNF-?-N;qPnQ*gb0;row6W8=1SX3MVquqnpErS(6 zS5BCWG3rJYFV&*h+$WqK>Ae*rv0J2QQms7HoKM9fF&U!QuNWqru^`H}^4y%|e}%o= z(Wg{_SZ00&i|hkD&Bc+h?&)D1cRUZ~Le2l6S-)EQH8(FZCuS#0@zgjiBDz=;r4n*+ z`Xh6ku>1(Vliv$XibFA}e{bq3tw)<61m~>L!W&!q(C#N@F4uxAS`wrG#$SKVvlNYa4;T@-=?@ zJ>{Oh$^;y#hlnl5(Q&v2`Jz*RUCYFY-?e)D*iVtGQM>A>&>b-nEX)Xm+-oB6(NUBd zi+kf6n~!)XYVGg1?_bBQ9o+bPj-+2VARngpv>Pc1{66E|pu2hG9f6oMKN_-zo zAnUyO-2PVf^NDqwFE>W?HF717l^2nii_^$jZGFSqiAKpxaE|VS4`^I5hVOOw9_zv=4T0 zw67!PRDWa?7F@%f8}ix8MHDqOt8l`#XdeHS3R&Yk0*%k_H8^3TCCZ6hz@2B2ipT~XWC26@pc-jo8D^tLO z`dvs%xFR;kNpsjKe=Xn7W(WAfMR`$tH{6UIF`59*-J_W0gL;y)uNzSL-BSoYdlJY7 zb9$o42m|U2=>5j-%&a4I&=fd~yC?r65=2M&6%0(4ra~`GiIZwIbK+1XRQS(iLMQOJ zeY*OK6DB;Bv5kKM>5VMtVf5DBv=SXm~95GpM&-I4{ zZ6Wg{1^Fe75o*LmS)1cjb#(){+Y06jeDYRA>OJQKav z3f2eapBuyaPGq^f?(k`5WNq#U!5o5D=iz3&4)?q#$sB>vsXlhAjr8fkw*lO7StIRG lFUef+je&io?5FcfJLCIK>$Fbmv_H}Q9|8Pk(g08c0RRQtu)6>N delta 14582 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 diff --git a/test/input_gen/genModelTests_v2.py b/test/input_gen/genModelTests_v2.py index 86d2c808b6..fc93504ffa 100644 --- a/test/input_gen/genModelTests_v2.py +++ b/test/input_gen/genModelTests_v2.py @@ -518,6 +518,19 @@ def forward(self, inputs, labels): return out, loss +class PowOperation(torch.nn.Module): + def __init__(self): + super().__init__() + self.fc = torch.nn.Linear(2, 2) + self.loss = torch.nn.MSELoss() + + def forward(self, inputs, labels): + out = self.fc(inputs[0]) + out = out.pow(3) + loss = self.loss(out, labels[0]) + return out, loss + + if __name__ == "__main__": record_v2( ReduceMeanLast(), @@ -836,6 +849,16 @@ def forward(self, inputs, labels): name="multiply_operation", ) + pow_operation = PowOperation() + record_v2( + pow_operation, + iteration=2, + input_dims=[(1, 2)], + input_dtype=[float], + label_dims=[(1, 2)], + name="pow_operation", + ) + # Function to check the created golden test file inspect_file("add_operation.nnmodelgolden") fc_mixed_training_nan_sgd = LinearMixedPrecisionNaNSGD() diff --git a/test/input_gen/golden/unittest_models_v2.tar.gz b/test/input_gen/golden/unittest_models_v2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..152ff37cf4e0127f5d2c460bd8ebd55aaeb5ff7d GIT binary patch literal 126864 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 NlCHZA$^i!Ie*i~BDJ=j1 literal 0 HcmV?d00001 diff --git a/test/unittest/layers/meson.build b/test/unittest/layers/meson.build index 7d6bb3b49b..54d7d782fa 100644 --- a/test/unittest/layers/meson.build +++ b/test/unittest/layers/meson.build @@ -51,6 +51,7 @@ test_target = [ 'unittest_layers_subtract.cpp', 'unittest_layers_multiply.cpp', 'unittest_layers_divide.cpp', + 'unittest_layers_pow.cpp', 'unittest_layers_multiout.cpp', 'unittest_layers_rnn.cpp', 'unittest_layers_rnncell.cpp', diff --git a/test/unittest/layers/unittest_layers_pow.cpp b/test/unittest/layers/unittest_layers_pow.cpp new file mode 100644 index 0000000000..68bd11bad0 --- /dev/null +++ b/test/unittest/layers/unittest_layers_pow.cpp @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: Apache-2.0 +/** + * Copyright (C) 2024 SeungBaek Hong + * + * @file unittest_layers_pow.cpp + * @date 20 Nov 2024 + * @brief Pow Layer Test + * @see https://github.com/nnstreamer/nntrainer + * @author SeungBaek Hong + * @bug No known bugs except for NYI items + */ +#include + +#include + +#include +#include + +auto semantic_pow = LayerSemanticsParamType( + nntrainer::createLayer, nntrainer::PowLayer::type, + {"exponent=3"}, LayerCreateSetPropertyOptions::AVAILABLE_FROM_APP_CONTEXT, + false, 1); + +auto semantic_pow_multi = LayerSemanticsParamType( + nntrainer::createLayer, nntrainer::PowLayer::type, + {"exponent=3"}, LayerCreateSetPropertyOptions::AVAILABLE_FROM_APP_CONTEXT, + false, 2); + +GTEST_PARAMETER_TEST(Pow, LayerSemantics, + ::testing::Values(semantic_pow, semantic_pow_multi)); diff --git a/test/unittest/models/unittest_models.cpp b/test/unittest/models/unittest_models.cpp index 8de98a0446..6c691bd9f0 100644 --- a/test/unittest/models/unittest_models.cpp +++ b/test/unittest/models/unittest_models.cpp @@ -948,6 +948,25 @@ static std::unique_ptr makeDivideOperation() { return nn; } +static std::unique_ptr makePowOperation() { + std::unique_ptr nn(new NeuralNetwork()); + + auto outer_graph = + makeGraph({{"input", {"name=in", "input_shape=1:1:2"}}, + {"fully_connected", {"name=fc", "unit=2", "input_layers=in"}}, + {"pow", {"name=pow_layer", "exponent=3", "input_layers=fc"}}, + {"mse", {"name=loss", "input_layers=pow_layer"}}}); + + for (auto &node : outer_graph) { + nn->addLayer(node); + } + + nn->setProperty({"batch_size=1"}); + nn->setOptimizer(ml::train::createOptimizer("sgd", {"learning_rate=0.1"})); + + return nn; +} + GTEST_PARAMETER_TEST( model, nntrainerModelTest, ::testing::ValuesIn({ @@ -1026,6 +1045,7 @@ GTEST_PARAMETER_TEST( ModelTestOption::ALL_V2), mkModelTc_V2(makeDivideOperation, "divide_operation", ModelTestOption::ALL_V2), + mkModelTc_V2(makePowOperation, "pow_operation", ModelTestOption::ALL_V2), }), [](const testing::TestParamInfo &info) -> const auto & { return std::get<1>(info.param); });