AntiNex python client for training and using pre-trained deep neural networks with JWT authentication
APACHE-2.0 License
Python API Client for training deep neural networks with the REST API running
https://github.com/jay-johnson/train-ai-with-django-swagger-jwt
.. image:: https://travis-ci.org/jay-johnson/antinex-client.svg?branch=master :target: https://travis-ci.org/jay-johnson/antinex-client
.. image:: https://readthedocs.org/projects/antinex-client/badge/?version=latest :target: http://antinex-client.readthedocs.io/en/latest/?badge=latest
pip install antinex-client
AntiNex client is part of the AntiNex stack:
.. list-table:: :header-rows: 1
REST API <https://github.com/jay-johnson/train-ai-with-django-swagger-jwt>
__Docs <http://antinex.readthedocs.io/en/latest/>
__Core Worker <https://github.com/jay-johnson/antinex-core>
__Docs <http://antinex-core-worker.readthedocs.io/en/latest/>
__Network Pipeline <https://github.com/jay-johnson/network-pipeline>
__Docs <http://antinex-network-pipeline.readthedocs.io/en/latest/>
__AI Utils <https://github.com/jay-johnson/antinex-utils>
__Docs <http://antinex-ai-utilities.readthedocs.io/en/latest/>
__Client <https://github.com/jay-johnson/antinex-client>
__Docs <http://antinex-client.readthedocs.io/en/latest/>
__These examples use the default user root
with password 123321
. It is advised to change this to your own user in the future.
::
ai -u root -p 123321 -f examples/predict-rows-scaler-django-simple.json
Please make sure the datasets are available to the REST API, Celery worker, and AntiNex Core worker. The datasets are already included in the docker container ai-core
provided in the default compose.yml
file:
If you're running outside docker make sure to clone the repo with:
::
git clone https://github.com/jay-johnson/antinex-datasets.git /opt/antinex/antinex-datasets
Please wait as this will take a few minutes to return and convert the predictions to a pandas DataFrame.
::
ai -u root -p 123321 -f examples/scaler-full-django-antinex-simple.json
...
[30200 rows x 72 columns]
The AntiNex Core
_ manages pre-trained deep neural networks in memory. These can be used with the REST API by adding the "publish_to_core": true
to a request while running with the REST API compose.yml
_ docker containers running.
Run:
::
ai -u root -p 123321 -f examples/publish-to-core-scaler-full-django.json
Here is the diff between requests that will run using a pre-trained model and one that will train a new neural network:
::
antinex-client$ diff examples/publish-to-core-scaler-full-django.json examples/scaler-full-django-antinex-simple.json
5d4
< "publish_to_core": true,
antinex-client$
.. _AntiNex Core: https://github.com/jay-johnson/antinex-core .. _REST API compose.yml: https://github.com/jay-johnson/train-ai-with-django-swagger-jwt/blob/master/compose.yml
::
ai_prepare_dataset.py -u root -p 123321 -f examples/prepare-new-dataset.json
Get a user's MLJob record by setting: -i <MLJob.id>
This include the model json or model description for the Keras DNN.
::
ai_get_job.py -u root -p 123321 -i 4
Get a user's MLJobResult record by setting: -i <MLJobResult.id>
This includes predictions from the training or prediction job.
::
ai_get_results.py -u root -p 123321 -i 4
Get a user's MLPrepare record by setting: -i <MLPrepare.id>
::
ai_get_prepared_dataset.py -u root -p 123321 -i 15
This is how the Network Pipeline
_ streams data to the AntiNex Core
_ to make predictions with pre-trained models.
Export the example environment file:
::
source examples/example-prediction.env
Run the client prediction stream script
::
ai_env_predict.py -f examples/predict-rows-scaler-full-django.json
.. _Network Pipeline: https://github.com/jay-johnson/network-pipeline .. _AntiNex Core: https://github.com/jay-johnson/antinex-core
::
virtualenv -p python3 ~/.venvs/antinexclient && source ~/.venvs/antinexclient/bin/activate && pip install -e .
Run all
::
python setup.py test
flake8 .
pycodestyle .
Apache 2.0 - Please refer to the LICENSE_ for more details
.. _License: https://github.com/jay-johnson/antinex-client/blob/master/LICENSE