[layer devel] clean up header dependency
authorJihoon Lee <jhoon.it.lee@samsung.com>
Fri, 19 Nov 2021 04:21:59 +0000 (13:21 +0900)
committerJijoong Moon <jijoong.moon@samsung.com>
Mon, 29 Nov 2021 04:07:34 +0000 (13:07 +0900)
This patch clean up header dependency related to layer devel which
is being included in so many places and does not need layer_context to
be included in it's translation unit

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
58 files changed:
Applications/TransferLearning/Draw_Classification/jni/main.cpp
nntrainer/layers/activation_layer.cpp
nntrainer/layers/addition_layer.cpp
nntrainer/layers/attention_layer.cpp
nntrainer/layers/bn_layer.cpp
nntrainer/layers/bn_layer.h
nntrainer/layers/centroid_knn.cpp
nntrainer/layers/centroid_knn.h
nntrainer/layers/concat_layer.cpp
nntrainer/layers/concat_layer.h
nntrainer/layers/conv1d_layer.cpp
nntrainer/layers/conv1d_layer.h
nntrainer/layers/conv2d_layer.cpp
nntrainer/layers/conv2d_layer.h
nntrainer/layers/dropout.cpp
nntrainer/layers/dropout.h
nntrainer/layers/embedding.cpp
nntrainer/layers/embedding.h
nntrainer/layers/fc_layer.cpp
nntrainer/layers/flatten_layer.cpp
nntrainer/layers/gru.cpp
nntrainer/layers/input_layer.cpp
nntrainer/layers/input_layer.h
nntrainer/layers/layer_devel.h
nntrainer/layers/layer_impl.h
nntrainer/layers/loss/constant_derivative_loss_layer.cpp
nntrainer/layers/loss/cross_entropy_loss_layer.h
nntrainer/layers/loss/cross_entropy_sigmoid_loss_layer.cpp
nntrainer/layers/loss/cross_entropy_softmax_loss_layer.cpp
nntrainer/layers/loss/loss_layer.cpp
nntrainer/layers/loss/loss_layer.h
nntrainer/layers/loss/mse_loss_layer.cpp
nntrainer/layers/lstm.cpp
nntrainer/layers/lstmcell.cpp
nntrainer/layers/multiout_layer.cpp
nntrainer/layers/nnstreamer_layer.cpp
nntrainer/layers/nnstreamer_layer.h
nntrainer/layers/permute_layer.cpp
nntrainer/layers/permute_layer.h
nntrainer/layers/pooling2d_layer.cpp
nntrainer/layers/pooling2d_layer.h
nntrainer/layers/preprocess_flip_layer.cpp
nntrainer/layers/preprocess_flip_layer.h
nntrainer/layers/preprocess_l2norm_layer.cpp
nntrainer/layers/preprocess_l2norm_layer.h
nntrainer/layers/preprocess_translate_layer.cpp
nntrainer/layers/preprocess_translate_layer.h
nntrainer/layers/reshape_layer.cpp
nntrainer/layers/rnn.cpp
nntrainer/layers/rnncell.cpp
nntrainer/layers/split_layer.cpp
nntrainer/layers/split_layer.h
nntrainer/layers/tflite_layer.cpp
nntrainer/layers/tflite_layer.h
nntrainer/layers/time_dist.cpp
nntrainer/layers/time_dist.h
nntrainer/models/dynamic_training_optimization.h
test/unittest/layers/layers_standalone_common_tests.cpp

index fda6067..0ce4948 100644 (file)
@@ -29,6 +29,7 @@
 #define APP_VALIDATE
 #endif
 
+#include <iostream>
 #include <limits.h>
 #include <stdlib.h>
 #include <time.h>
index 3116fa3..5c0ffd4 100644 (file)
@@ -21,7 +21,7 @@
 #include <activation_layer.h>
 #include <blas_interface.h>
 #include <common_properties.h>
