Newer
Older
import numpy as np
from .module import Module
class Sequential(Module):
"""
a list for layers to be called in sequence
incorporates the forward and backward pass
"""
__slots__ = []
def __init__(self, layers: list = None) -> None:
super().__init__(layers)
def forward(self, input: np.ndarray) -> np.ndarray:
"""
calls all layers sequentially
"""
for layer in self:
input = layer(input)
return input
def backward(self, gradient: np.ndarray) -> np.ndarray:
"""
calls all layers sequentially in reverse
"""
for layer in reversed(self):
gradient = layer.backward(gradient)
return gradient