As we plan to add more layers (e.g., CNN, Transformer), utilities, and datasets, the amount of code in each single file is becoming increasingly large.
This makes the implementation harder to read, maintain, and extend.
To improve code organization and scalability, it would be better to split the implementation into multiple modules.
For example, the layer-related implementations could be organized as follows:
layers/
├─ layer.py
├─ rnn.py
├─ cnn.py
└─ transformer.py