[英]Using a dictionary to store default values
我正在研究一個具有很多元參數的機器學習程序。 該程序的預期用途是研究學習過程本身,因此,我希望我將在許多不同的時間訓練模型,每次都更改元參數的子集,並將其余參數保留為默認值。
我認為實現此目的的最佳方法是使用默認參數字典,該參數字典中的任何值都可以由用戶覆蓋。
DEFAULT_PARAMETERS={
"parameter_1": 1,
"parameter_2": 2,
#...
}
def main(**kwargs):
parameters = {}
for key in DEFAULT_PARAMETERS:
if key in kwargs:
parameters[key] = kwargs[key]
else:
parameters[key] = DEFAULT_PARAMETERS[key]
但是,我從未見過有人使用這種方法,為什么沒有呢? 另外,是否有一種列表理解語法,可以讓我在一行中實現上述循環?
但是,我從未見過有人使用這種方法
您是否了解其他人的代碼? 可能不是(提示:這是一個非常常見的模式,但實際上已實現)
有沒有理由嗎?
不,那只是顯而易見的事情。
另外,是否有一種列表理解語法,可以讓我在一行中實現上述循環?
對於python 3.5+,您可以嘗試使用Vittorio Camisa的解決方案,但是該解決方案可以在Python 3.x和最新的Python 2.7.x版本中使用:
parameters = {k: kwargs.get(k, v) for k, v in DEFAULT_PARAMETERS.items()}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.