-#include <lazy_tensor.h>
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 #include <node_exporter.h>
index 564cf6f..bdae68e 100644 (file)
@@ -16,6 +16,8 @@
 #include <nntrainer_log.h>
 #include <util_func.h>
 
+#include <layer_context.h>
+
 namespace nntrainer {
 
 static constexpr size_t SINGLE_INOUT_IDX = 0;
index eaf3b96..1f5edb2 100644 (file)
@@ -12,6 +12,7 @@
  */
 
 #include <attention_layer.h>
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 
index 7d8b978..f9bae35 100644 (file)
@@ -22,6 +22,7 @@
  */
 
 #include <bn_layer.h>
+#include <layer_context.h>
 #include <lazy_tensor.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
index d0f47b5..5ecee09 100644 (file)
@@ -28,6 +28,7 @@
 #include <functional>
 #include <vector>
 
+#include <common_properties.h>
 #include <layer_devel.h>
 
 namespace nntrainer {
index 153d5b2..734ce0d 100644 (file)
@@ -18,6 +18,7 @@
 #include <sstream>
 
 #include <centroid_knn.h>
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 #include <node_exporter.h>
index 018240f..93f0166 100644 (file)
@@ -16,7 +16,6 @@
 #include <string>
 
 #include <common_properties.h>
-#include <layer_context.h>
 #include <layer_devel.h>
 
 namespace nntrainer {
index 6c3662b..5b74273 100644 (file)
@@ -14,6 +14,7 @@
 
 #include <concat_layer.h>
 #include <cstring>
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 #include <node_exporter.h>
index 11764e4..f484365 100644 (file)
@@ -15,8 +15,9 @@
 #define __CONCAT_LAYER_H__
 #ifdef __cplusplus
 
+#include <common_properties.h>
 #include <layer_devel.h>
-
+#include <tensor_dim.h>
 namespace nntrainer {
 
 /**
index f47946b..3d257c0 100644 (file)
@@ -17,6 +17,8 @@
 #include <string>
 
 #include <conv1d_layer.h>
+#include <conv2d_layer.h>
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 #include <node_exporter.h>
@@ -35,6 +37,8 @@ Conv1DLayer::Conv1DLayer(const std::array<unsigned int, 2> &padding_) :
   conv2d_layer = std::make_unique<Conv2DLayer>();
 }
 
+Conv1DLayer::~Conv1DLayer() {}
+
 void Conv1DLayer::finalize(InitLayerContext &context) {
   if (context.getNumInputs() != 1) {
     throw std::invalid_argument("Convolution layer takes only one input");
index 2fb6746..c51f44d 100644 (file)
 #define __CONV1D_LAYER_H_
 #ifdef __cplusplus
 
-#include <conv2d_layer.h>
+#include <common_properties.h>
 #include <layer_impl.h>
 #include <memory.h>
 
 namespace nntrainer {
 
+class Conv2DLayer;
+
 /**
  * @class   Convolution 1D Layer
  * @brief   Convolution 1D Layer
@@ -35,7 +37,7 @@ public:
   /**
    * @brief     Destructor of Conv 1D Layer
    */
-  ~Conv1DLayer() = default;
+  ~Conv1DLayer();
 
   /**
    *  @brief  Move constructor of Conv 1D Layer.
index bc462da..7365ace 100644 (file)
 
 #include <blas_interface.h>
 #include <conv2d_layer.h>
+#include <layer_context.h>
 #include <lazy_tensor.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 #include <node_exporter.h>
 #include <profiler.h>
+#include <tensor_dim.h>
 #include <util_func.h>
 
 namespace nntrainer {
index 9577efb..0497e52 100644 (file)
@@ -17,6 +17,7 @@
 
 #include <memory.h>
 
+#include <common_properties.h>
 #include <layer_impl.h>
 
 namespace nntrainer {
index e504352..76f2d8d 100644 (file)
  */
 
 #include <dropout.h>
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
+#include <node_exporter.h>
 #include <util_func.h>
 
 namespace nntrainer {
index 1fece43..aa2cb71 100644 (file)
@@ -17,7 +17,6 @@
 
 #include <common_properties.h>
 #include <layer_devel.h>
-#include <node_exporter.h>
 
 namespace nntrainer {
 
index c63e51c..730a81a 100644 (file)
@@ -12,6 +12,7 @@
  */
 
 #include <embedding.h>
+#include <layer_context.h>
 #include <lazy_tensor.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
index 940a128..d182cc1 100644 (file)
@@ -15,6 +15,7 @@
 #define __EMBEDDING_H__
 #ifdef __cplusplus
 
+#include <common_properties.h>
 #include <layer_impl.h>
 
 namespace nntrainer {
index 4368fb3..070c874 100644 (file)
@@ -22,6 +22,7 @@
  */
 
 #include <fc_layer.h>
+#include <layer_context.h>
 #include <lazy_tensor.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
index 06fa7cb..cb11adc 100644 (file)
  */
 
 #include <flatten_layer.h>
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
+#include <node_exporter.h>
 
 namespace nntrainer {
 
index 59d35d4..85c25cb 100644 (file)
@@ -28,7 +28,7 @@
 
 #include <cmath>
 #include <gru.h>
-#include <lazy_tensor.h>
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 #include <node_exporter.h>
index 5d3b58f..d2a890e 100644 (file)
@@ -22,6 +22,7 @@
  */
 
 #include <input_layer.h>
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 #include <node_exporter.h>
index 5634cf8..259383b 100644 (file)
@@ -25,9 +25,7 @@
 #ifdef __cplusplus
 
 #include <common_properties.h>
-#include <layer_context.h>
 #include <layer_devel.h>
-#include <tensor.h>
 
 namespace nntrainer {
 
index 32cfff0..af81cfa 100644 (file)
 #include <string>
 #include <vector>
 
-#include <layer_context.h>
-#include <tensor.h>
-
 namespace ml::train {
 class Layer;
 }
 
 namespace nntrainer {
 
+class InitLayerContext;
+class RunLayerContext;
 class Exporter;
 
 enum class ExportMethods;
index c7b8aa0..26f87a3 100644 (file)
@@ -31,6 +31,13 @@ class InitLayerContext;
 class RunLayerContext;
 class Exporter;
 
+namespace props {
+class WeightRegularizer;
+class WeightRegularizerConstant;
+class WeightInitializer;
+class BiasInitializer;
+} // namespace props
+
 enum class ExportMethods;
 
 /**
index ab8bf0b..2b6c27d 100644 (file)
@@ -14,6 +14,8 @@
 
 #include <constant_derivative_loss_layer.h>
 
+#include <layer_context.h>
+
 namespace nntrainer {
 
 static constexpr int SINGLE_INOUT_IDX = 0;
@@ -21,7 +23,7 @@ static constexpr int SINGLE_INOUT_IDX = 0;
 static constexpr float value = 1.0f;
 
 ConstantDerivativeLossLayer::ConstantDerivativeLossLayer() : LossLayer() {}
-ConstantDerivativeLossLayer::~ConstantDerivativeLossLayer() = default;
+ConstantDerivativeLossLayer::~ConstantDerivativeLossLayer(){};
 
 void ConstantDerivativeLossLayer::forwarding(RunLayerContext &context,
                                              bool training) {
index e05d92e..07e474a 100644 (file)
@@ -16,6 +16,7 @@
 #ifdef __cplusplus
 
 #include <loss_layer.h>
+#include <nntrainer_error.h>
 
 namespace nntrainer {
 
index d0b205d..1820c0b 100644 (file)
@@ -16,6 +16,7 @@
 #include <cross_entropy_sigmoid_loss_layer.h>
 
 #include <acti_func.h>
+#include <layer_context.h>
 #include <lazy_tensor.h>
 #include <util_func.h>
 
index 5312f46..95a6048 100644 (file)
@@ -16,6 +16,7 @@
 #include <cross_entropy_softmax_loss_layer.h>
 
 #include <acti_func.h>
+#include <layer_context.h>
 #include <lazy_tensor.h>
 #include <util_func.h>
 
index 2be4ee6..84f767f 100644 (file)
  *
  */
 
+#include <layer_context.h>
 #include <loss_layer.h>
 
 namespace nntrainer {
+void LossLayer::finalize(InitLayerContext &context) {
+  context.setOutputDimensions(context.getInputDimensions());
+}
 
 void LossLayer::updateLoss(RunLayerContext &context, const Tensor &l) {
   float loss_sum = 0.0f;
index 8c194ee..00b520f 100644 (file)
@@ -17,6 +17,8 @@
 
 #include <layer_devel.h>
 
+#include <tensor.h>
+
 namespace nntrainer {
 
 /**
@@ -33,9 +35,7 @@ public:
   /**
    * @copydoc Layer::finalize(InitLayerContext &context)
    */
-  virtual void finalize(InitLayerContext &context) override {
-    context.setOutputDimensions(context.getInputDimensions());
-  }
+  virtual void finalize(InitLayerContext &context) override;
 
   /**
    * @copydoc Layer::setProperty(const std::vector<std::string> &values)
index 9691aa3..f6ca1dc 100644 (file)
@@ -11,6 +11,7 @@
  *
  */
 
+#include <layer_context.h>
 #include <lazy_tensor.h>
 #include <mse_loss_layer.h>
 
index 25f3c4e..49cd2da 100644 (file)
@@ -12,7 +12,7 @@
  */
 
 #include <cmath>
-#include <lazy_tensor.h>
+#include <layer_context.h>
 #include <lstm.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
index 588b4a8..e25fe1f 100644 (file)
@@ -12,7 +12,7 @@
  */
 
 #include <cmath>
-#include <lazy_tensor.h>
+#include <layer_context.h>
 #include <lstmcell.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
index 0e720c9..10673ec 100644 (file)
@@ -12,6 +12,7 @@
  */
 
 #include <cstring>
+#include <layer_context.h>
 #include <multiout_layer.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
index 18b315e..b8fa458 100644 (file)
@@ -16,6 +16,7 @@
 #include <fstream>
 
 #include <common_properties.h>
+#include <layer_context.h>
 #include <nnstreamer_layer.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
@@ -60,8 +61,7 @@ NNStreamerLayer::NNStreamerLayer() :
 
 static constexpr size_t SINGLE_INOUT_IDX = 0;
 
-int NNStreamerLayer::nnst_info_to_tensor_dim(ml_tensors_info_h &out_res,
-                                             TensorDim &dim) {
+static int nnst_info_to_tensor_dim(ml_tensors_info_h &out_res, TensorDim &dim) {
   int status = ML_ERROR_NONE;
   unsigned int count;
   ml_tensor_type_e type;
index 9d09bf2..661ebd1 100644 (file)
@@ -98,15 +98,6 @@ private:
    * @brief     release the layer resources
    */
   void release() noexcept;
-
-  /**
-   * @brief    convert nnstreamer's tensor_info to nntrainer's tensor_dim
-   * @param[in] out_res nnstreamer's tensor_info
-   * @param[out] dim nntrainer's tensor_dim
-   * @retval 0 on success, -errno on failure
-   */
-  static int nnst_info_to_tensor_dim(ml_tensors_info_h &out_res,
-                                     TensorDim &dim);
 };
 } // namespace nntrainer
 
index 201a6ea..9c53cc2 100644 (file)
 #include <string>
 #include <tuple>
 
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
+#include <node_exporter.h>
 #include <permute_layer.h>
 #include <tensor.h>
 #include <tensor_dim.h>
index a526a9a..0496f31 100644 (file)
@@ -19,7 +19,7 @@
 
 #include <base_properties.h>
 #include <layer_devel.h>
-#include <node_exporter.h>
+
 namespace nntrainer {
 
 namespace props {
index 02180b4..b3ee156 100644 (file)
 #include <cstring>
 #include <limits>
 
-#include <lazy_tensor.h>
+#include <common_properties.h>
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 #include <node_exporter.h>
 #include <pooling2d_layer.h>
 #include <util_func.h>
-
 namespace nntrainer {
 
 static constexpr size_t SINGLE_INOUT_IDX = 0;
@@ -405,4 +405,12 @@ void Pooling2DLayer::pooling2d(Tensor &in, bool training, Tensor &output,
   }
 }
 
+void Pooling2DLayer::setBatch(RunLayerContext &context, unsigned int batch) {
+  context.updateTensor(pool_helper_idx, batch);
+  props::PoolingTypeInfo::Enum pooling_type =
+    std::get<props::PoolingType>(pooling2d_props).get();
+  if (pooling_type == props::PoolingTypeInfo::Enum::global_max)
+    pool_helper_size.resize(batch * context.getInput(0).channel());
+}
+
 } /* namespace nntrainer */
index 2b1fa23..94dcbb5 100644 (file)
@@ -19,6 +19,7 @@
 #include <vector>
 
 #include <base_properties.h>
+#include <common_properties.h>
 #include <layer_devel.h>
 
 namespace nntrainer {
@@ -105,13 +106,7 @@ public:
   /**
    * @copydoc Layer::setBatch(RunLayerContext &context, unsigned int batch)
    */
-  void setBatch(RunLayerContext &context, unsigned int batch) override {
-    context.updateTensor(pool_helper_idx, batch);
-    props::PoolingTypeInfo::Enum pooling_type =
-      std::get<props::PoolingType>(pooling2d_props).get();
-    if (pooling_type == props::PoolingTypeInfo::Enum::global_max)
-      pool_helper_size.resize(batch * context.getInput(0).channel());
-  }
+  void setBatch(RunLayerContext &context, unsigned int batch) override;
 
 private:
   std::array<unsigned int, POOLING2D_DIM * 2> padding;
index b9e711d..b95066c 100644 (file)
@@ -13,6 +13,8 @@
 
 #include <random>
 
+#include <common_properties.h>
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 #include <node_exporter.h>
index aef292f..594bb75 100644 (file)
@@ -17,6 +17,7 @@
 
 #include <random>
 
+#include <common_properties.h>
 #include <layer_devel.h>
 
 namespace nntrainer {
index 141376d..4c499a2 100644 (file)
 #include <regex>
 #include <sstream>
 
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
-
+#include <node_exporter.h>
 #include <preprocess_l2norm_layer.h>
 
 namespace nntrainer {
index 62fdff7..ed3c22a 100644 (file)
@@ -17,9 +17,7 @@
 #define __PREPROCESS_L2NORM_LAYER_H__
 #include <string>
 
-#include <layer_context.h>
 #include <layer_devel.h>
-#include <node_exporter.h>
 
 namespace nntrainer {
 
index 314914f..eae17dd 100644 (file)
@@ -14,6 +14,7 @@
 
 #include <random>
 
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 #include <node_exporter.h>
index da69f2a..2f962b0 100644 (file)
@@ -21,6 +21,7 @@
 #include <opencv2/highgui/highgui.hpp>
 #endif
 
+#include <common_properties.h>
 #include <layer_devel.h>
 
 namespace nntrainer {
index aa9d613..d2e2c9d 100644 (file)
  * @todo Update flatten to work in-place properly.
  */
 
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 #include <node_exporter.h>
 #include <reshape_layer.h>
-
 namespace nntrainer {
 
 static constexpr size_t SINGLE_INOUT_IDX = 0;
index 08045c8..f3c04af 100644 (file)
@@ -12,7 +12,7 @@
  */
 
 #include <cmath>
-#include <lazy_tensor.h>
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 #include <node_exporter.h>
index df23084..6b1143c 100644 (file)
@@ -13,7 +13,7 @@
 
 #include <cmath>
 
-#include <lazy_tensor.h>
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 #include <node_exporter.h>
index aa78092..92a4c40 100644 (file)
@@ -12,6 +12,7 @@
  */
 
 #include <cstring>
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 #include <node_exporter.h>
index 517906d..e0e389c 100644 (file)
@@ -17,7 +17,9 @@
 #define __SPLIT_LAYER_H__
 #ifdef __cplusplus
 
+#include <common_properties.h>
 #include <layer_devel.h>
+#include <tensor_dim.h>
 
 namespace nntrainer {
 
index 83f7af4..38183ca 100644 (file)
@@ -11,6 +11,7 @@
  */
 
 #include <base_properties.h>
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 #include <node_exporter.h>
index 1706286..cb1c17e 100644 (file)
 #ifdef __cplusplus
 
 #include <layer_devel.h>
+#include <vector>
 
 #include <tensorflow/contrib/lite/interpreter.h>
 #include <tensorflow/contrib/lite/kernels/register.h>
 #include <tensorflow/contrib/lite/model.h>
 
+namespace ml::train {
+class TensorDim;
+}
+
 namespace nntrainer {
 
 class PropsTflModelPath;
@@ -88,7 +93,7 @@ private:
    * @param is_output check if output
    */
   void setDimensions(const std::vector<int> &tensor_idx_list,
-                     std::vector<TensorDim> &dim, bool is_output);
+                     std::vector<ml::train::TensorDim> &dim, bool is_output);
 };
 
 } // namespace nntrainer
index 64726dc..8e6655b 100644 (file)
@@ -11,6 +11,7 @@
  *
  */
 
+#include <layer_context.h>
 #include <nntrainer_error.h>
 #include <nntrainer_log.h>
 #include <time_dist.h>
index c5c1f4f..0fc6645 100644 (file)
@@ -16,6 +16,7 @@
 #ifdef __cplusplus
 
 #include <layer_devel.h>
+#include <weight.h>
 
 namespace nntrainer {
 
index e0e9511..ad2b4bb 100644 (file)
@@ -45,6 +45,9 @@
 
 namespace nntrainer {
 
+class Weight;
+class Var_Grad;
+
 /**
  * @class   DynamicTraining Optimization
  * @brief   Dynamic Training Optimization
index d5f60ee..38b1c9b 100644 (file)
 
 #include <layers_common_tests.h>
 
+#include <layer_context.h>
 #include <layer_devel.h>
+#include <nntrainer_error.h>
+#include <tensor_dim.h>
 
 constexpr unsigned SAMPLE_TRIES = 10;
 
@@ -36,8 +39,8 @@ TEST_P(LayerSemantics, DISABLED_setPropertiesValidInvalidOnly_n) {
 }
 
 TEST_P(LayerSemantics, finalizeValidate_p) {
-  nntrainer::TensorDim in_dim({1, 1, 1, 1});
-  std::vector<nntrainer::TensorDim> input_dims(num_inputs, in_dim);
+  ml::train::TensorDim in_dim({1, 1, 1, 1});
+  std::vector<ml::train::TensorDim> input_dims(num_inputs, in_dim);
   nntrainer::InitLayerContext init_context =
     nntrainer::InitLayerContext(input_dims, 1, false, "layer");
   EXPECT_EQ(init_context.validate(), true);
@@ -77,8 +80,8 @@ TEST_P(LayerSemantics, gettersValidate_p) {
 }
 
 TEST_P(LayerSemantics, setBatchValidate_p) {
-  nntrainer::TensorDim in_dim({1, 1, 1, 1});
-  std::vector<nntrainer::TensorDim> input_dims(num_inputs, in_dim);
+  ml::train::TensorDim in_dim({1, 1, 1, 1});
+  std::vector<ml::train::TensorDim> input_dims(num_inputs, in_dim);
   nntrainer::InitLayerContext init_context =
     nntrainer::InitLayerContext(input_dims, 1, false, "layer");
   EXPECT_EQ(init_context.validate(), true);