St_Hakky’s blog

Data Science / Human Resources / Web Applicationについて書きます

データ分析とか学習回したりするときのPythonのログ出力について

こんにちは。

もう少し勉強していきたいなと思うものの、こればっかり一生懸命になっているとあんまりコードを書く手が進まなくなるので、ぼちぼち勉強して行こうと思っているのが、ログ出力(笑)

分析とかしていると、途中で学習が止まっていたり、思っていたのと違う挙動を実はしていたなんていうことがあって、それを回避するためにログとかも出力したいなぁと思うわけです。

○モデルの学習のログはライブラリに任せる

モデルの学習のログは、Tensorflowとかだと標準でTensorboardなんていう素晴らしい機能が使えるようになっていますし、学習の進捗とかも普通に標準で出力できるようにサポートしているものが多いと思います。


それはそういうライブラリに任せておけばいいとおもっていて、ここでは自分でチェックしたい時にどうするかみたいなのを書きます。

○とりあえずこれコピーしておけばいいんじゃね的なコード

ライブラリなどがおっきくなってきたらこうも行かないと思いますが、自分でデータ分析なコードを書くんだったらこれでいいんじゃねと思っています。

以下で、実行した時間とかメッセージとかが表示されます。使う時は、logger.debug('log message')みたいな感じで使えます。

from logging import getLogger, StreamHandler, DEBUG, Formatter, FileHandler

logger = getLogger(__name__)
handler = StreamHandler()

logger.setLevel(DEBUG)
handler.setLevel(DEBUG)
formatter = Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)

fh = FileHandler(filename='log.txt')
fh.setLevel(DEBUG)
fh.setFormatter(formatter)
logger.addHandler(fh)

以上。