溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python 使用 docopt 解析json參數(shù)文件過程講解

發(fā)布時間:2020-10-22 03:34:57 來源:腳本之家 閱讀:127 作者:SiyuanChen 欄目:開發(fā)技術(shù)

1. 背景

在深度學習的任務(wù)中,通常需要比較復(fù)雜的參數(shù)以及輸入輸出配置,比如需要不同的訓(xùn)練data,不同的模型,寫入不同的log文件,輸出到不同的文件夾以免混淆輸出

常用的parser.add()方法非常占用代碼空間,而且輸入輸出配置無法通過文件更改,只能通過命令行參數(shù)改變。

docopt 庫提供了一個非常優(yōu)雅的命令行解析工具,這邊只介紹其中解析文件參數(shù)

2. 安裝

pip install docopt
import docopt
import json
  

3. 使用

docopt 由兩部分組成,第一部分是解析部分,通過“”“ -”“”(一段類似注釋的雙引號表示),這一部分必不可少。

"""
Usage: train <json_file>
"""

上面解析部分的指令很簡單,輸入應(yīng)為:

python test.py config.json

第二部分是main 函數(shù):

if __name__ == "__main__":
  args = docopt.docopt(__doc__)
  args = json.load(open(args["<json_file>"]))
  print('==>Params')
  for key in args.keys():
    print('\t{}:{}\n'.format(key,args[key]))
  train(args) 

我將 config.json 設(shè)置為:

{
 "dataset":    "human_science",
 "length":     1000,
 "model":     "CNN",
 "log_dir":    "./logs/",
 "output_dir":   "./output/",
 "output_prefix": "human_science_CNN",
 
 "lr":0.01
}

命令行的輸出應(yīng)為:

Python 使用 docopt 解析json參數(shù)文件過程講解

成功將參數(shù)傳入train()函數(shù)

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI