[Graph] set trainable only if trainable
authorJihoon Lee <jhoon.it.lee@samsung.com>
Wed, 22 Dec 2021 07:17:53 +0000 (16:17 +0900)
committerJijoong Moon <jijoong.moon@samsung.com>
Wed, 22 Dec 2021 09:57:55 +0000 (18:57 +0900)
This patch fixes bug that needsCalcGradient is set true when it
shouldn't be

**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/graph/network_graph.cpp

index f1f034f..36cc112 100644 (file)
@@ -223,7 +223,9 @@ void NetworkGraph::markNodesForBackwarding() {
     if (lnode->getTrainable() ||
         must_support_backwarding.find(lnode->getName()) !=
           must_support_backwarding.end()) {
-      lnode->needsCalcGradient(true);
+      if (lnode->getTrainable()) {
+        lnode->needsCalcGradient(true);
+      }
 #ifdef ENABLE_TEST
       if (lnode->supportBackwarding() && !optimize_memory) {
         lnode->needsCalcDerivative(true);