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 <pk.kapoor@samsung.com>
/** model classes can call private methods which arent exposed to public */
friend class NeuralNetwork;
- friend class ModelLoader;
friend class NetworkGraph;
public:
*/
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
*/
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