Search in sources :

Example 6 with ActivationLayer

use of com.simiacryptus.mindseye.layers.cudnn.ActivationLayer in project MindsEye by SimiaCryptus.

the class VGG16_HDF5 method addConvolutionLayer.

/**
 * Add convolution layer.
 *
 * @param radius         the radius
 * @param inputBands     the input bands
 * @param outputBands    the output bands
 * @param activationMode the activation mode
 * @param hdf_group      the hdf group
 */
protected void addConvolutionLayer(final int radius, final int inputBands, final int outputBands, final ActivationLayer.Mode activationMode, final String hdf_group) {
    add(new ConvolutionLayer(radius, radius, inputBands, outputBands).setPaddingXY(0, 0).setAndFree(hdf5.readDataSet("param_0", hdf_group).permuteDimensionsAndFree(convolutionOrder)));
    add(new ImgBandBiasLayer(outputBands).setAndFree((hdf5.readDataSet("param_1", hdf_group))));
    add(new ActivationLayer(activationMode));
}
Also used : ImgBandBiasLayer(com.simiacryptus.mindseye.layers.cudnn.ImgBandBiasLayer) SoftmaxActivationLayer(com.simiacryptus.mindseye.layers.cudnn.SoftmaxActivationLayer) ActivationLayer(com.simiacryptus.mindseye.layers.cudnn.ActivationLayer) ConvolutionLayer(com.simiacryptus.mindseye.layers.cudnn.ConvolutionLayer)

Example 7 with ActivationLayer

use of com.simiacryptus.mindseye.layers.cudnn.ActivationLayer in project MindsEye by SimiaCryptus.

the class VGG16_HDF5 method phase2b.

/**
 * Phase 2 b.
 */
protected void phase2b() {
    if (large) {
        add(new ImgModulusPaddingLayer(7, 7));
    } else {
        add(new ImgModulusPaddingLayer(-7, -7));
    }
    if (dense) {
        add(new ConvolutionLayer(7, 7, 512, 4096).setStrideXY(1, 1).setPaddingXY(0, 0).setAndFree(hdf5.readDataSet("param_0", "layer_32").reshapeCast(7, 7, 512, 4096).permuteDimensionsAndFree(0, 1, 3, 2)));
    } else {
        add(new ImgModulusPaddingLayer(7, 7));
        add(new ImgReshapeLayer(7, 7, false));
        add(new ConvolutionLayer(1, 1, 25088, 4096).setPaddingXY(0, 0).setAndFree(hdf5.readDataSet("param_0", "layer_32").permuteDimensionsAndFree(fullyconnectedOrder)));
    }
    add(new ImgBandBiasLayer(4096).setAndFree((hdf5.readDataSet("param_1", "layer_32"))));
    add(new ActivationLayer(ActivationLayer.Mode.RELU));
}
Also used : ImgReshapeLayer(com.simiacryptus.mindseye.layers.java.ImgReshapeLayer) ImgBandBiasLayer(com.simiacryptus.mindseye.layers.cudnn.ImgBandBiasLayer) SoftmaxActivationLayer(com.simiacryptus.mindseye.layers.cudnn.SoftmaxActivationLayer) ActivationLayer(com.simiacryptus.mindseye.layers.cudnn.ActivationLayer) ImgModulusPaddingLayer(com.simiacryptus.mindseye.layers.cudnn.ImgModulusPaddingLayer) ConvolutionLayer(com.simiacryptus.mindseye.layers.cudnn.ConvolutionLayer)

Example 8 with ActivationLayer

use of com.simiacryptus.mindseye.layers.cudnn.ActivationLayer in project MindsEye by SimiaCryptus.

the class VGG19_HDF5 method phase2b.

/**
 * Phase 2 b.
 */
protected void phase2b() {
    if (large) {
        add(new ImgModulusPaddingLayer(7, 7));
    } else {
        add(new ImgModulusPaddingLayer(-7, -7));
    }
    if (dense) {
        add(new ConvolutionLayer(7, 7, 512, 4096).setStrideXY(1, 1).setPaddingXY(0, 0).setAndFree(hdf5.readDataSet("param_0", "layer_38").reshapeCast(7, 7, 512, 4096).permuteDimensionsAndFree(0, 1, 3, 2)));
    } else {
        add(new ImgModulusPaddingLayer(7, 7));
        add(new ImgReshapeLayer(7, 7, false));
        add(new ConvolutionLayer(1, 1, 25088, 4096).setPaddingXY(0, 0).setAndFree(hdf5.readDataSet("param_0", "layer_38").permuteDimensionsAndFree(fullyconnectedOrder)));
    }
    add(new ImgBandBiasLayer(4096).setAndFree((hdf5.readDataSet("param_1", "layer_38"))));
    add(new ActivationLayer(ActivationLayer.Mode.RELU));
}
Also used : ImgReshapeLayer(com.simiacryptus.mindseye.layers.java.ImgReshapeLayer) ImgBandBiasLayer(com.simiacryptus.mindseye.layers.cudnn.ImgBandBiasLayer) SoftmaxActivationLayer(com.simiacryptus.mindseye.layers.cudnn.SoftmaxActivationLayer) ActivationLayer(com.simiacryptus.mindseye.layers.cudnn.ActivationLayer) ImgModulusPaddingLayer(com.simiacryptus.mindseye.layers.cudnn.ImgModulusPaddingLayer) ConvolutionLayer(com.simiacryptus.mindseye.layers.cudnn.ConvolutionLayer)

