[MachineLearning.Train] Remove SetHandle and Modify constructor of Layer class
authorHyunil <hyunil46.park@samsung.com>
Wed, 13 Jul 2022 06:50:23 +0000 (15:50 +0900)
committerJijoong Moon <jijoong.moon@samsung.com>
Tue, 23 Aug 2022 05:50:26 +0000 (14:50 +0900)
- Remove SetHandle
- Modify internal layer constructor

Signed-off-by: Hyunil <hyunil46.park@samsung.com>
src/Tizen.MachineLearning.Train/Tizen.MachineLearning.Train/Layer.cs
src/Tizen.MachineLearning.Train/Tizen.MachineLearning.Train/Model.cs

index 518da43..f166bc9 100644 (file)
@@ -24,9 +24,9 @@ namespace Tizen.MachineLearning.Train
     /// </summary>
     /// <remarks>
     /// Use this function to create neural network layer.
-    /// If the function succeeds, layer must be released using Disposed(), if not added to a model.
+    /// If the function succeeds, layer must be released using Dispose(), if not added to a model.
     /// If added to a model by AddLayer method of Model, layer is available until the model is released. so
-    /// Disposed() must never be used.
+    /// Dispose() must never be used.
     /// </remarks>
     /// <since_tizen> 10 </since_tizen>
     public class Layer: IDisposable
@@ -35,7 +35,7 @@ namespace Tizen.MachineLearning.Train
         private bool disposed = false;
 
         /// if true, model will be destroy layer handle
-        private bool notDestroy = false;
+        private bool hasOwnership = false;
 
         /// <summary>
         /// Creates a neural network layer.
@@ -49,9 +49,10 @@ namespace Tizen.MachineLearning.Train
             Log.Info(NNTrainer.Tag, $"Create layer with type:{type}");
         }
 
-        internal Layer(bool createdByModel)
+        internal Layer(IntPtr handle, bool hasOwnership)
         {
-            notDestroy = createdByModel;
+            this.handle = handle;
+            this.hasOwnership = hasOwnership;
         }
 
         /// <summary>
@@ -90,7 +91,7 @@ namespace Tizen.MachineLearning.Train
                 // release managed object
             }
             // release unmanaged object
-            if (handle != IntPtr.Zero && !notDestroy)
+            if (handle != IntPtr.Zero && !hasOwnership)
             {
                 // Destroy the neural network layer.
                 NNTrainerError ret = Interop.Layer.Destroy(handle);
@@ -127,10 +128,5 @@ namespace Tizen.MachineLearning.Train
         {
             return handle;
         }
-
-        internal void SetHandle(IntPtr layerHandle)
-        {
-            handle = layerHandle;
-        }
     } 
 }
index 62dfa30..1d2df85 100644 (file)
@@ -266,7 +266,7 @@ namespace Tizen.MachineLearning.Train
         /// The returned layer must not be deleted as it is owned by the model.
         /// layerName can be set by SetProperty method of Layer.
         /// Returned layer instance is different with same layerName, but the
-        /// Internal native layer handle is same.
+        /// Internally native layer handle is same.
         /// </remarks>
         /// <param name="layerName"> Name of the already created layer.</param>
         /// <returns>layer instance</returns>
@@ -280,9 +280,8 @@ namespace Tizen.MachineLearning.Train
             NNTrainerError ret = Interop.Model.GetLayer(handle, layerName, out layerHandle);
             NNTrainer.CheckException(ret, "Failed to get layer");
 
-            Layer layer = new Layer(true);
-            layer.SetHandle(layerHandle);
-
+            Layer layer = new Layer(layerHandle, true);
+    
             return layer;
         }