zae-engine is a modular package that consolidates popular deep learning frameworks like PyTorch, TensorFlow, and Flax.
It aims to standardize every step of AI projects, reduce repetitive code, and accelerate data science workflows.
Additionally, it enhances code simplicity and flexibility, making it easier to manage and maintain complex deep learning projects.
- Improves code readability by organizing commonly used boilerplate code.
- Reduces errors by abstracting away complex engineering tasks handled by
zae-engine. - Decouples data science from advanced engineering with minimal code modifications (e.g., CPU, Apple Silicon, CUDA support, and multi-GPU transition).
- Generalizes various implementations for greater flexibility.
- Maintains all flexibility (similar to how
LightningModulesare still PyTorch modules) while removing repetitive boilerplate code. - Simplifies expansion with easy checkpoint saving, logging, and other extensions.
- Integrates dozens of useful and effective models, layers, and tools.
| Feature | Description | Details |
|---|---|---|
| Data | Provides Dataset for special formats (e.g., parquet for large-scale data processing) and CollateBase class for modular data preprocessing |
[README] |
| Loss | Provides popular loss functions for angles, size, area, etc. | [README] |
| Metrics | Provides popular evaluation metrics for aggregation, signal, area, etc. | [README] |
| Models | Provides builders for various deep learning models, implementation of popular models, and dim_converter for model dimensionality conversion |
[README] |
| NN_night | Provides various deep learning layers and blocks | [README-blocks] [README-layers] |
| Operation | Provides post-processing and transformations based on algorithms | [README] |
| Schedulers | Provides modular learning rate management with SchedulerBase and popular learning rate schedulers |
[README] |
| Trainer | Provides Trainer to manage training instances and add-on features for advanced engineering such as state management and distributed training |
[README] |
- PyTorch
- TensorFlow
- Flax
After installation, the zae command can be used in the terminal to access the following features:
zae hello: Verify successful installationzae example: Create an example script file zae_example.pyzae tree: Print the supported classes and functions within the package
pip install zae-engine
# or
git+https://github.com/zae-park/zae-engine.gitpoetry add zae-engine
# or
git+https://github.com/zae-park/zae-engine.gitThis project is licensed under the Apache License 2.0.