Example 9 with ActivationLayer

use of com.simiacryptus.mindseye.layers.cudnn.ActivationLayer in project MindsEye by SimiaCryptus.

the class VGG19_HDF5 method addConvolutionLayer.

/**
 * Add convolution layer.
 *
 * @param radius         the radius
 * @param inputBands     the input bands
 * @param outputBands    the output bands
 * @param activationMode the activation mode
 * @param hdf_group      the hdf group
 */
protected void addConvolutionLayer(final int radius, final int inputBands, final int outputBands, final ActivationLayer.Mode activationMode, final String hdf_group) {
    add(new ConvolutionLayer(radius, radius, inputBands, outputBands).setPaddingXY(0, 0).setAndFree(hdf5.readDataSet("param_0", hdf_group).permuteDimensionsAndFree(convolutionOrder)));
    add(new ImgBandBiasLayer(outputBands).setAndFree((hdf5.readDataSet("param_1", hdf_group))));
    add(new ActivationLayer(activationMode));
}
Also used : ImgBandBiasLayer(com.simiacryptus.mindseye.layers.cudnn.ImgBandBiasLayer) SoftmaxActivationLayer(com.simiacryptus.mindseye.layers.cudnn.SoftmaxActivationLayer) ActivationLayer(com.simiacryptus.mindseye.layers.cudnn.ActivationLayer) ConvolutionLayer(com.simiacryptus.mindseye.layers.cudnn.ConvolutionLayer)

Example 10 with ActivationLayer

use of com.simiacryptus.mindseye.layers.cudnn.ActivationLayer in project MindsEye by SimiaCryptus.

the class VGG19_HDF5 method phase3a.

/**
 * Phase 3 a.
 */
protected void phase3a() {
    add(new ConvolutionLayer(1, 1, 4096, 4096).setPaddingXY(0, 0).setAndFree(hdf5.readDataSet("param_0", "layer_40").permuteDimensionsAndFree(fullyconnectedOrder)));
    add(new ImgBandBiasLayer(4096).setAndFree((hdf5.readDataSet("param_1", "layer_40"))));
    add(new ActivationLayer(ActivationLayer.Mode.RELU));
    add(new ConvolutionLayer(1, 1, 4096, 1000).setPaddingXY(0, 0).setAndFree(hdf5.readDataSet("param_0", "layer_42").permuteDimensionsAndFree(fullyconnectedOrder)));
    add(new ImgBandBiasLayer(1000).setAndFree((hdf5.readDataSet("param_1", "layer_42"))));
}
Also used : ImgBandBiasLayer(com.simiacryptus.mindseye.layers.cudnn.ImgBandBiasLayer) SoftmaxActivationLayer(com.simiacryptus.mindseye.layers.cudnn.SoftmaxActivationLayer) ActivationLayer(com.simiacryptus.mindseye.layers.cudnn.ActivationLayer) ConvolutionLayer(com.simiacryptus.mindseye.layers.cudnn.ConvolutionLayer)

Aggregations

ActivationLayer (com.simiacryptus.mindseye.layers.cudnn.ActivationLayer)10 ConvolutionLayer (com.simiacryptus.mindseye.layers.cudnn.ConvolutionLayer)7 ImgBandBiasLayer (com.simiacryptus.mindseye.layers.cudnn.ImgBandBiasLayer)7 SoftmaxActivationLayer (com.simiacryptus.mindseye.layers.cudnn.SoftmaxActivationLayer)6 PipelineNetwork (com.simiacryptus.mindseye.network.PipelineNetwork)4 Nonnull (javax.annotation.Nonnull)4 LinearActivationLayer (com.simiacryptus.mindseye.layers.java.LinearActivationLayer)3 ArrayTrainable (com.simiacryptus.mindseye.eval.ArrayTrainable)2 Trainable (com.simiacryptus.mindseye.eval.Trainable)2 Tensor (com.simiacryptus.mindseye.lang.Tensor)2 ImgModulusPaddingLayer (com.simiacryptus.mindseye.layers.cudnn.ImgModulusPaddingLayer)2 ImgReshapeLayer (com.simiacryptus.mindseye.layers.java.ImgReshapeLayer)2 IterativeTrainer (com.simiacryptus.mindseye.opt.IterativeTrainer)2 ArmijoWolfeSearch (com.simiacryptus.mindseye.opt.line.ArmijoWolfeSearch)2 QQN (com.simiacryptus.mindseye.opt.orient.QQN)2 StepRecord (com.simiacryptus.mindseye.test.StepRecord)2 ArrayList (java.util.ArrayList)2 PoolingLayer (com.simiacryptus.mindseye.layers.cudnn.PoolingLayer)1 SquareActivationLayer (com.simiacryptus.mindseye.layers.cudnn.SquareActivationLayer)1 BiasLayer (com.simiacryptus.mindseye.layers.java.BiasLayer)1