Uses of Class
io.github.kirstenali.deepj.tensor.Tensor
Packages that use Tensor
Package
Description
-
Uses of Tensor in io.github.kirstenali.deepj.activations
Methods in io.github.kirstenali.deepj.activations that return TensorModifier and TypeMethodDescriptionMethods in io.github.kirstenali.deepj.activations with parameters of type TensorModifier and TypeMethodDescription -
Uses of Tensor in io.github.kirstenali.deepj.layers
Methods in io.github.kirstenali.deepj.layers that return TensorModifier and TypeMethodDescriptionMethods in io.github.kirstenali.deepj.layers with parameters of type Tensor -
Uses of Tensor in io.github.kirstenali.deepj.layers.transformer
Methods in io.github.kirstenali.deepj.layers.transformer that return TensorModifier and TypeMethodDescriptionMethods in io.github.kirstenali.deepj.layers.transformer with parameters of type Tensor -
Uses of Tensor in io.github.kirstenali.deepj.layers.transformer.attention
Methods in io.github.kirstenali.deepj.layers.transformer.attention that return TensorModifier and TypeMethodDescriptionprotected TensorMultiHeadSelfAttention.transformQueryKey(Tensor heads, int seqLen) Hook called on split-head Q and K tensors ([nHeads·seqLen × headDim]) before the scaled dot-product.protected TensorRoPEMultiHeadSelfAttention.transformQueryKey(Tensor heads, int seqLen) Applies RoPE rotation to Q or K heads in the forward pass.protected TensorMultiHeadSelfAttention.transformQueryKeyBackward(Tensor gradHeads, int seqLen) Inverse ofMultiHeadSelfAttention.transformQueryKey(io.github.kirstenali.deepj.tensor.Tensor, int), called on Q/K gradients in backward.protected TensorRoPEMultiHeadSelfAttention.transformQueryKeyBackward(Tensor gradHeads, int seqLen) Applies the inverse (transpose) RoPE rotation to Q/K gradients in the backward pass.Methods in io.github.kirstenali.deepj.layers.transformer.attention with parameters of type TensorModifier and TypeMethodDescriptionprotected TensorMultiHeadSelfAttention.transformQueryKey(Tensor heads, int seqLen) Hook called on split-head Q and K tensors ([nHeads·seqLen × headDim]) before the scaled dot-product.protected TensorRoPEMultiHeadSelfAttention.transformQueryKey(Tensor heads, int seqLen) Applies RoPE rotation to Q or K heads in the forward pass.protected TensorMultiHeadSelfAttention.transformQueryKeyBackward(Tensor gradHeads, int seqLen) Inverse ofMultiHeadSelfAttention.transformQueryKey(io.github.kirstenali.deepj.tensor.Tensor, int), called on Q/K gradients in backward.protected TensorRoPEMultiHeadSelfAttention.transformQueryKeyBackward(Tensor gradHeads, int seqLen) Applies the inverse (transpose) RoPE rotation to Q/K gradients in the backward pass. -
Uses of Tensor in io.github.kirstenali.deepj.layers.transformer.blocks
Methods in io.github.kirstenali.deepj.layers.transformer.blocks that return TensorModifier and TypeMethodDescriptionMethods in io.github.kirstenali.deepj.layers.transformer.blocks with parameters of type TensorModifier and TypeMethodDescription -
Uses of Tensor in io.github.kirstenali.deepj.layers.transformer.norm
Methods in io.github.kirstenali.deepj.layers.transformer.norm that return TensorModifier and TypeMethodDescriptionMethods in io.github.kirstenali.deepj.layers.transformer.norm with parameters of type Tensor -
Uses of Tensor in io.github.kirstenali.deepj.loss
Methods in io.github.kirstenali.deepj.loss that return TensorModifier and TypeMethodDescriptionstatic TensorCrossEntropyLoss.fromIntTargets(int[] targets) Builds a [n x 1] Tensor from int[] targets.static TensorConvenience helper: gradient w.r.t. logits, averaged over rows.Methods in io.github.kirstenali.deepj.loss with parameters of type TensorModifier and TypeMethodDescriptionstatic TensorConvenience helper: gradient w.r.t. logits, averaged over rows.static floatConvenience helper: compute loss from logits and int targets.floatfloatfloatstatic int[]CrossEntropyLoss.toIntTargets(Tensor actual) Converts a [n x 1] Tensor of class indices into an int[]. -
Uses of Tensor in io.github.kirstenali.deepj.models
Methods in io.github.kirstenali.deepj.models that return TensorModifier and TypeMethodDescriptionprotected TensorDecoderOnlyModel.embed(int[] inputIds) Maps input ids to the initial hidden state.CausalLM.forward(int[] inputIds) Maps token ids to logits[seqLen × vocabSize].DecoderOnlyModel.forward(int[] inputIds) Methods in io.github.kirstenali.deepj.models with parameters of type TensorModifier and TypeMethodDescriptionvoidBack-propagates gradient of the logits through the model.voidprotected voidDecoderOnlyModel.backwardEmbeddings(Tensor g) Back-propagates gradient into embedding layer(s).Method parameters in io.github.kirstenali.deepj.models with type arguments of type TensorModifier and TypeMethodDescriptionstatic StringTextGenerator.generate(Function<int[], Tensor> forwarder, int maxSeqLen, Tokenizer tok, String prompt, int maxNewTokens, float temperature, int topK, long seed) Generate text with an explicitmaxSeqLen— useful when no config is available.static StringTextGenerator.generate(Function<int[], Tensor> forwarder, TransformerConfig cfg, Tokenizer tok, String prompt, int maxNewTokens, float temperature, int topK, long seed) Generate text using any model that mapsint[] ids → [seqLen × vocabSize]logits. -
Uses of Tensor in io.github.kirstenali.deepj.models.gpt
Methods in io.github.kirstenali.deepj.models.gpt that return TensorMethods in io.github.kirstenali.deepj.models.gpt with parameters of type Tensor -
Uses of Tensor in io.github.kirstenali.deepj.optimisers
Fields in io.github.kirstenali.deepj.optimisers declared as TensorConstructors in io.github.kirstenali.deepj.optimisers with parameters of type Tensor -
Uses of Tensor in io.github.kirstenali.deepj.tensor
Methods in io.github.kirstenali.deepj.tensor that return TensorModifier and TypeMethodDescriptionTensor.addBroadcastCols(Tensor colVector) TensorBackend.addBroadcastCols(Tensor a, Tensor colVector) Tensor.addBroadcastRows(Tensor rowVector) TensorBackend.addBroadcastRows(Tensor a, Tensor rowVector) Tensor.addInPlace(Tensor b) Tensor.addRowVector(Tensor rowVector) TensorBackend.addRowVector(Tensor a, Tensor rowVector) Tensor.addScalar(float s) Tensor.addScalarInPlace(float s) static TensorTensor.causalMask(int size) Tensor.clamp(float min, float max) ComputeGraph.createOutputTensor(GpuBuffer buf) Create a Tensor backed by a GpuBuffer.Tensor.crossEntropyGradient(int[] targets) TensorBackend.crossEntropyGradient(Tensor logits, int[] targets) Tensor.divideBroadcastCols(Tensor colVector) TensorBackend.divideBroadcastCols(Tensor a, Tensor colVector) Tensor.divideInPlace(Tensor b) Tensor.divideScalar(float s) TensorBackend.divideScalar(Tensor a, float scalar) Tensor.divideScalarInPlace(float s) Tensor.exp()Tensor.expInPlace()static TensorTensor.from2D(float[][] data) Build a tensor from 2-D row-major data.static TensorTensorAdapters.fromIntColumn(int[] values) Build a [n x 1] tensor from integer ids (stored as float values).Tensor.geluActivation()Tensor.geluBackward(Tensor gradOutput) TensorBackend.geluBackward(Tensor input, Tensor gradOutput) Tensor.geluInPlace()Tensor.getRow(int row) static TensorTensor.layerNormBackward(Tensor dXHat, Tensor xHat, Tensor std, int dim) TensorBackend.layerNormBackward(Tensor dXHat, Tensor xHat, Tensor std, int dim) LayerNorm backward through normalization (given dXHat, xHat, std).Tensor.log()Tensor.logInPlace()Tensor.maxAlongRows()TensorBackend.maxAlongRows(Tensor a) Tensor.meanAlongRows()TensorBackend.meanAlongRows(Tensor a) Tensor.multiplyBroadcastCols(Tensor colVector) TensorBackend.multiplyBroadcastCols(Tensor a, Tensor colVector) Tensor.multiplyBroadcastRows(Tensor rowVector) TensorBackend.multiplyBroadcastRows(Tensor a, Tensor rowVector) Tensor.multiplyInPlace(Tensor b) Tensor.multiplyScalar(float s) TensorBackend.multiplyScalar(Tensor a, float scalar) Tensor.multiplyScalarInPlace(float s) Tensor.neg()Tensor.negInPlace()static TensorTensor.ones(int rows, int cols) Tensor.pow(float exponent) static TensorTensor.reluActivation()Tensor.reluBackward(Tensor gradOutput) TensorBackend.reluBackward(Tensor input, Tensor gradOutput) Tensor.reluInPlace()static TensorTensor.sampleRows(Tensor t, int n, Random rnd) Tensor.sigmoidActivation()Tensor.sigmoidInPlace()static TensorTensor.softmaxBackward(Tensor softmaxOut) TensorBackend.softmaxBackward(Tensor gradOutput, Tensor softmaxOut) Tensor.softmaxRows()TensorBackend.softmaxRows(Tensor logits) Tensor.sqrt()Tensor.sqrtInPlace()Tensor.subtractBroadcastCols(Tensor colVector) TensorBackend.subtractBroadcastCols(Tensor a, Tensor colVector) Tensor.subtractInPlace(Tensor b) Tensor.sumAlongCols()TensorBackend.sumAlongCols(Tensor a) Tensor.sumAlongRows()TensorBackend.sumAlongRows(Tensor a) Tensor.sumRows()Tensor.tanhActivation()Tensor.tanhInPlace()Tensor.transpose()static TensorTensorAdapters.unpackF32(float[] flat, int rows, int cols) Unpack a flat float32 array into a new Tensor.Tensor.varianceAlongRows()TensorBackend.varianceAlongRows(Tensor a) static TensorTensor.zeros(int rows, int cols) Methods in io.github.kirstenali.deepj.tensor with parameters of type TensorModifier and TypeMethodDescriptionstatic voidTensor.adamWUpdate(Tensor w, Tensor g, Tensor mt, Tensor vt, float lr, float beta1, float beta2, float eps, float weightDecay, float bc1, float bc2) voidTensorBackend.adamWUpdate(Tensor w, Tensor g, Tensor mt, Tensor vt, float lr, float beta1, float beta2, float eps, float weightDecay, float bc1, float bc2) In-place AdamW update.Tensor.addBroadcastCols(Tensor colVector) TensorBackend.addBroadcastCols(Tensor a, Tensor colVector) Tensor.addBroadcastRows(Tensor rowVector) TensorBackend.addBroadcastRows(Tensor a, Tensor rowVector) Tensor.addInPlace(Tensor b) voidTensorBackend.addInPlace(Tensor a, Tensor b) Tensor.addRowVector(Tensor rowVector) TensorBackend.addRowVector(Tensor a, Tensor rowVector) voidTensorBackend.addScalarInPlace(Tensor a, float s) voidComputeGraph.bindTensorToBuffer(Tensor t, GpuBuffer buf) Rebind an existing tensor to a GPU buffer and track ownership for lifecycle management.TensorBackend.crossEntropyGradient(Tensor logits, int[] targets) floatTensorBackend.crossEntropyLoss(Tensor logits, int[] targets) Tensor.divideBroadcastCols(Tensor colVector) TensorBackend.divideBroadcastCols(Tensor a, Tensor colVector) Tensor.divideInPlace(Tensor b) voidTensorBackend.divideInPlace(Tensor a, Tensor b) TensorBackend.divideScalar(Tensor a, float scalar) voidTensorBackend.divideScalarInPlace(Tensor a, float s) ComputeGraph.ensureGpuBuffer(Tensor t) Ensure a tensor has a GpuBuffer.voidTensorBackend.expInPlace(Tensor a) Tensor.geluBackward(Tensor gradOutput) TensorBackend.geluBackward(Tensor input, Tensor gradOutput) voidTensorBackend.geluInPlace(Tensor a) static TensorTensor.layerNormBackward(Tensor dXHat, Tensor xHat, Tensor std, int dim) TensorBackend.layerNormBackward(Tensor dXHat, Tensor xHat, Tensor std, int dim) LayerNorm backward through normalization (given dXHat, xHat, std).voidTensorBackend.logInPlace(Tensor a) voidComputeGraph.materialize(Tensor t) Materialize a tensor: flush pending ops if needed, then download GPU data to CPU.default voidTensorBackend.materializeTensor(Tensor t) Materialize a tensor: flush any pending GPU computation and download the result to the tensor's CPU data[].TensorBackend.maxAlongRows(Tensor a) TensorBackend.meanAlongRows(Tensor a) Tensor.multiplyBroadcastCols(Tensor colVector) TensorBackend.multiplyBroadcastCols(Tensor a, Tensor colVector) Tensor.multiplyBroadcastRows(Tensor rowVector) TensorBackend.multiplyBroadcastRows(Tensor a, Tensor rowVector) Tensor.multiplyInPlace(Tensor b) voidTensorBackend.multiplyInPlace(Tensor a, Tensor b) TensorBackend.multiplyScalar(Tensor a, float scalar) voidTensorBackend.multiplyScalarInPlace(Tensor a, float s) voidTensorBackend.negInPlace(Tensor a) static float[]Pack a Tensor's data into a flat float32 array (row-major).Tensor.reluBackward(Tensor gradOutput) TensorBackend.reluBackward(Tensor input, Tensor gradOutput) voidTensorBackend.reluInPlace(Tensor a) static voidTensor.requireSameShape(Tensor a, Tensor b, String op) static voidTensor.requireTargetsMatchRows(Tensor logits, int[] targets) static TensorTensor.sampleRows(Tensor t, int n, Random rnd) static voidTensor.scatterAddRows(Tensor target, int[] indices, Tensor grad) voidTensorBackend.scatterAddRows(Tensor target, int[] indices, Tensor grad) voidvoidTensorBackend.sigmoidInPlace(Tensor a) static TensorTensor.softmaxBackward(Tensor softmaxOut) TensorBackend.softmaxBackward(Tensor gradOutput, Tensor softmaxOut) TensorBackend.softmaxRows(Tensor logits) voidTensorBackend.sqrtInPlace(Tensor a) Tensor.subtractBroadcastCols(Tensor colVector) TensorBackend.subtractBroadcastCols(Tensor a, Tensor colVector) Tensor.subtractInPlace(Tensor b) voidTensorBackend.subtractInPlace(Tensor a, Tensor b) floatfloatTensorBackend.sumAlongCols(Tensor a) TensorBackend.sumAlongRows(Tensor a) voidTensorBackend.tanhInPlace(Tensor a) static voidTensorAdapters.unpackF32Into(float[] flat, Tensor t) Unpack a flat float32 array into an existing tensor's data[].TensorBackend.varianceAlongRows(Tensor a) Constructors in io.github.kirstenali.deepj.tensor with parameters of type Tensor -
Uses of Tensor in io.github.kirstenali.deepj.tensor.cpu
Methods in io.github.kirstenali.deepj.tensor.cpu that return TensorModifier and TypeMethodDescriptionCpuBackend.addBroadcastCols(Tensor a, Tensor cv) CpuBackend.addBroadcastRows(Tensor a, Tensor rv) CpuBackend.addRowVector(Tensor a, Tensor rv) CpuBackend.causalMask(int size) CpuBackend.crossEntropyGradient(Tensor logits, int[] targets) CpuBackend.divideBroadcastCols(Tensor a, Tensor cv) CpuBackend.divideScalar(Tensor a, float s) CpuBackend.geluBackward(Tensor input, Tensor gradOutput) CpuBackend.layerNormBackward(Tensor dXHat, Tensor xHat, Tensor std, int dim) CpuBackend.maxAlongRows(Tensor a) CpuBackend.meanAlongRows(Tensor a) CpuBackend.multiplyBroadcastCols(Tensor a, Tensor cv) CpuBackend.multiplyBroadcastRows(Tensor a, Tensor rv) CpuBackend.multiplyScalar(Tensor a, float s) CpuBackend.ones(int rows, int cols) CpuBackend.reluBackward(Tensor input, Tensor gradOutput) CpuBackend.sampleRows(Tensor t, int n, Random rnd) CpuBackend.softmaxBackward(Tensor gradOutput, Tensor softmaxOut) CpuBackend.softmaxRows(Tensor logits) CpuBackend.subtractBroadcastCols(Tensor a, Tensor cv) CpuBackend.sumAlongCols(Tensor a) CpuBackend.sumAlongRows(Tensor a) CpuBackend.varianceAlongRows(Tensor a) CpuBackend.zeros(int rows, int cols) Methods in io.github.kirstenali.deepj.tensor.cpu with parameters of type TensorModifier and TypeMethodDescriptionvoidCpuBackend.adamWUpdate(Tensor w, Tensor g, Tensor mt, Tensor vt, float lr, float beta1, float beta2, float eps, float weightDecay, float bc1, float bc2) CpuBackend.addBroadcastCols(Tensor a, Tensor cv) CpuBackend.addBroadcastRows(Tensor a, Tensor rv) voidCpuBackend.addInPlace(Tensor a, Tensor b) CpuBackend.addRowVector(Tensor a, Tensor rv) voidCpuBackend.addScalarInPlace(Tensor a, float s) CpuBackend.crossEntropyGradient(Tensor logits, int[] targets) floatCpuBackend.crossEntropyLoss(Tensor logits, int[] targets) CpuBackend.divideBroadcastCols(Tensor a, Tensor cv) voidCpuBackend.divideInPlace(Tensor a, Tensor b) CpuBackend.divideScalar(Tensor a, float s) voidCpuBackend.divideScalarInPlace(Tensor a, float s) voidCpuBackend.expInPlace(Tensor a) CpuBackend.geluBackward(Tensor input, Tensor gradOutput) voidCpuBackend.geluInPlace(Tensor a) floatCpuBackend.layerNormBackward(Tensor dXHat, Tensor xHat, Tensor std, int dim) voidCpuBackend.logInPlace(Tensor a) CpuBackend.maxAlongRows(Tensor a) CpuBackend.meanAlongRows(Tensor a) CpuBackend.multiplyBroadcastCols(Tensor a, Tensor cv) CpuBackend.multiplyBroadcastRows(Tensor a, Tensor rv) voidCpuBackend.multiplyInPlace(Tensor a, Tensor b) CpuBackend.multiplyScalar(Tensor a, float s) voidCpuBackend.multiplyScalarInPlace(Tensor a, float s) voidCpuBackend.negInPlace(Tensor a) voidCpuBackend.reluBackward(Tensor input, Tensor gradOutput) voidCpuBackend.reluInPlace(Tensor a) CpuBackend.sampleRows(Tensor t, int n, Random rnd) voidCpuBackend.scatterAddRows(Tensor target, int[] indices, Tensor grad) voidvoidvoidCpuBackend.sigmoidInPlace(Tensor a) CpuBackend.softmaxBackward(Tensor gradOutput, Tensor softmaxOut) CpuBackend.softmaxRows(Tensor logits) voidCpuBackend.sqrtInPlace(Tensor a) CpuBackend.subtractBroadcastCols(Tensor a, Tensor cv) voidCpuBackend.subtractInPlace(Tensor a, Tensor b) floatfloatCpuBackend.sumAlongCols(Tensor a) CpuBackend.sumAlongRows(Tensor a) voidCpuBackend.tanhInPlace(Tensor a) CpuBackend.varianceAlongRows(Tensor a) -
Uses of Tensor in io.github.kirstenali.deepj.tensor.metal
Methods in io.github.kirstenali.deepj.tensor.metal that return TensorModifier and TypeMethodDescriptionMetalBackend.addBroadcastCols(Tensor a, Tensor v) MetalBackend.addBroadcastRows(Tensor a, Tensor v) MetalBackend.addRowVector(Tensor a, Tensor v) MetalBackend.crossEntropyGradient(Tensor logits, int[] targets) MetalBackend.divideBroadcastCols(Tensor a, Tensor v) MetalBackend.divideScalar(Tensor a, float scalar) MetalBackend.geluBackward(Tensor input, Tensor gradOutput) MetalBackend.layerNormBackward(Tensor dXHat, Tensor xHat, Tensor std, int dim) MetalBackend.maxAlongRows(Tensor a) MetalBackend.meanAlongRows(Tensor a) MetalBackend.multiplyBroadcastCols(Tensor a, Tensor v) MetalBackend.multiplyBroadcastRows(Tensor a, Tensor v) MetalBackend.multiplyScalar(Tensor a, float scalar) MetalBackend.reluBackward(Tensor input, Tensor gradOutput) MetalBackend.softmaxBackward(Tensor gradOutput, Tensor softmaxOut) MetalBackend.softmaxRows(Tensor logits) MetalBackend.subtractBroadcastCols(Tensor a, Tensor v) MetalBackend.sumAlongCols(Tensor a) MetalBackend.sumAlongRows(Tensor a) MetalBackend.varianceAlongRows(Tensor a) Methods in io.github.kirstenali.deepj.tensor.metal with parameters of type TensorModifier and TypeMethodDescriptionvoidMetalBackend.adamWUpdate(Tensor w, Tensor g, Tensor mt, Tensor vt, float lr, float beta1, float beta2, float eps, float weightDecay, float bc1, float bc2) MetalBackend.addBroadcastCols(Tensor a, Tensor v) MetalBackend.addBroadcastRows(Tensor a, Tensor v) voidMetalBackend.addInPlace(Tensor a, Tensor b) MetalBackend.addRowVector(Tensor a, Tensor v) voidMetalBackend.addScalarInPlace(Tensor a, float s) MetalBackend.crossEntropyGradient(Tensor logits, int[] targets) floatMetalBackend.crossEntropyLoss(Tensor logits, int[] targets) MetalBackend.divideBroadcastCols(Tensor a, Tensor v) voidMetalBackend.divideInPlace(Tensor a, Tensor b) MetalBackend.divideScalar(Tensor a, float scalar) voidMetalBackend.divideScalarInPlace(Tensor a, float s) voidMetalBackend.expInPlace(Tensor a) MetalBackend.geluBackward(Tensor input, Tensor gradOutput) voidMetalBackend.geluInPlace(Tensor a) MetalBackend.layerNormBackward(Tensor dXHat, Tensor xHat, Tensor std, int dim) voidMetalBackend.logInPlace(Tensor a) voidMetalBackend.materializeTensor(Tensor t) MetalBackend.maxAlongRows(Tensor a) MetalBackend.meanAlongRows(Tensor a) MetalBackend.multiplyBroadcastCols(Tensor a, Tensor v) MetalBackend.multiplyBroadcastRows(Tensor a, Tensor v) voidMetalBackend.multiplyInPlace(Tensor a, Tensor b) MetalBackend.multiplyScalar(Tensor a, float scalar) voidMetalBackend.multiplyScalarInPlace(Tensor a, float s) voidMetalBackend.negInPlace(Tensor a) MetalBackend.reluBackward(Tensor input, Tensor gradOutput) voidMetalBackend.reluInPlace(Tensor a) voidMetalBackend.scatterAddRows(Tensor target, int[] indices, Tensor grad) voidMetalBackend.sigmoidInPlace(Tensor a) MetalBackend.softmaxBackward(Tensor gradOutput, Tensor softmaxOut) MetalBackend.softmaxRows(Tensor logits) voidMetalBackend.sqrtInPlace(Tensor a) MetalBackend.subtractBroadcastCols(Tensor a, Tensor v) voidMetalBackend.subtractInPlace(Tensor a, Tensor b) floatfloatMetalBackend.sumAlongCols(Tensor a) MetalBackend.sumAlongRows(Tensor a) voidMetalBackend.tanhInPlace(Tensor a) MetalBackend.varianceAlongRows(Tensor a) -
Uses of Tensor in io.github.kirstenali.deepj.training
Methods in io.github.kirstenali.deepj.training with parameters of type TensorModifier and TypeMethodDescriptionstatic TrainerSupervisedTraining.trainer(Layer model, LossFunction lossFn, ParameterOptimizer opt, Tensor xAll, Tensor yAll, long seed) -
Uses of Tensor in io.github.kirstenali.deepj.transformer
Methods in io.github.kirstenali.deepj.transformer that return TensorModifier and TypeMethodDescriptionMethods in io.github.kirstenali.deepj.transformer with parameters of type Tensor -
Uses of Tensor in io.github.kirstenali.deepj.transformer.embeddings
Methods in io.github.kirstenali.deepj.transformer.embeddings that return TensorModifier and TypeMethodDescriptionApply rotary embeddings to a split-head tensor (forward direction).RotaryEmbedding.applyBackward(Tensor t, int seqLen, int nHeads) Apply the transpose (inverse) rotation — used in the backward pass.Embedding.forward(int[] ids) PositionalEmbedding.forward(int seqLen) Methods in io.github.kirstenali.deepj.transformer.embeddings with parameters of type TensorModifier and TypeMethodDescriptionApply rotary embeddings to a split-head tensor (forward direction).RotaryEmbedding.applyBackward(Tensor t, int seqLen, int nHeads) Apply the transpose (inverse) rotation — used in the backward pass.voidvoid