Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 得到一个列表而不是一本字典_Python_List_Dictionary_Indexing - Fatal编程技术网

Python 得到一个列表而不是一本字典

Python 得到一个列表而不是一本字典,python,list,dictionary,indexing,Python,List,Dictionary,Indexing,我有一本字典是由keras\u model.get\u config()返回的。(通过打印(键入(keras\u model.get\u config())进行更改)。代码行中出现错误: if keras_model.get_config()[0]['config']['data_format'] == 'channels_first': 该错误表明字典没有0键,这一点很明显: 回溯(最近一次呼叫最后一次): 文件“task1a.py”,第1204行,在 系统出口(主(系统argv)) 文件“

我有一本字典是由
keras\u model.get\u config()
返回的。(通过打印(键入(keras\u model.get\u config())进行更改)。代码行中出现错误:

if keras_model.get_config()[0]['config']['data_format'] == 'channels_first':
该错误表明字典没有
0
键,这一点很明显:

回溯(最近一次呼叫最后一次): 文件“task1a.py”,第1204行,在 系统出口(主(系统argv)) 文件“task1a.py”,第234行,主 覆盖 do_测试中第982行的文件“task1a.py” 如果keras_model.get_config() 关键错误:0

我继续通过
keras_model.get_config()[keras_model.get_config().keys()[0]]
访问,但现在,我得到的是一个字典列表,而不是中的字典(请注意beginning和end括号):

所有内容都基于中的代码,我希望在此阶段对其进行尽可能少的更改。如何访问该词典的第一本词典?如何链接访问这些词典

顺便说一句,我已经尝试了
type(keras\u model.get\u config()['layers']
,但我仍然得到了一个列表

编辑: 添加原始的
keras\u模型。获取配置()
字典:

{'layers': [{'class_name': 'Conv2D', 'config': {'kernel_initializer': {'class_name': 'VarianceScaling', 'config': {'distribution': u'uniform', 'scale': 1.0, 'seed': None, 'mode': u'fan_avg'}}, 'name': u'conv2d_1', 'kernel_constraint': None, 'bias_regularizer': None, 'bias_constraint': None, 'dtype': u'float32', 'activation': 'linear', 'trainable': True, 'data_format': u'channels_last', 'filters': 32, 'padding': u'same', 'strides': (1, 1), 'dilation_rate': (1, 1), 'kernel_regularizer': None, 'bias_initializer': {'class_name': 'Zeros', 'config': {}}, 'batch_input_shape': (None, 40, 500, 1), 'use_bias': True, 'activity_regularizer': None, 'kernel_size': (7, 7)}}, {'class_name': 'BatchNormalization', 'config': {'beta_constraint': None, 'gamma_initializer': {'class_name': 'Ones', 'config': {}}, 'moving_mean_initializer': {'class_name': 'Zeros', 'config': {}}, 'name': u'batch_normalization_1', 'epsilon': 0.001, 'trainable': True, 'moving_variance_initializer': {'class_name': 'Ones', 'config': {}}, 'beta_initializer': {'class_name': 'Zeros', 'config': {}}, 'scale': True, 'axis': 1, 'gamma_constraint': None, 'gamma_regularizer': None, 'beta_regularizer': None, 'momentum': 0.99, 'center': True}}, {'class_name': 'Activation', 'config': {'activation': 'relu', 'trainable': True, 'name': u'activation_1'}}, {'class_name': 'MaxPooling2D', 'config': {'name': u'max_pooling2d_1', 'trainable': True, 'data_format': u'channels_last', 'pool_size': (5, 5), 'padding': u'valid', 'strides': (5, 5)}}, {'class_name': 'Dropout', 'config': {'rate': 0.3, 'noise_shape': None, 'trainable': True, 'seed': None, 'name': u'dropout_1'}}, {'class_name': 'Conv2D', 'config': {'kernel_constraint': None, 'kernel_initializer': {'class_name': 'VarianceScaling', 'config': {'distribution': u'uniform', 'scale': 1.0, 'seed': None, 'mode': u'fan_avg'}}, 'name': u'conv2d_2', 'bias_regularizer': None, 'bias_constraint': None, 'activation': 'linear', 'trainable': True, 'data_format': u'channels_last', 'padding': u'same', 'strides': (1, 1), 'dilation_rate': (1, 1), 'kernel_regularizer': None, 'filters': 64, 'bias_initializer': {'class_name': 'Zeros', 'config': {}}, 'use_bias': True, 'activity_regularizer': None, 'kernel_size': (7, 7)}}, {'class_name': 'BatchNormalization', 'config': {'beta_constraint': None, 'gamma_initializer': {'class_name': 'Ones', 'config': {}}, 'moving_mean_initializer': {'class_name': 'Zeros', 'config': {}}, 'name': u'batch_normalization_2', 'epsilon': 0.001, 'trainable': True, 'moving_variance_initializer': {'class_name': 'Ones', 'config': {}}, 'beta_initializer': {'class_name': 'Zeros', 'config': {}}, 'scale': True, 'axis': 1, 'gamma_constraint': None, 'gamma_regularizer': None, 'beta_regularizer': None, 'momentum': 0.99, 'center': True}}, {'class_name': 'Activation', 'config': {'activation': 'relu', 'trainable': True, 'name': u'activation_2'}}, {'class_name': 'MaxPooling2D', 'config': {'name': u'max_pooling2d_2', 'trainable': True, 'data_format': u'channels_last', 'pool_size': (4, 100), 'padding': u'valid', 'strides': (4, 100)}}, {'class_name': 'Dropout', 'config': {'rate': 0.3, 'noise_shape': None, 'trainable': True, 'seed': None, 'name': u'dropout_2'}}, {'class_name': 'Flatten', 'config': {'trainable': True, 'name': u'flatten_1', 'data_format': u'channels_last'}}, {'class_name': 'Dense', 'config': {'kernel_initializer': {'class_name': 'RandomUniform', 'config': {'maxval': 0.05, 'seed': None, 'minval': -0.05}}, 'name': u'dense_1', 'kernel_constraint': None, 'bias_regularizer': None, 'bias_constraint': None, 'activation': 'relu', 'trainable': True, 'kernel_regularizer': None, 'bias_initializer': {'class_name': 'Zeros', 'config': {}}, 'units': 100, 'use_bias': True, 'activity_regularizer': None}}, {'class_name': 'Dropout', 'config': {'rate': 0.3, 'noise_shape': None, 'trainable': True, 'seed': None, 'name': u'dropout_3'}}, {'class_name': 'Dense', 'config': {'kernel_initializer': {'class_name': 'RandomUniform', 'config': {'maxval': 0.05, 'seed': None, 'minval': -0.05}}, 'name': u'dense_2', 'kernel_constraint': None, 'bias_regularizer': None, 'bias_constraint': None, 'activation': 'softmax', 'trainable': True, 'kernel_regularizer': None, 'bias_initializer': {'class_name': 'Zeros', 'config': {}}, 'units': 10, 'use_bias': True, 'activity_regularizer': None}}], 'name': u'sequential_1'}

就是这样。这个想法是从dict键构造一个列表。(用Python3.7测试)

输出:

x
在python 3.6中

>>> dic = {'a':'b'}

>>> dic.keys()
dict_keys(['a'])

>>> dic.keys()[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'dict_keys' object does not support indexing
>dic={'a':'b'}
>>>dic.keys()
口述键(['a'])
>>>dic.keys()[0]
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:“dict_keys”对象不支持索引
这意味着您无法通过
dic[dic.keys()[0]]
访问字典的元素


请提供字典keras_model.get_config()

原来是这样。

嗨,我已经添加了字典keras_model.get_config()。我希望得到的不是列表而是字典。你能发布从
keras_model.get_config()
返回的dict吗?好的。配置数据在“layers”键下包含一个列表。所以
数据['layers'][0]
返回列表中的第一项。我希望它是您正在查找的。(每个条目都包含另一个名为'config'的dict)
x
>>> dic = {'a':'b'}

>>> dic.keys()
dict_keys(['a'])

>>> dic.keys()[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'dict_keys' object does not support indexing