pub struct ILoopOutputLayer { /* private fields */ }Expand description
ILoopOutputLayer
An ILoopOutputLayer is the sole way to get output from a loop.
The first input tensor must be defined inside the loop; the output tensor is outside the loop. The second input tensor, if present, must be defined outside the loop.
If getLoopOutput() is kLAST_VALUE, a single input must be provided, and that input must be from an IRecurrenceLayer in the same loop.
If getLoopOutput() is kCONCATENATE or kREVERSE, a second input must be provided. The second input must be a 0D shape tensor, defined before the loop commences, that specifies the concatenation length of the output.
The output tensor has j more dimensions than the input tensor, where j == 0 if getLoopOutput() is kLAST_VALUE j == 1 if getLoopOutput() is kCONCATENATE or kREVERSE.
Implementations§
Source§impl ILoopOutputLayer
impl ILoopOutputLayer
Sourcepub fn getLoopOutput(self: &ILoopOutputLayer) -> LoopOutput
pub fn getLoopOutput(self: &ILoopOutputLayer) -> LoopOutput
Get which kind a loop output has.
Sourcepub fn setAxis(self: Pin<&mut ILoopOutputLayer>, axis: i32)
pub fn setAxis(self: Pin<&mut ILoopOutputLayer>, axis: i32)
Set where to insert the contenation axis. Ignored if getLoopOutput() is kLAST_VALUE.
For example, if the input tensor has dimensions [b,c,d], and getLoopOutput() is kCONCATENATE, the output has four dimensions. Let a be the value of the second input. setAxis(0) causes the output to have dimensions [a,b,c,d]. setAxis(1) causes the output to have dimensions [b,a,c,d]. setAxis(2) causes the output to have dimensions [b,c,a,d]. setAxis(3) causes the output to have dimensions [b,c,d,a]. Default is axis is 0.
Sourcepub fn getAxis(self: &ILoopOutputLayer) -> i32
pub fn getAxis(self: &ILoopOutputLayer) -> i32
Get axis being concatenated over.