[DllImport(Libraries.Nntrainer, EntryPoint = "ml_train_model_get_layer")]
public static extern NNTrainerError GetLayer(IntPtr modelHandle, string layerName, out IntPtr layer);
+ /* int ml_train_model_set_optimizer(ml_train_model_h model, ml_train_optimizer_h optimizer) */
+ [DllImport(Libraries.Nntrainer, EntryPoint = "ml_train_model_set_optimizer")]
+ public static extern NNTrainerError SetOptimizer(IntPtr modelHandle, IntPtr optimizerHandle);
+
+
}
}
if (layer == null)
NNTrainer.CheckException(NNTrainerError.InvalidParameter, "layer instance is null");
NNTrainerError ret = Interop.Model.AddLayer(handle, layer.GetHandle());
- NNTrainer.CheckException(ret, "Failed to compile model");
+ NNTrainer.CheckException(ret, "Failed to add layer");
Log.Info("MLT", $"AddLayer:\n{layer.GetHandle()}");
}
NNTrainerError ret = Interop.Model.GetLayer(handle, layerName, out layerHandle);
NNTrainer.CheckException(ret, "Failed to get layer");
}
+ /// <summary>
+ /// Sets the optimizer for the neural network model.
+ /// </summary>
+ /// <remarks>
+ /// Use this function to set neural network optimizer. This transfers
+ /// the ownership of the optimizer to the network. No need to destroy the
+ /// optimizer if it is to a model.
+ /// </remarks>
+ /// <param name="optimizer"> The instance of Optimizer class </param>
+ /// <since_tizen> 10 </since_tizen>
+ public void SetOptimizer(Optimizer optimizer)
+ {
+ if (optimizer == null)
+ NNTrainer.CheckException(NNTrainerError.InvalidOperation, "optimizer instance is null");
+ NNTrainerError ret = Interop.Model.SetOptimizer(handle, optimizer.GetHandle());
+ NNTrainer.CheckException(ret, "Failed to set optimizer");
+ }
}
}