Babilim
An attepmt to make a keras like framework for pytorch and tensorflow.
Read the Documentation.
What is Babilim?
Babilim is a Deep Learning Framework designed for ease of use like Keras. The API is designed to be intuitive and easy while allowing for complex production or research models. On top of that babilim runs on top of Tensorflow 2 or Pytorch, whichever you prefer. Seamless integration with TF2 and Pytorch was a top priority.
Babilim is designed for:
- Intuitive usage,
- a unified development experience across pytorch and tf2,
- flexibility for research and robustness for production.
Install
Follow the official instructions here to install pytorch or here to install tensorflow 2.
# Stable Version
pip install babilim
# Bleeding Edge
pip install git+https://github.com/penguinmenac3/babilim.git
Selecting your Backend
Since babilim is designed for multiple backends (tensorflow 2 and pytorch), it gives you the choice which should be used. When your company/university uses one of the two frameworks you are fine to use or you can follow your personal preference for private projects.
import babilim
babilim.set_backend(babilim.PYTORCH_BACKEND)
# or
babilim.set_backend(babilim.TF_BACKEND)
Design Principles
Everything is attributed to one of three parts: Data, Model or Training. Some parts which are considered core functionality that is shared among them is in the core package.
- Data is concerned about loading and preprocessing the data for training, evaluation and deployment.
- Model is concerned with implementing the model. Everything required for the forward pass of the model is here.
- Training contains all required for training a model on data. This includes loss, metrics, optimizers and trainers.
Tutorials & Examples
Starting with tutorials is usually easiest. The tutorials do not focus on the shortest possible solution, but actually an overkill solution that shows as much as you would need to know for solving your own problem.
- Fashion MNIST in Babilim
- Fashion MNIST with native pytorch [TODO]
- Fashion MNIST with native tensorflow 2 [TODO]
Contributing
Currently there are no guidelines on how to contribute, so the best thing you can do is open up an issue and get in contact that way. In the issue we can discuss how you can implement your new feature or how to fix that nasty bug.
Why called babilim?
TL;DR Reference to Tower of Babel.
The Tower of Babel narrative in Genesis 11:1-9 is a myth about mankind building a tower that could reach into the heavens. However, the attempt gets set back and fails because they started speaking different languages and were no longer able to understand each other.
Luckily for AI development there are only two major frameworks which share nearly all market share. Babilim is an attempt to unite the two to talk in a language compatible with both.
Metadata
Release files for babilim 20201010
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| babilim-20201010.tar.gz | 57.0 kB | Without provenance | Details for babilim-20201010.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| babilim-20201010-py3-none-any.whl | Python 3 | none | any | Details for babilim-20201010-py3-none-any.whl |
Total release size: 141.8 kB
Release files / babilim-20201010.tar.gz
| Download URL | babilim-20201010.tar.gz |
|---|---|
| Size | 57.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e5d62e73e43cea755ddb178dd5bca32bb72fa616b575bc4e6eea12267671073
|
|
BLAKE2b-256 checksum How to use checksums |
f4368b02943ba52dfc8f2e03691d3460ea55a9d99ef77eb3c0f9af2eb53eab1a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.6
|
Release files / babilim-20201010-py3-none-any.whl
| Download URL | babilim-20201010-py3-none-any.whl |
|---|---|
| Size | 84.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a005cb43e19c004759eb1a43fe679869d6ddc8c1394f95a62cf8bcc5a8fe5d1a
|
|
BLAKE2b-256 checksum How to use checksums |
6226cb73d0f15135bd7b3b94455ce10d10055fbd31016e35467271b28c55f527
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.6
|
Security for babilim 20201010
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.