将类中的模型参数存储为字典并修改/添加值

时间:2017-08-14 12:38:46

标签: python object dictionary

我正在运行一组不同的机器学习模型,我想创建一个可以在整个代码中发送的对象,其中模型参数和目录等内容存储如下:

password2

这些参数中的大多数都是常量,但有些我需要在运行代码时进行修改,而对于某些字典我也会添加值。我对面向对象编程不够熟练,首先说如果这是最好的方法,其次是如何修改值,

例如,将class model_parameters(object): def __init__(self): self.flags = {'clean': True, 'sampling': True} self.dirs = {'inputs': '/inputs/', 'features': '/features/'} 更改为dirs['features']

或添加值,例如'/features/reduced/'添加密钥dirs

1 个答案:

答案 0 :(得分:2)

一般来说,这种方法是一种可行的方法,但除非CloudFront-Expires添加的信息多于此,否则我会使用namedtuple来更好地传达您正在做的事情:

model_parameters

然后您可以修改如下值:

from collections import namedtuple

ModelParameters = namedtuple('ModelParameters', ['flags', 'dirs'])

model_parameters = ModelParameters(flags={'clean': True,
                                          'sampling': True},
                                   dirs={'inputs': '/inputs/',
                                         'features': '/features/'})

同样,通过分配以前未分配的密钥来添加值:

model_parameters.dirs['features'] = '/features/reduced/'