yamlによる引数読み込みを改善
Pythonを実行する際の引数指定は,以下のようにyamlで行うのが効率が良いとされている.
# yamlファイルの準備(ここは普通手動で行う)
content = "batch_size: 16\nwidth: 224\nheight: 224"
with open("config.yaml", "w") as f:
f.write(content)
# 通常
import yaml
CONFIG = yaml.safe_load(open("config.yaml")) # ファイル名はハードコーディングではなくopen(args.config)のようにコマンドライン引数から読み込むのが良い
CONFIG["width"]
しかし,キー指定する際にカッコとダブルクォートを打つのは面倒なのでaddictを用いて辞書のキーをアトリビュートのように指定.
# addictを用いたキー指定なしの読み込み
import yaml
from addict import Dict
CONFIG = Dict(yaml.safe_load(open("config.yaml")))
CONFIG.width
一見地味に思えるこの方法だが,実際のスクリプトでは引数をいくつも指定することがあるため,非常に便利な方法だと思う.







ディスカッション
コメント一覧
まだ、コメントがありません