AinShamsFlow
4th CSE Neural Networks Project.
Contents:
Project Description:
AinShamsFlow (asf) is a Deep Learning Framework built by our Team
from Ain Shams University during December 2020 - January 2021.
The Design and Interface is inspired heavily from Keras and TensorFlow.
However, we only implement everything from scratch using only simple libraries
such as numpy and matplotlib.
Project Structure:
The Design of all parts can be seen in the following UML Diagram.
This is how the Design Structure should work in our Framework.
Install:
You can install the latest available version as follows:
$ pip install ainshamsflow
Usage:
you start using this project by importing the package as follows:
>>> import ainshamsflow as asf
then you can start creating a model:
>>> model = asf.models.Sequential([
... asf.layers.Dense(300, activation="relu"),
... asf.layers.Dense(100, activation="relu"),
... asf.layers.Dense( 10, activation="softmax")
... ], input_shape=(784,), name="my_model")
>>> model.print_summary()
then compile and train the model:
>>> model.compile(
... optimizer=asf.optimizers.SGD(lr=0.01),
... loss='sparsecategoricalcrossentropy',
... metrics=['accuracy']
... )
>>> history = model.fit(X_train, y_train, epochs=100)
finally you can evaluate, predict and show training statistics:
>>> history.show()
>>> model.evaluate(X_valid, y_valid)
>>> y_pred = model.predict(X_test)
A more elaborate example usage can be found in main.py or check out this
demo notebook.
Team Members:
Todo:
Framework Design:
Example Usage:
This part can be found in the
demo notebook
mentioned above.
Change Log
0.1.0 (29/1/2021)