Get your Deep learning/training Status in your Phone
Yes, you heard it right. Have you been curious about knowing if your training is done? Have you regretted wasting a night’s time without knowing your training is done and you could have started off with the next set of hyperparameters?. No worries. Here are 4 methods which I suggest from basic to a moderate level which will brief you the ideas and ease your standup status or training status on the go.
1) Classic Gmail
You can always send an email to your account from python after your training /results are done. The ‘smtplib’ library helps you achieve that. You can just plug in this piece of code at the end of your machine learning model training and send the parameters that you want to monitor over the email.
The Smtplib allows you to send Texts, Images, and the result CSVs over the mail. This helps to avoid logging into our instance or connecting to the VPN to get the results.
2) Hangout API
Google provides Hangout Chat API, which is just a small piece of code (a webhook) and you use it to send results to your Google Chat. You would receive pings of your results from your Bot. You just need to create a bot in Google Chat and use the corresponding token in this piece of code.
You can send both images (So-called Cards) and texts from the python scripts. You can use this code in user-defined Callbacks to get the information about every epoch or if you need just the results you can append this code after the results.
3) Telegram Bot — My personal Favorite
Telegram is highly popular for its developer-friendly and free token APIs for building a bot. These bots have been used by different developers for different purposes. So does the Data Scientists. This is one powerful Bot that allows you to create a bot that can help you monitor your every epoch, get your plots on the go, and change your learning rate anytime. This can be imported for Keras or TensorFlow or any other of your choice.
You can get the following features
- Get per epoch updates on the loss, accuracy, etc.
- Change the learning rate
- Get loss convergence plots
- Kill the training process
- Query the latest LR or metrics
- Limit access to a specific Telegram user-id
I was introduced by Eyal Zakkay who has written a blog on telegram with Keras and Tensorflow here.
I have been using this for almost all my projects with few changes accordingly.
4)HyperDash
With Hyperdash, you can monitor your training remotely at any place and at any device(web, iOS, and Android). You can watch the results being generated and the logs. The hyperparameters can also be tuned like Telegram. This suits only for Google Co-Lab.
You just needed to add @montior and the name of the model and set the parameters by importing the ‘Experiment’ library from the hyper dash and giving in the necessary parameters.
Here is an article that gives you more detail on Hyperdash if you are interested in it.
I hope you make use of one of these in your day-to-day Deep Learning life. Please do comment if you know any other means of monitoring away from your computer. If it had helped you know something better than yesterday I would appreciate some claps. Thanks and enjoy your training.
“You cannot shake hands with a clenched fist. ”
Please feel free to connect on any further discussions:
LinkedIn : https://www.linkedin.com/in/vigneshwarilango/
Gmail: mr.vigneshwarilango@gmail.com
Regards,
Vigneshwar Ilango