[trivial] fix ahub issue
authorhyeonseok lee <hs89.lee@samsung.com>
Mon, 18 Jul 2022 02:43:09 +0000 (11:43 +0900)
committerJijoong Moon <jijoong.moon@samsung.com>
Tue, 19 Jul 2022 11:28:03 +0000 (20:28 +0900)
 - Added try catch statement
 - Delete structually dead code

Signed-off-by: hyeonseok lee <hs89.lee@samsung.com>
Applications/VGG/jni/main.cpp
nntrainer/layers/common_properties.cpp
test/unittest/layers/unittest_layers_zoneout_lstmcell.cpp [new file with mode: 0644]

index 7b8e2f1f61c3a648d14b52e123652e1a7f6120dc..b57f2106e5a45042453ca71c8d130d380b36e39d 100644 (file)
@@ -106,43 +106,80 @@ int main(int argc, char *argv[]) {
 
   auto &[train_user_data, valid_user_data] = user_datas;
 
-  auto dataset_train = ml::train::createDataset(
-    ml::train::DatasetType::GENERATOR, trainData_cb, train_user_data.get());
-  auto dataset_valid = ml::train::createDataset(
-    ml::train::DatasetType::GENERATOR, validData_cb, valid_user_data.get());
+  std::unique_ptr<ml::train::Dataset> dataset_train;
+  try {
+    dataset_train = ml::train::createDataset(
+      ml::train::DatasetType::GENERATOR, trainData_cb, train_user_data.get());
+  } catch (const std::exception &e) {
+    std::cerr << "Error during create train dataset: " << e.what() << std::endl;
+    return 1;
+  }
+
+  std::unique_ptr<ml::train::Dataset> dataset_valid;
+  try {
+    dataset_valid = ml::train::createDataset(
+      ml::train::DatasetType::GENERATOR, validData_cb, valid_user_data.get());
+  } catch (const std::exception &e) {
+    std::cerr << "Error during create valid dataset: " << e.what() << std::endl;
+    return 1;
+  }
 
   /**
    * @brief     Neural Network Create & Initialization
    */
 
-  ModelHandle model = ml::train::createModel(ml::train::ModelType::NEURAL_NET);
+  ModelHandle model;
+  try {
+    model = ml::train::createModel(ml::train::ModelType::NEURAL_NET);
+  } catch (const std::exception &e) {
+    std::cerr << "Error during create model: " << e.what() << std::endl;
+    return 1;
+  }
 
   try {
     model->load(config, ml::train::ModelFormat::MODEL_FORMAT_INI);
-  } catch (...) {
-    std::cerr << "Error during loadFromConfig" << std::endl;
+  } catch (const std::exception &e) {
+    std::cerr << "Error during loadFromConfig: " << e.what() << std::endl;
     return 1;
   }
 
   try {
     model->compile();
+  } catch (const std::exception &e) {
+    std::cerr << "Error during compile: " << e.what() << std::endl;
+    return 1;
+  }
+
+  try {
     model->initialize();
-  } catch (...) {
-    std::cerr << "Error during init" << std::endl;
+  } catch (const std::exception &e) {
+    std::cerr << "Error during ininitialize: " << e.what() << std::endl;
     return 1;
   }
 
   try {
     model->setDataset(ml::train::DatasetModeType::MODE_TRAIN,
                       std::move(dataset_train));
+  } catch (const std::exception &e) {
+    std::cerr << "Error during set train dataset: " << e.what() << std::endl;
+    return 1;
+  }
+
+  try {
     model->setDataset(ml::train::DatasetModeType::MODE_VALID,
                       std::move(dataset_valid));
+  } catch (const std::exception &e) {
+    std::cerr << "Error during set valid dataset: " << e.what() << std::endl;
+    return 1;
+  }
+
+  try {
     model->train();
     training_loss = model->getTrainingLoss();
     validation_loss = model->getValidationLoss();
     last_batch_loss = model->getLoss();
-  } catch (...) {
-    std::cerr << "Error during train" << std::endl;
+  } catch (const std::exception &e) {
+    std::cerr << "Error during train: " << e.what() << std::endl;
     return 1;
   }
 
index ab87da227cf0211b8656a24f892e151c71818ef9..a9fb870347b12cfffab6b2cd5f889b689e8bf30a 100644 (file)
@@ -189,10 +189,8 @@ Padding2D::compute(const TensorDim &input, const TensorDim &kernel,
   case 4:
     return {paddings[0], paddings[1], paddings[2], paddings[3]};
   default:
-    throw std::logic_error("[padding] should not reach here");
+    throw std::logic_error("[Padding2D] should not reach here");
   }
-
-  throw std::logic_error("[padding] should not reach here");
 }
 
 bool Padding1D::isValid(const std::string &v) const {
diff --git a/test/unittest/layers/unittest_layers_zoneout_lstmcell.cpp b/test/unittest/layers/unittest_layers_zoneout_lstmcell.cpp
new file mode 100644 (file)
index 0000000..c7f8beb
--- /dev/null
@@ -0,0 +1,36 @@
+// SPDX-License-Identifier: Apache-2.0
+/**
+ * Copyright (C) 2022 Hyeonseok Lee <hs89.lee@samsung.com>
+ *
+ * @file unittest_layers_zoneout_lstmcell.cpp
+ * @date 14 June 2022
+ * @brief ZoneoutLSTMCell Layer Test
+ * @see        https://github.com/nnstreamer/nntrainer
+ * @author Hyeonseok Lee <hs89.lee@samsung.com>
+ * @bug No known bugs except for NYI items
+ */
+#include <tuple>
+
+#include <gtest/gtest.h>
+
+#include <layers_common_tests.h>
+#include <lstmcell.h>
+
+auto semantic_zoneout_lstmcell = LayerSemanticsParamType(
+  nntrainer::createLayer<nntrainer::LSTMCellLayer>,
+  nntrainer::LSTMCellLayer::type,
+  {"unit=1", "hidden_state_zoneout_rate=0.1", "cell_state_zoneout_rate=0.0"}, 0,
+  false, 3);
+
+INSTANTIATE_TEST_CASE_P(LSTMCell, LayerSemantics,
+                        ::testing::Values(semantic_zoneout_lstmcell));
+
+auto zoneout_lstmcell_single_step = LayerGoldenTestParamType(
+  nntrainer::createLayer<nntrainer::LSTMCellLayer>,
+  {"unit=5", "integrate_bias=true", "hidden_state_zoneout_rate=0.1",
+   "cell_state_zoneout_rate=0.0"},
+  "3:1:1:7,3:1:1:5,3:1:1:5", "zoneout_lstmcell_single_step.nnlayergolden",
+  LayerGoldenTestParamOptions::DEFAULT);
+
+INSTANTIATE_TEST_CASE_P(LSTMCell, LayerGoldenTest,
+                        ::testing::Values(zoneout_lstmcell_single_step));