Skip to main content

Agent for Neural Network training supervision

Project description

AFS

N|Solid

Build Status

AFS is a Python based library, that helps Deep / Machine Learning specialists to track their models during training without accessing server, and getting notifications full of their desired information via beloved Social Media platforms.

N|Solid

PROS

  • Built as lightweight as possible
  • Takes 14 arguments, therefore users can check almost everything while their model is training
  • Back-End is built on Flask framework, and open-sourced. You can contribute to implement more Social Media platforms' APIs.

TODO

  • Finish working on Back-End for Facebook Messenger.

Used Frameworks & Libraries

AFS is built totally on Python technology.

Installation

Python 3.6+ required to use.

Get the package from PyPi

$ pip install AFS

Usage

Import the AFS and reach 'teller' function. Define the AFS.teller function inside the training loop, and pass the arguments.

$ import AFS as afs
$ afs.teller(arg1, arg2)

Then, reach uID function, and pass the 'yes' string, that will basically create unique id for you, by which you'll then verify your session with the chatbot.

$ afs.uID("yes")

After the execution of the training loop, this line will print unique ID for you that is generated super randomly to minimize the similarities.

It'll look like this:

$ Your unique ID is ---  231409296064663:68137457840134:27374860406350

Copy the unique ID, and text the AFS bot the plain text to verify your session. And, it's all done.

Arguments

  $iteration argument is for counting iterations. type = number.

  $distribution argument is basically a divider, for every how many iterations do you need to send the GET request. type = number.

  $distrmessage - your message after reaching specific number of iterations, when iterations % distribution == 0. type = string.

  $maxiter is a maximum of iterations, after which the model finishes training. Make sure to send +1, as long as
  python takes the 'y' from range(x , y) and finishes the loop when technically y = (y - 1). type = number.

  $maxitermessage is a message you want to send after reaching maxiter size. type = string.

  $epochdistribution is the same as 'distribution' argument, but for epochs. type = number.

  $epoch counts epochs. type = number.

  $epochmessage is sended after reaching number of epochs when epochs % epochdistribution == 0 . type = string

  $testloss takes test loss as an information. type = number.

  $valloss takes validation loss as an information. type = number.

  $maxdelay is maximum amount of delay, after which server will automatically tell you that something might be crashed,
  and you've to check the server. type = number.

  $maxdelaydelta is a maximum dynamic change of maxdelay. For instance, if maxdelay = 5 (5 seconds), and maxdelaydelta = 1,
  you won't be notified until the request is delayed for more than 6 seconds.
  In case you're saving checkpoint for every certain number of iterations, and it takes longer time than average iteration
  time, that's where you use 'maxdelaydelta' argument. type = number.

  $maxdelaymessage is a message for you to receive after reaching maximum time of delay.  type = string.

JSON Instance

The API sends the JSON array, that is basically stringified version of combination of dictionaries.

Implementations

The Flask server is deployed on Heroku, and implemented only in Facebook Messenger for now. Next Social Media Platforms:

TODOs

- Finish working on Back-End for Facebook Messenger.

License

BSD 3-Clause Licence

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

afs-3.0.tar.gz (5.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page