[manager] Separate backwarding -> grad, deriv
authorJihoon Lee <jhoon.it.lee@samsung.com>
Thu, 13 Jan 2022 15:27:00 +0000 (00:27 +0900)
committerJijoong Moon <jijoong.moon@samsung.com>
Wed, 19 Jan 2022 10:51:43 +0000 (19:51 +0900)
This patch separate backwaring to grad and deriv for the requestTensors

**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>
nntrainer/tensor/manager.cpp

index e210c41b20613fd0abc053859a986dee7f3dc119..56ba148bf701a149b62821fe469c1d21455693ba 100644 (file)
@@ -20,7 +20,6 @@
 #ifdef DEBUG
 #include <cassert>
 #endif
-
 #include <fcntl.h>
 #include <functional>
 #include <limits>
@@ -429,16 +428,16 @@ Manager::requestTensors(const GraphNode &node,
     std::vector<unsigned int> grad_exec_order;
 
     /** usage for tensors */
-    if (enum_class_logical_and<TensorLifespan>(
-          tspan, TensorLifespan::FORWARD_FUNC_LIFESPAN))
+    if (enum_class_logical_and(tspan, TensorLifespan::FORWARD_FUNC_LIFESPAN))
       var_exec_order.push_back(forwarding_order);
 
     /** usage for tensors gradient in backwarding */
-    if (enum_class_logical_and<TensorLifespan>(
-          tspan, TensorLifespan::BACKWARD_FUNC_LIFESPAN)) {
+    if (enum_class_logical_and(tspan, TensorLifespan::CALC_GRAD_LIFESPAN)) {
       var_exec_order.push_back(calcGradient_order);
       grad_exec_order.push_back(calcGradient_order);
+    }
 
+    if (enum_class_logical_and(tspan, TensorLifespan::CALC_DERIV_LIFESPAN)) {
       var_exec_order.push_back(calcDerivative_order);
       grad_exec_order.push_back(calcDerivative_order);
     }