Skip to main content

Receive notifications about your model training anywhere you want!

Project description

TensorFlow Notification Callback

forthebadge made-with-python

PyPI version

A Tensorflow/Keras callback which sends information about your model training, on various messaging platforms.

Installation

Using pip:

pip install tf_notification_callback

Usage

Import the required module and add it to the list callbacks while training your model.

Example:

>>> from tf_notification_callback import TelegramCallback
>>> telegram_callback = TelegramCallback('<BotToken>',
                                     '<ChatID>',
	                             'CNN Model',
	                             ['loss', 'val_loss'],
	                             ['accuracy', 'val_accuracy'],
	                             True)
>>> model.fit(x_train, y_train,
          batch_size=32,
          epochs=10,
          validation_data=(x_test, y_test),
          callbacks=[telegram_callback])

Telegram

  1. Create a telegram bot using BotFather
    • Search for @BotFather on telegram.
    • Send /help to get list of all commands.
    • Send /newbot to create a new bot and complete the setup.
    • Copy the bot token after creating the bot.
  2. Get the chat ID
    • Search for the bot you created and send it any random message.
    • Go to this URL https://api.telegram.org/bot<BOT_TOKEN>/getUpdates (replace <BOT_TOKEN> with your bot token)
    • Copy the chat id of the user you want to send messages to.
  3. Use the TelegramCallback() class.
TelegramCallback(bot_token=None, chat_id=None, modelName='model', loss_metrics=['loss'], acc_metrics=[], getSummary=False):

Arguments:

bot_token : unique token of Telegram bot {str} chat_id : Telegram chat id you want to send message to {str} modelName : name of your model {str} loss_metrics : loss metrics you want in the loss graph {list of strings} acc_metrics : accuracy metrics you want in the accuracy graphs {list of strings} getSummary : Do you want message for each epoch (False) or a single message containing information about all epochs (True). {bool}

Slack

  1. Create a Slack workspace
  2. Create a new channel
  3. Search for the Incoming Webhooks in the Apps and install it.
  4. Copy the Webhook URL
  5. Import the SlackCallback() class. It takes in the following arguments

webhookURL : unique webhook URL of the app {str} channel : channel name or username you want to send message to {str} modelName : name of your model {str} loss_metrics : loss metrics you want in the loss graph {list of strings} acc_metrics : accuracy metrics you want in the accuracy graph {list of strings} getSummary : Do you want message for each epoch (False) or a single message containing information about all epochs (True). {bool}

Sending images in Slack is not supported currently.

ToDo

  • WhatsApp
  • E-Mail
  • Zulip
  • Messages

Motivation

As the Deep Learning models are getting more and more complex and computationally heavy, they take a very long time to train. During my internship, people used to start the model training and left it overnight. They could only check its progress the next day. So I thought it would be great if there was a simple way to get the training info remotely on their devices.

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

tf_notification_callback-0.2.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tf_notification_callback-0.2-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file tf_notification_callback-0.2.tar.gz.

File metadata

  • Download URL: tf_notification_callback-0.2.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for tf_notification_callback-0.2.tar.gz
Algorithm Hash digest
SHA256 37ecd8f6abd7f1a72edd59a6c0c62434d00be1e9069e5c65441a973dd4c9dcf8
MD5 6c9ac55b6efe91876872c36e23d2a9d0
BLAKE2b-256 9bd96de5893c6e1de7bf2dcff912fcdac627b43fefd593b89a880a4d0f7557fa

See more details on using hashes here.

File details

Details for the file tf_notification_callback-0.2-py3-none-any.whl.

File metadata

  • Download URL: tf_notification_callback-0.2-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for tf_notification_callback-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 534af0f589fc08a1a71c26a133650f58dac24c716a8b869e449db9edcde15b46
MD5 fb12e4c48c2f03d00358fa44b7ec3a1a
BLAKE2b-256 8a2eaa4b4d04982f37bce230134e7187c21d49dd188bb9f6434a4e3bdf856e22

See more details on using hashes here.

Supported by

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