[PYTHON] Benachrichtigen Sie Slack, wenn der auf GCP ausgeführte maschinelle Lernprozess abgeschlossen ist

Inhaltsverzeichnis

  1. Übersicht
  2. Richten Sie Incoming Webhook in Slack ein
  3. Versuchen Sie, unter der URL des eingehenden Webhooks zu posten
  4. Versuchen Sie, Slack über die Ausführungszeit zu informieren

1. Übersicht

Die Verarbeitung von maschinellem Lernen im Kaggle-Wettbewerb dauert Stunden. .. Wenn Sie eine hochspezifizierte VM haben, ist die monatliche Gebühr recht hoch. Bitte teilen Sie uns dies mit, um die VM zu stoppen oder einen anderen Prozess auszuführen, wenn der Prozess abgeschlossen ist! So benachrichtigen Sie Slack über den Verarbeitungsstatus!

2. Richten Sie Incoming Webhook in Slack ein

Greifen Sie auf den Einstellungsbildschirm für eingehende Webhooks von Slack zu: [Slack] Eingehende WebHooks

Screen Shot 2020-02-21 at 13.38.00.png

Wählen Sie einen Kanal aus, der benachrichtigt werden soll

Screen Shot 2020-02-21 at 13.38.48.png

Klicken Sie auf "Eingehende Webhooks-Integration hinzufügen".

Screen Shot 2020-02-21 at 13.39.27.png

Der rote Rahmen unten ist die URL des eingehenden Webhooks. Kopieren Sie sie daher.

Screen Shot 2020-02-21 at 12.45.57.png

Für Slack-Benachrichtigungen umbenannt: Optional

Screen Shot 2020-02-21 at 12.47.33.png

Geändertes Symbol für Slack-Benachrichtigungen: Optional

Screen Shot 2020-02-21 at 12.49.30.png

Wenn es kein Problem gibt, klicken Sie auf "Einstellungen speichern".

Screen Shot 2020-02-21 at 12.50.23.png

3. Versuchen Sie, unter der URL des eingehenden Webhooks zu posten

Installieren Sie Slack Web

Terminal


pip install slackweb

** Beispiel für eine lockere Webinstallation in Jupyter Lab auf GCP ** Screen Shot 2020-02-21 at 12.52.59.png Screen Shot 2020-02-21 at 12.54.05.png

Versuchen Sie es mit Post

#Import von Slackweb-Modulen
import slackweb

#Festlegen des eingehenden Webhooks von Slack
slack = slackweb.Slack(url="URL von Slacks eingehendem Webhook") #Schreiben Sie es in Ihre eigene URL um

#Mit Kommentar senden
slack.notify(text="Es ist ein Test")

** Beispiel im Jupyter Lab auf GCP ** Screen Shot 2020-02-21 at 12.55.04.png

Screen Shot 2020-02-21 at 12.59.37.png

Lauf!

Es kommt definitiv in Echtzeit! ezgif-2-8d87a76250d3.gif

4. Versuchen Sie, Slack über die Ausführungszeit zu informieren

#Import des benötigten Moduls
import slackweb
import datetime

#Slack-Benachrichtigungen klassifizieren
class Slack_notice():
    start = 0
    
    def __init__(self):
        self.slack = slackweb.Slack(url="URL von Slacks eingehendem Webhook") #Schreiben Sie es in Ihre eigene URL um
        
    def begin(self):
        self.start = datetime.datetime.now()
        self.slack.notify(text='[Notice] ' + str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M")) + '\n Die Verarbeitung wurde gestartet!')

    def end(self):
        elapsed_time = datetime.datetime.now() - self.start
        self.slack.notify(text='[Notice] ' + str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M")) + '\n Die Verarbeitung ist abgeschlossen! \n Zeitaufwand'+ str(elapsed_time) + 'ist')

# Slack_Klassenaufruf beachten
slack_notice = Slack_notice()

#Benachrichtigung vor der Ausführung
slack_notice.begin()

#Der Prozess, den Sie ausführen möchten-------------------------------------------------------------------------
#Dieses Mal habe ich der Klarheit halber nur jede Sekunde gedruckt.
from time import sleep

for num in range(10):
    print(num)
    sleep(1)
# -------------------------------------------------------------------------------------

#Benachrichtigung vor der Ausführung
slack_notice.end()

** Beispiel im Jupyter Lab auf GCP ** ezgif-2-b0aa5ed4f4ae.gif

Referenz

[Qiita] Post to Slack mit Python 3

[Qiita] Lassen Sie uns einfach ein Bildschirmvideo erstellen, das mit einer GIF-Animation auf Qiita hochgeladen werden kann

Recommended Posts

Benachrichtigen Sie Slack, wenn der auf GCP ausgeführte maschinelle Lernprozess abgeschlossen ist
Stoppen Sie die VM automatisch, wenn der auf GCP ausgeführte maschinelle Lernprozess abgeschlossen ist
Schreiben Sie ein Skript in Shell und Python, um Sie in Slack zu benachrichtigen, wenn der Vorgang abgeschlossen ist
Hinweise zum lokalen Ausführen von Azure Machine Learning
Benachrichtigen Sie Slack, wenn der Linux-Befehl beendet ist
[Maschinelles Lernen] Was ist LP-Norm?
Benachrichtigen Sie Slack darüber, wie Keras lernt
Benachrichtigen Sie Slack, wenn die Switch-Verkaufsseite aktualisiert wird ~ Slack-Bot-Entwicklung mit Python ③ ~
Installieren Sie die Bibliothek für maschinelles Lernen TensorFlow auf fedora23
Maschinelles Lernkit numpy matplotlib scipy Bei der Installation der drei Familien auf debian ubuntu ist eine Reihe von Schritten zu beachten
Verwenden Sie AWS Lambda, um einen Mechanismus zu erstellen, der Slack benachrichtigt, wenn der von CloudWatch überwachte Wert in Python überschritten wird
Was ist maschinelles Lernen?
Slack-Benachrichtigung, wenn ein bestimmtes Wort auf Twitter mit Heroku mit Python gemurmelt wird
Umfrage zum Einsatz von maschinellem Lernen in realen Diensten
Ich habe die automatische maschinelle Lernbibliothek auto-sklearn auf centos7 installiert
[GCP] Ein Memorandum zum Ausführen eines Python-Programms mit Cloud-Funktionen
Erstellen einer Python-Umgebung unter Ubuntu (wenn pip nicht die Standardeinstellung war)
Hinweise zur Installation von Ubuntu 18.04 auf XPS 15 7590
Hinweise zum lokalen Ausführen von Azure Machine Learning
Erstes tiefes Lernen ~ Kampf ~
Erstes tiefes Lernen ~ Vorbereitung ~
Hinweise zur Installation von PycURL
Erstes tiefes Lernen ~ Lösung ~
Das erste, was Sie tun müssen, nachdem Sie CentOS Stream minimal installiert haben
Hinweise zur Installation von dlib auf einem Mac
Deep Running 2 Tuning von Deep Learning
Hinweise zur Installation von pipenv auf Ihrem Mac
Hinweise zur Installation von Anaconda 3 unter Windows
Hinweise zur Installation von Python unter CentOS
Hinweise zur Installation von Python mit PyEnv
Hinweise zur Verwendung von matplotlib auf dem Server
Benachrichtigen Sie Slack, wenn der auf GCP ausgeführte maschinelle Lernprozess abgeschlossen ist