RNNFused

scalation.modeling.autograd.RNNFused
case class RNNFused(input: IndexedSeq[Variabl], hidden: Variabl, W_ih: Variabl, W_hh: Variabl, b_ih: Variabl, b_hh: Variabl, activation: String = ..., tbptt: Int = ...)(using ops: AutogradOps) extends Function

Fused RNN over a whole input sequence (vanilla RNN).

  • Unrolls the sequence in a single Function.
  • Returns the last hidden state as the output Variabl.
  • On backward (), performs full BPTT and accumulates parameter grads. Shapes: input(t): (B, I, 1) hidden: (B, H, 1) // initial hidden (h0) W_ih: (1, H, I) W_hh: (1, H, H) b_ih: (1, H, 1) b_hh: (1, H, 1)

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Function
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override def backward(gradOutput: TensorD): Unit

Performs the backward pass given the upstream gradient.

Performs the backward pass given the upstream gradient.

Value parameters

gradOutput

the gradient tensor from the next layer.

Attributes

Definition Classes
override def forward(): Variabl

Performs the forward pass to compute the output variable.

Performs the forward pass to compute the output variable.

Attributes

Returns

a Variabl containing the output data and gradient function.

Definition Classes
def forwardAll(): (IndexedSeq[Variabl], Variabl)

Forward pass: unroll the RNN through the entire sequence. Returns the last hidden state h_T as a Variabl (with gradFn = this).

Forward pass: unroll the RNN through the entire sequence. Returns the last hidden state h_T as a Variabl (with gradFn = this).

Attributes

def outputs: IndexedSeq[Variabl]

Inherited methods

def attributes: Map[String, String]

Map of attributes for visualization/debugging (default: empty).

Map of attributes for visualization/debugging (default: empty).

Attributes

Inherited from:
Function
def backpropForTwoInputs(v1: Variabl, v2: Variabl, gradOutput: TensorD, computeGrad1: TensorD => TensorD, computeGrad2: TensorD => TensorD): Unit

Backpropagates gradients for functions with two inputs.

Backpropagates gradients for functions with two inputs.

Value parameters

computeGrad1

function to compute the gradient for v1.

computeGrad2

function to compute the gradient for v2.

gradOutput

the upstream gradient tensor.

v1

the first input variable.

v2

the second input variable.

Attributes

Inherited from:
Function
def inputs: Seq[Variabl]

Returns the input variables to this Function. This works automatically for all case-class ops by iterating over their constructor fields and collecting those of type Variabl.

Returns the input variables to this Function. This works automatically for all case-class ops by iterating over their constructor fields and collecting those of type Variabl.

Attributes

See also
Inherited from:
Function
def opName: String

Human-readable name of this op (defaults to simple class name).

Human-readable name of this op (defaults to simple class name).

Attributes

Inherited from:
Function
def productElementNames: Iterator[String]

An iterator over the names of all the elements of this product.

An iterator over the names of all the elements of this product.

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

An iterator over all the elements of this product.

An iterator over all the elements of this product.

Attributes

Returns

in the default implementation, an Iterator[Any]

Inherited from:
Product
def unbroadcast(data: TensorD, oldShape: List[Int]): TensorD

Unbroadcasts a tensor to a given shape by summing across reduced dimensions.

Unbroadcasts a tensor to a given shape by summing across reduced dimensions.

Value parameters

data

the tensor data.

oldShape

the original shape.

Attributes

Returns

a TensorD with shape adjusted to oldShape.

Throws
Exception

if unbroadcasting is not feasible.

Inherited from:
Function
def unbroadcast(v: Variabl, oldShape: List[Int]): Variabl

Unbroadcasts a variable's tensor data to a specified old shape.

Unbroadcasts a variable's tensor data to a specified old shape.

Value parameters

oldShape

the target shape.

v

the variable to unbroadcast.

Attributes

Returns

a new Variabl with data unbroadcasted.

Inherited from:
Function

Inherited fields

val id: Int

Unique numeric ID for this Function node (for graph viz/debugging).

Unique numeric ID for this Function node (for graph viz/debugging).

Attributes

Inherited from:
Function