All Downloads are FREE. Search and download functionalities are using the official Maven repository.

deepnetts.net.layers.Layer Maven / Gradle / Ivy

Go to download

Deep Learning Engine in pure Java. Base for reference implementation of JSR381

The newest version!
/**
 *  DeepNetts is pure Java Deep Learning Library with support for Backpropagation
 *  based learning and image recognition.
 *
 *  Copyright (C) 2017  Zoran Sevarac 
 *
 * This file is part of DeepNetts.
 *
 * DeepNetts is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 *
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
 * Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program. If not, see .package
 * deepnetts.core;
 */

package deepnetts.net.layers;

import deepnetts.util.Tensor;

/**
 * Common base interface for all types of neural network layers.
 * Layer is a basic building block of a neural network, and neural network
 * typically consists of a sequence of layers.
 *
 * @see AbstractLayer
 * @author Zoran Sevarac
 */
public interface Layer {

    /**
     * Performs layer calculation in forward pass of a neural network.
     */
    public void forward();

    /**
     * Performs weight parameters adjustment in backward pass during training of a neural network.
     */
    public void backward();

    /**
     * Returns layer outputs (as a tensor).
     * @return layer outputs tensor
     */
    public Tensor getOutputs();

    /**
     * Returns layer deltas (as a tensor).
     * Deltas are accumulated errors propagated from the next layer.
     * @return layer deltas tensor
     */
    public Tensor getDeltas();


//    public Tensor getWeights();

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy