새소식

부스트캠프 AI Tech 4기

[WEEK14/15/16] TIPS

  • -

Knock Knock

 학습 후 메일, 슬랙 등 원하는 곳으로 학습 종료 알람을 해주는 라이브러리

pip install knockknock

 

from knockknock import email_sender

@email_sender(recipient_emails=["<your_email@address.com>", "<your_second_email@address.com>"], sender_email="<grandma's_email@gmail.com>")
def train_your_nicest_model(your_nicest_parameters):
    import time
    time.sleep(10000)
    return {'loss': 0.9} # Optional return value

 

github 링크 : 사용법

 

 

 

▮dict.fromkeys(seq, value) 

  • 딕셔너리를 생성할 때 사용하는 메소드
  • seq : 생성하려는 dictionary의 키 목록
  • value : 생성하려는 dictionary의 값
seq = ('name', 'age', 'sex')

dict_1 = dict.fromkeys(seq)
print(dict_1)

dict_2 = dict.fromkeys(seq, 10)
print(dict_2)

## result ##
{'age':None, 'name':None, 'sex':None}
{'age':10, 'name':10, 'sex':10}

 

▮ contextmanger로 timer 만들기

@contextmanager
def timer(name):
    t0 = time.time()
    yield
    print(f"[{name}] done in {time.time() - t0:.3f} s")
with timer("transform"):
    query_vec = self.tfidfv.transform([query])

 

▮ logging

Python의 기본 내장 모듈 logging

import logging

# logger 생성
logger = logging.getLogger(__name__)

# 로그의 출력 기준 설정
LOG_FORMAT = "%(asctime)s - %(message)s"
logging.basicConfig(
    level=logging.INFO,
    format=LOG_FORMAT,
    datefmt="%m/%d/%Y %H:%M:%S",
    handlers=[logging.StreamHandler(sys.stdout)],
)

# 파일에 로그 저장 기능 추가
file_handler = logging.FileHandler("./logs/DPR_logs.log", mode="a", encoding="utf-8")
file_handler.setFormatter(logging.Formatter(LOG_FORMAT))
logger.addHandler(file_handler)

# 로그 기록
logger.info("***** Running training *****")
logger.info("  Num Epochs = %d", self.args.num_train_epochs)
logger.info("  batch size  = %d", self.args.per_device_train_batch_size)

 

 

▮ 브랜치 삭제

// 로컬에서 브랜치 삭제
git branch -D <로컬브랜치명>

// 원격에서 브랜치 삭제
git push origin --delete <원격브랜치명>
728x90
Contents