public class SpaceToDepth extends AbstractLayer<SpaceToDepthLayer>
This operation takes 4D array in, in either NCHW or NHWC format, and moves data from spatial dimensions (HW) to channels (C) for given blockSize
Example: blockSize = 4 dataFormat = "NCHW" input shape = [128, 16, 16, 3] output shape = [128, 16/4, 16/4, 3*4*4]Layer.TrainingMode, Layer.Type
cacheMode, conf, dropoutApplied, dropoutMask, epochCount, index, input, iterationCount, maskArray, maskState, preOutput, trainingListeners
Constructor and Description |
---|
SpaceToDepth(NeuralNetConfiguration conf) |
SpaceToDepth(NeuralNetConfiguration conf,
org.nd4j.linalg.api.ndarray.INDArray input) |
Modifier and Type | Method and Description |
---|---|
void |
accumulateScore(double accum)
Sets a rolling tally for the score.
|
org.nd4j.linalg.api.ndarray.INDArray |
activate(boolean training,
LayerWorkspaceMgr workspaceMgr)
Perform forward pass and return the activations array with the last set input
|
org.nd4j.linalg.primitives.Pair<Gradient,org.nd4j.linalg.api.ndarray.INDArray> |
backpropGradient(org.nd4j.linalg.api.ndarray.INDArray epsilon,
LayerWorkspaceMgr workspaceMgr)
Calculate the gradient relative to the error in the next layer
|
double |
calcL1(boolean backpropParamsOnly)
Calculate the l1 regularization term
0.0 if regularization is not used. |
double |
calcL2(boolean backpropParamsOnly)
Calculate the l2 regularization term
0.0 if regularization is not used. |
void |
clearNoiseWeightParams() |
Layer |
clone()
Clone the layer
|
org.nd4j.linalg.api.ndarray.INDArray |
getParam(String param)
Get the parameter
|
Gradient |
gradient()
Get the gradient.
|
boolean |
isPretrainLayer()
Returns true if the layer can be trained in an unsupervised/pretrain manner (AE, VAE, etc)
|
int |
numParams()
The number of parameters for the model
|
org.nd4j.linalg.api.ndarray.INDArray |
params()
Returns the parameters of the neural network as a flattened row vector
|
protected org.nd4j.linalg.api.ndarray.INDArray |
preOutput(boolean training,
boolean forBackprop,
LayerWorkspaceMgr workspaceMgr) |
double |
score()
The score for the model
|
void |
setParams(org.nd4j.linalg.api.ndarray.INDArray params)
Set the parameters for this model.
|
Layer |
transpose()
Return a transposed copy of the weights/bias
(this means reverse the number of inputs and outputs on the weights)
|
Layer.Type |
type()
Returns the layer type
|
void |
update(org.nd4j.linalg.api.ndarray.INDArray gradient,
String paramType)
Perform one update applying the gradient
|
activate, addListeners, applyConstraints, applyDropOutIfNecessary, applyMask, assertInputSet, batchSize, clear, computeGradientAndScore, conf, feedForwardMaskArray, fit, fit, getGradientsViewArray, getIndex, getInput, getInputMiniBatchSize, getListeners, getMaskArray, getOptimizer, gradientAndScore, init, initParams, input, layerConf, layerId, numParams, paramTable, paramTable, setBackpropGradientsViewArray, setCacheMode, setConf, setIndex, setInput, setInputMiniBatchSize, setListeners, setListeners, setMaskArray, setParam, setParams, setParamsViewArray, setParamTable, update, validateInput
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getEpochCount, getIterationCount, setEpochCount, setIterationCount
public SpaceToDepth(NeuralNetConfiguration conf)
public SpaceToDepth(NeuralNetConfiguration conf, org.nd4j.linalg.api.ndarray.INDArray input)
public Layer.Type type()
Layer
type
in interface Layer
type
in class AbstractLayer<SpaceToDepthLayer>
public org.nd4j.linalg.primitives.Pair<Gradient,org.nd4j.linalg.api.ndarray.INDArray> backpropGradient(org.nd4j.linalg.api.ndarray.INDArray epsilon, LayerWorkspaceMgr workspaceMgr)
Layer
epsilon
- w^(L+1)*delta^(L+1). Or, equiv: dC/da, i.e., (dC/dz)*(dz/da) = dC/da, where C
is cost function a=sigma(z) is activation.workspaceMgr
- Workspace managerArrayType.ACTIVATION_GRAD
workspace via the workspace managerprotected org.nd4j.linalg.api.ndarray.INDArray preOutput(boolean training, boolean forBackprop, LayerWorkspaceMgr workspaceMgr)
public org.nd4j.linalg.api.ndarray.INDArray activate(boolean training, LayerWorkspaceMgr workspaceMgr)
Layer
training
- training or test modeworkspaceMgr
- Workspace managerArrayType.ACTIVATIONS
workspace via the workspace managerpublic double calcL2(boolean backpropParamsOnly)
Layer
calcL2
in interface Layer
calcL2
in class AbstractLayer<SpaceToDepthLayer>
backpropParamsOnly
- If true: calculate L2 based on backprop params only. If false: calculate
based on all params (including pretrain params, if any)public double calcL1(boolean backpropParamsOnly)
Layer
calcL1
in interface Layer
calcL1
in class AbstractLayer<SpaceToDepthLayer>
backpropParamsOnly
- If true: calculate L1 based on backprop params only. If false: calculate
based on all params (including pretrain params, if any)public Layer transpose()
Layer
transpose
in interface Layer
transpose
in class AbstractLayer<SpaceToDepthLayer>
public Layer clone()
Layer
clone
in interface Layer
clone
in class AbstractLayer<SpaceToDepthLayer>
public boolean isPretrainLayer()
Layer
public void clearNoiseWeightParams()
public Gradient gradient()
Model
Model#computeGradientAndScore()
.gradient
in interface Model
gradient
in class AbstractLayer<SpaceToDepthLayer>
public int numParams()
AbstractLayer
numParams
in interface Model
numParams
in class AbstractLayer<SpaceToDepthLayer>
public double score()
Model
score
in interface Model
score
in class AbstractLayer<SpaceToDepthLayer>
public void accumulateScore(double accum)
Model
accumulateScore
in interface Model
accumulateScore
in class AbstractLayer<SpaceToDepthLayer>
accum
- the amount to accumpublic void update(org.nd4j.linalg.api.ndarray.INDArray gradient, String paramType)
Model
update
in interface Model
update
in class AbstractLayer<SpaceToDepthLayer>
gradient
- the gradient to applypublic org.nd4j.linalg.api.ndarray.INDArray params()
AbstractLayer
params
in interface Model
params
in class AbstractLayer<SpaceToDepthLayer>
public org.nd4j.linalg.api.ndarray.INDArray getParam(String param)
Model
getParam
in interface Model
getParam
in class AbstractLayer<SpaceToDepthLayer>
param
- the key of the parameterpublic void setParams(org.nd4j.linalg.api.ndarray.INDArray params)
Model
setParams
in interface Model
setParams
in class AbstractLayer<SpaceToDepthLayer>
params
- the parameters for the modelCopyright © 2018. All rights reserved.