- 새 채널 생성
![](https://velog.velcdn.com/images%2Fhanlyang0522%2Fpost%2Faaefa7f1-2be6-407b-85a1-82e024c5d641%2Fimage.png)
- 슬랙에
Incoming WebHooks
앱 추가
![](https://velog.velcdn.com/images%2Fhanlyang0522%2Fpost%2F81f28c30-fe24-416d-bfd1-49b80b2966fd%2Fimage.png)
![](https://velog.velcdn.com/images%2Fhanlyang0522%2Fpost%2F3f3d4dad-202c-45dc-bf07-b63afe602a1e%2Fimage.png)
- 앱을 설치할 채널 선택
![](https://velog.velcdn.com/images%2Fhanlyang0522%2Fpost%2Fb67594ac-c7d3-4e45-a898-2dc26b24ab60%2Fimage.png)
- URL 저장
![](https://velog.velcdn.com/images%2Fhanlyang0522%2Fpost%2F5f9c96d1-f0b6-43ff-9efb-c02eefb8f44a%2Fimage.png)
- 메세지 전송
import json
import sys
import random
import requests
import os
import numpy as np
import torch
def send_msg(msg):
url =
message = ("Train 완료!!!\n" + msg)
title = (f"New Incoming Message :zap:")
slack_data = {
"username": "NotificationBot",
"icon_emoji": ":satellite:",
"attachments": [
{
"color": "#9733EE",
"fields": [
{
"title": title,
"value": message,
"short": "false",
}
]
}
]
}
byte_length = str(sys.getsizeof(slack_data))
headers = {'Content-Type': "application/json", 'Content-Length': byte_length}
response = requests.post(url, data=json.dumps(slack_data), headers=headers)
if response.status_code != 200:
raise Exception(response.status_code, response.text)
- 활용
메세지는 자유롭게 변경 가능하지만 나는 .py로 파일을 따로 만들어 train이 끝날 때마다 호출해서 arg로 넘겨준 epoch, loss, acc 등을 출력하게 만들었음
![](https://velog.velcdn.com/images%2Fhanlyang0522%2Fpost%2F3600b195-83fe-4388-a9f1-ebc0af5ffc6e%2Fimage.png)
![](https://velog.velcdn.com/images%2Fhanlyang0522%2Fpost%2F8394edfa-5292-467f-a1ad-f23913da677d%2Fimage.png)