public class DSpatialConvolve2D_F64 extends DSpatialWindowImage<deepboof.tensors.Tensor_F64,DSpatialPadding2D_F64> implements DSpatialConvolve2D<deepboof.tensors.Tensor_F64>
DSpatialConvolve2D for Tensor_F64.
Local caches of the spatial tensor are used to reduce cache misses. The cache will contain a region across all of the tensor's channels that encompasses the region that a single convolution would interact with. In the backwards pass the local cache is written back into the derivative padded input tensor.
| Modifier and Type | Field and Description |
|---|---|
protected deepboof.tensors.Tensor_F64 |
bias |
protected double[] |
cachedDPadding |
protected double[] |
cachedPadded |
protected deepboof.tensors.Tensor_F64 |
dBias |
protected deepboof.tensors.Tensor_F64 |
dout |
protected deepboof.tensors.Tensor_F64 |
dWeights |
protected int |
F |
protected deepboof.tensors.Tensor_F64 |
weights |
dpadding, learningMode| Constructor and Description |
|---|
DSpatialConvolve2D_F64(deepboof.forward.ConfigConvolve2D config,
DSpatialPadding2D_F64 padding) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
_backwards(deepboof.tensors.Tensor_F64 input,
deepboof.tensors.Tensor_F64 dout,
deepboof.tensors.Tensor_F64 gradientInput,
java.util.List<deepboof.tensors.Tensor_F64> gradientParameters) |
void |
_forward(deepboof.tensors.Tensor_F64 input,
deepboof.tensors.Tensor_F64 output) |
void |
_initialize() |
void |
_setParameters(java.util.List<deepboof.tensors.Tensor_F64> parameters) |
protected void |
backwardsAt_border(DSpatialPadding2D_F64 padded,
int batch,
int padY,
int padX,
int outY,
int outX)
Applies the operations at the specified window and stores the results at the specified output
coordinate.
|
protected void |
backwardsAt_inner(deepboof.tensors.Tensor_F64 input,
int batch,
int inY,
int inX,
int outY,
int outX)
Applies the operations at the specified window and stores the results at the specified output
coordinate.
|
protected void |
forwardAt_border(DSpatialPadding2D_F64 padded,
int batch,
int padY,
int padX,
int outY,
int outX) |
protected void |
forwardAt_inner(deepboof.tensors.Tensor_F64 input,
int batch,
int inY,
int inX,
int outY,
int outX) |
deepboof.forward.ConfigConvolve2D |
getConfiguration() |
backwards, backwardsImage, evaluating, getTensorType, isLearning, learninggetPadding, innerLowerExtent, innerUpperExtent, isEntirelyBorderforward, getOutputShape, getParameters, getParameterShapes, initialize, setParametersclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitprotected int F
protected deepboof.tensors.Tensor_F64 weights
protected deepboof.tensors.Tensor_F64 bias
protected deepboof.tensors.Tensor_F64 dWeights
protected deepboof.tensors.Tensor_F64 dBias
protected deepboof.tensors.Tensor_F64 dout
protected double[] cachedPadded
protected double[] cachedDPadding
public DSpatialConvolve2D_F64(deepboof.forward.ConfigConvolve2D config,
DSpatialPadding2D_F64 padding)
public void _setParameters(java.util.List<deepboof.tensors.Tensor_F64> parameters)
_setParameters in class deepboof.impl.forward.standard.BaseFunction<deepboof.tensors.Tensor_F64>public void _initialize()
_initialize in class deepboof.impl.forward.standard.BaseSpatialWindow<deepboof.tensors.Tensor_F64,DSpatialPadding2D_F64>public void _forward(deepboof.tensors.Tensor_F64 input,
deepboof.tensors.Tensor_F64 output)
_forward in class deepboof.impl.forward.standard.BaseFunction<deepboof.tensors.Tensor_F64>protected void forwardAt_inner(deepboof.tensors.Tensor_F64 input,
int batch,
int inY,
int inX,
int outY,
int outX)
forwardAt_inner in class deepboof.impl.forward.standard.SpatialWindowImage<deepboof.tensors.Tensor_F64,DSpatialPadding2D_F64>protected void forwardAt_border(DSpatialPadding2D_F64 padded, int batch, int padY, int padX, int outY, int outX)
forwardAt_border in class deepboof.impl.forward.standard.SpatialWindowImage<deepboof.tensors.Tensor_F64,DSpatialPadding2D_F64>protected void _backwards(deepboof.tensors.Tensor_F64 input,
deepboof.tensors.Tensor_F64 dout,
deepboof.tensors.Tensor_F64 gradientInput,
java.util.List<deepboof.tensors.Tensor_F64> gradientParameters)
_backwards in class DSpatialWindowImage<deepboof.tensors.Tensor_F64,DSpatialPadding2D_F64>protected void backwardsAt_inner(deepboof.tensors.Tensor_F64 input,
int batch,
int inY,
int inX,
int outY,
int outX)
DSpatialWindowImagebackwardsAt_inner in class DSpatialWindowImage<deepboof.tensors.Tensor_F64,DSpatialPadding2D_F64>input - Input spatial tensorbatch - Index of input in mini-batch that is being processedinY - y-axis lower extent, in input coordinatesinX - x-axis lower extent, in input coordinatesoutY - y-axis output coordinatesoutX - x-axis output coordinatesprotected void backwardsAt_border(DSpatialPadding2D_F64 padded, int batch, int padY, int padX, int outY, int outX)
DSpatialWindowImagebackwardsAt_border in class DSpatialWindowImage<deepboof.tensors.Tensor_F64,DSpatialPadding2D_F64>padded - Padded input spatial virtual tensorbatch - Index of input in mini-batch that is being processedpadY - y-axis lower extent, inclusive. Padded coordinatespadX - x-axis lower extent, inclusive. Padded coordinatesoutY - y-axis output coordinatesoutX - x-axis output coordinatespublic deepboof.forward.ConfigConvolve2D getConfiguration()
getConfiguration in interface deepboof.forward.SpatialConvolve2D<deepboof.tensors.Tensor_F64>