Class ConvolutionalNetwork

All Implemented Interfaces:
TrainerProvider<BackpropagationTrainer>, Serializable, AutoCloseable

public class ConvolutionalNetwork extends NeuralNetwork<BackpropagationTrainer> implements Serializable
Convolutional neural network is an extension of feed forward network, which can include 2D and 3D adaptive preprocessing layers (Convolutional and MaxPooling layer), which is specialized to learn to recognize features in images. Images are fed as 3-dimensional tensors (multidimensional arrays). Although primary used for images, they can also be applied to other types of problems.
Author:
Zoran Sevarac
See Also:
  • Method Details

    • setInput

      public void setInput(TensorBase input)
      Description copied from class: NeuralNetwork
      Sets network input and calculates entire network (triggers forward pass).
      Overrides:
      setInput in class NeuralNetwork<BackpropagationTrainer>
      Parameters:
      input - input tensor
    • builder

      public static ConvolutionalNetwork.Builder builder()
      Returns a builder for the ConvolutionalNetwork
      Returns:
      builder instance
    • getWeights

      public List<TensorBase> getWeights()
      Returns weights from all layers in this network as a list of tensors.
      Returns:
      all network's weights
    • setWeights

      public void setWeights(List<String> weights)
      Sets network's weights for all layers.
      Parameters:
      weights - List of weights for all layers.
    • getDeltaWeights

      public List<TensorBase> getDeltaWeights()
      Returns delta weights for all layers. Delta weights are weight changes calculated during the training procedure. Useful for debugging
      Returns:
    • getLayersOutputs

      public List<TensorBase> getLayersOutputs()
      Returns outputs of all layers. Useful for debugging
      Returns:
    • getLayersGradients

      public List<TensorBase> getLayersGradients()