機械学習でパラメータを変えて実験したいときなど、yamlで管理しておくと便利です。
読み込んだパラメータをアンパック(**
)でモデルに渡すことができます。
コード
yamlファイルの読み込みは、safe_load
を持ちます。
json
モジュールなどとは異なるので注意が必要です。
#pipはpyyaml import yaml with open('yaml.yml','r') as f: obj = yaml.safe_load(f) #loadsは存在しない yaml_txt = """ - a - b - c """ obj = yaml.safe_load(yaml_txt)
書き込む場合
書きこむ場合は、json
などと同様にdump
を使います。
あまり使うことはないかもしれませんが、チューニング結果などを書き込みたい場合などに覚えておくと便利です。
obj = {"a":[1,2,3]} with open('res.yml','r') as f: yaml.dup(obj,f)
その他の読み込み
objをファイル上で---
によってわけている場合、safe_load_all
で、複数のオブジェクトにすることができます。
objs_txt = """ - a - b - c --- - d - e - f """ objs = [ obj for obj in yaml.safe_load_all(objs_txt)] print(objs) #[['a','b','c'],['d','e','f']]