何これ?
Pythonのプロジェクトでファイルを保存するときに自動でファイル名を生成する処理をdatetimeライブラリでよく書くと思うが、いちいち調べるのがめんどくさいのでメモとしてまとめる。
ちなみに、日本時間JSTで出力できるようにしている。
実装
例えば、機械学習モデルを作成して保存する時に重複がないように秒数までdatetimeで生成してファイル名に含める。
今回は例えば、kerasでDeepLearningのモデルを生成したときに使うようなパターンで。
モデルやオブジェクトなどの保存は適宜変更ください。
import keras
from hogehoge import fugafuga
...
def filename_time():
# これは上にまとめた方がいいかも
import datetime as dt
import pytz
# "20210711T111304"のような文字列が出力される
return dt.datetime.now(pytz.timezone("Asia/Tokyo")).strftime("%Y%m%dT%H%M%S")
# data前処理
・・・
# 学習の層を構築
・・・
# kerasでモデルを学習
batch_size = 128
epochs = 15
validation_split = 0.2
model.fit(X_train, y_train_categorical, batch_size=batch_size, epochs=epochs, validation_split=validation_split, callbacks=[TensorBoard(log_dir="log")])
# モデルの保存
filename_time = filename_time()
model.save(f"/path/to/save/dir/model_name_{filename_time}.model")
終わり。