From 468a0b42c2aa616f948525a8eb056b171e66193b Mon Sep 17 00:00:00 2001 From: Parichay Kapoor Date: Fri, 12 Mar 2021 22:09:11 +0900 Subject: [PATCH] [all] remove friends Remove friendship between classes as it makes extending the interface difficult. Some friendships exist which will be removed in upcoming PRs. See Also #986 Signed-off-by: Parichay Kapoor --- nntrainer/layers/layer_internal.h | 1 - nntrainer/optimizers/optimizer_internal.h | 4 ---- nntrainer/tensor/weight.h | 11 ----------- 3 files changed, 16 deletions(-) diff --git a/nntrainer/layers/layer_internal.h b/nntrainer/layers/layer_internal.h index 7de0c4d..3fb41aa 100644 --- a/nntrainer/layers/layer_internal.h +++ b/nntrainer/layers/layer_internal.h @@ -56,7 +56,6 @@ class Layer : public ml::train::Layer { /** model classes can call private methods which arent exposed to public */ friend class NeuralNetwork; - friend class ModelLoader; friend class NetworkGraph; public: diff --git a/nntrainer/optimizers/optimizer_internal.h b/nntrainer/optimizers/optimizer_internal.h index aa0a482..25d45ce 100644 --- a/nntrainer/optimizers/optimizer_internal.h +++ b/nntrainer/optimizers/optimizer_internal.h @@ -36,10 +36,6 @@ namespace nntrainer { */ class Optimizer : public ml::train::Optimizer { - /** Allow layer to initialize optimizer with itself */ - friend class Layer; - friend class NeuralNetwork; - public: /** * @brief Default Constructor of Optimizer Class diff --git a/nntrainer/tensor/weight.h b/nntrainer/tensor/weight.h index bd7a63d..a5cd09b 100644 --- a/nntrainer/tensor/weight.h +++ b/nntrainer/tensor/weight.h @@ -49,17 +49,6 @@ enum class WeightInitializer { */ class Weight : public Var_Grad { - /** Declare layers as friend to get variable/gradient reference */ - friend class Layer; - friend class Conv2DLayer; - friend class FullyConnectedLayer; - friend class BatchNormalizationLayer; - - /** Declare opitmizer as friend to get variable/gradient reference */ - friend class Optimizer; - friend class SGD; - friend class Adam; - public: /** * @brief Weight default constructor -- 2.7.4