DifferentiableTensorOps

Contract for providing adjoint (backward) rules for differentiable operations. This interface is generated based on @Diff annotations in TensorOps.

Functions

Link copied to clipboard
abstract fun absBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'abs'

Link copied to clipboard
abstract fun addBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'add'

Link copied to clipboard
abstract fun addScalarBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'addScalar'

Link copied to clipboard
abstract fun avgPool2dBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'avgPool2d'

Link copied to clipboard
abstract fun clampBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'clamp'

Link copied to clipboard
abstract fun concatBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'concat'

Link copied to clipboard
abstract fun conv1dBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'conv1d'

Link copied to clipboard
abstract fun conv2dBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'conv2d'

Link copied to clipboard
abstract fun conv3dBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'conv3d'

Link copied to clipboard
abstract fun divideBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'divide'

Link copied to clipboard
abstract fun divScalarBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'divScalar'

Link copied to clipboard
abstract fun eluBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'elu'

Link copied to clipboard
abstract fun flattenBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'flatten'

Link copied to clipboard
abstract fun geluBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'gelu'

Link copied to clipboard
abstract fun leakyReluBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'leakyRelu'

Link copied to clipboard
abstract fun logSoftmaxBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'logSoftmax'

Link copied to clipboard
abstract fun matmulBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'matmul'

Link copied to clipboard
abstract fun maxPool2dBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'maxPool2d'

Link copied to clipboard
abstract fun meanBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'mean'

Link copied to clipboard
abstract fun mulScalarBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'mulScalar'

Link copied to clipboard
abstract fun multiplyBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'multiply'

Link copied to clipboard
abstract fun narrowBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'narrow'

Link copied to clipboard
abstract fun pad2dBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'pad2d'

Link copied to clipboard
abstract fun rdivScalarBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'rdivScalar'

Link copied to clipboard
abstract fun reluBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'relu'

Link copied to clipboard
abstract fun reshapeBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'reshape'

Link copied to clipboard
abstract fun rsubScalarBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'rsubScalar'

Link copied to clipboard
abstract fun sigmoidBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'sigmoid'

Link copied to clipboard
abstract fun siluBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'silu'

Link copied to clipboard
abstract fun softmaxBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'softmax'

Link copied to clipboard
abstract fun splitBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'split'

Link copied to clipboard
abstract fun sqrtBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'sqrt'

Link copied to clipboard
abstract fun squeezeBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'squeeze'

Link copied to clipboard
abstract fun subScalarBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'subScalar'

Link copied to clipboard
abstract fun subtractBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'subtract'

Link copied to clipboard
abstract fun sumBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'sum'

Link copied to clipboard
abstract fun transposeBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'transpose'

Link copied to clipboard
abstract fun unsqueezeBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'unsqueeze'

Link copied to clipboard
abstract fun upsample2dBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'upsample2d'

Link copied to clipboard
abstract fun varianceBackward(upstream: Tensor<T, V>, output: Tensor<T, V>, inputs: List<Tensor<T, V>>, attributes: Map<String, Any?>): List<Tensor<T, V>?>

Adjoint rule for 'variance'