20
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

機械学習の学習完了をslackに通知したい

Last updated at Posted at 2021-05-05

はじめに

機械学習って学習時間長くないですか?
いつ終わるんだろうとか、クラウドの場合は、終了時間を覚えておかないとインスタンスの時間かかって高額の使用量が請求されてしまうなんてこともあると思います。(経験談)

そこで、今回は学習結果と、完了通知をslackに通知します。

1. Incoming webhookの利用

まずは、slackとアプリの連携を行いましょう。
Incoming webhookというAPIを使用します。
先人の方がとても細かくまとめてくださっているのでこちらを参考にしました。
そのため、Incomingwebhookの登録方法は省きます。

2. サンプルコード

こちらです。

notificaton.py
import slackweb
slack = slackweb.Slack(url="Your IncomigWebhooks URL")
slack.notify(text="通知したい文字")

3.使用方法

学習するモジュール上に先ほどのコードを埋め込みます。
以下はpytorchを想定しています。

train.py
import slackweb
slack = slackweb.Slack(url="Your IncomigWebhooks URL")

def run_training():
    #省略
    for epoch in range(Config.EPOCHS):
        loss, acc = train_fn(model, trainloader, optimizer, scheduler, epoch) 
        torch.save(model.state_dict(),'modelname_epoch.pt')
    slack.notify(text="学習が完了しました")

関数化して、リンク先のボタンを追加したコードはこちら。

おわり

いかがでしたでしょうか?
非常に簡単に学習完了通知ができるので、皆さんも是非試してみてください。
よい機械学習ライフを!!

20
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?