Skip to main content

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.

Metadata

Release files for tf-notification-callback 0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tf-notification-callback 0.2
File Size Uploaded
tf_notification_callback-0.2.tar.gz 3.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tf-notification-callback 0.2
File Interpreter ABI Platform
tf_notification_callback-0.2-py3-none-any.whl Python 3 none any Details

Total release size: 8.1 kB

Release files / tf_notification_callback-0.2.tar.gz

Download URL tf_notification_callback-0.2.tar.gz
Size 3.9 kB
Tags Source
SHA-256 checksum
How to use checksums
37ecd8f6abd7f1a72edd59a6c0c62434d00be1e9069e5c65441a973dd4c9dcf8
BLAKE2b-256 checksum
How to use checksums
9bd96de5893c6e1de7bf2dcff912fcdac627b43fefd593b89a880a4d0f7557fa
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / tf_notification_callback-0.2-py3-none-any.whl

Download URL tf_notification_callback-0.2-py3-none-any.whl
Size 4.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
534af0f589fc08a1a71c26a133650f58dac24c716a8b869e449db9edcde15b46
BLAKE2b-256 checksum
How to use checksums
8a2eaa4b4d04982f37bce230134e7187c21d49dd188bb9f6434a4e3bdf856e22
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.2 This release

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page