from .entity import Entity, EntityParams, TrainingParams

class Layer:
	def __init__(self, name: str, shape: tuple[int, int, int, int], entity_params: EntityParams, training_params: TrainingParams):
		self.name = name
		self.shape = shape
		self.entity = Entity((shape[0]*shape[1]+shape[2], shape[3]), entity_params, training_params)
		self.training_params = training_params

	def init(self, std: float):
		self.entity.state.init(mu=0, std=std)

	def save(self, filename: str = None):
		self.entity.state.save(filename)

	def load(self, filename: str = None):
		self.entity.state.load(filename)




