BLOG

シンラボメンバーのあれこれ

  1. HOME
  2. ブログ
  3. 代表通信
  4. 代表通信~Python2について

代表通信~Python2について

こんばんは。代表の草場です。

Text to Imageを実装していると、2016年ごろに盛り上がった話なので、Python2を使う必要が出てきました。Google Colabを使うと、そのあたり気にせずできるので、便利です。configファイルを扱っていると、easydictというモジュールが出てきました。公式を見るとわかりやすいです。
「EasyDict はディクトの値を属性としてアクセスできるようにします。python ディクト用の Javascript ライクなプロパティドット記法です。」
ふむ。コードを見るとわかりやすい。

>>> from easydict import EasyDict as edict
>>> d = edict({'foo':3, 'bar':{'x':1, 'y':2}})
>>> d.foo 
3
>>> d.bar.x
1

辞書を作るイメージですね。もしくはJSONファイル。

>>> from easydict import EasyDict as edict
>>> from simplejson import loads
>>> j = """{
"Buffer": 12,
"List1": [
    {"type" : "point", "coordinates" : [100.1,54.9] },
    {"type" : "point", "coordinates" : [109.4,65.1] },
    {"type" : "point", "coordinates" : [115.2,80.2] },
    {"type" : "point", "coordinates" : [150.9,97.8] }
]
}"""
>>> d = edict(loads(j))
>>> d.Buffer
12
>>> d.List1[0].coordinates[1]
54.9

ふむ。使いやすい。以下の使い方が、Deep learningの時は、以下の形で使われる。

>>> d = EasyDict()
>>> d.foo = 3
>>> d.foo
3

ふむふむ。以下の感じで、どんどん必要な情報を書き込む感じです。

>>> d = EasyDict(log=False)
>>> d.debug = True
>>> d.items()
[('debug', True), ('log', False)]

いいね。StackGANで使われたものは以下の感じです。
{‘CONFIG_NAME’: ”,
‘CUDA’: True,
‘DATASET_NAME’: ‘birds’,
‘DATA_DIR’: ”,
‘EMBEDDING_TYPE’: ‘cnn-rnn’,
‘GAN’: {‘CF_DIM’: 128,
‘CONDITION_DIM’: 128,
‘DF_DIM’: 64,
‘R_NUM’: 4
},
‘GPU_ID’: ‘0’
}

便利だから使おう。

明日もPython。

 

関連記事