创建、混合和匹配任何di

2024-10-01 13:25:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个输入数据

block = {
    'kernel' : [3,5,7],
    'strides' : [2,3],
    'padding': ['same'],
    'activation':['relu'],
    'type':['conv'],
}

我想创造一个混合搭配如下:

[ {'kernel': 3 ,'strides' : 2, 'padding': 'same', 'activation': 'relu', 'type': 'conv'}, 
  {'kernel': 3 ,'strides' : 3, 'padding': 'same', 'activation': 'relu', 'type': 'conv'}, 
  {'kernel': 5 ,'strides' : 2, 'padding': 'same', 'activation': 'relu', 'type': 'conv'}, 
  {'kernel': 5 ,'strides' : 3, 'padding': 'same', 'activation': 'relu', 'type': 'conv'}, 
  {'kernel': 7 ,'strides' : 2, 'padding': 'same', 'activation': 'relu', 'type': 'conv'}, 
  {'kernel': 7 ,'strides' : 3, 'padding': 'same', 'activation': 'relu', 'type': 'conv'}]

Tags: 数据typeblockactivationkernelrelusamepadding
1条回答
网友
1楼 · 发布于 2024-10-01 13:25:17

您可以使用^{}生成值的组合,然后将它们重新构建到字典中:

from itertools import product

keys, possible_values = zip(*block.items())

res = [dict(zip(keys, vals)) for vals in product(*possible_values)]
print(res)

印刷品

[{'kernel': 3, 'strides': 2, 'padding': 'same', 'activation': 'relu', 'type': 'conv'}, 
 {'kernel': 3, 'strides': 3, 'padding': 'same', 'activation': 'relu', 'type': 'conv'}, 
 {'kernel': 5, 'strides': 2, 'padding': 'same', 'activation': 'relu', 'type': 'conv'}, 
 {'kernel': 5, 'strides': 3, 'padding': 'same', 'activation': 'relu', 'type': 'conv'}, 
 {'kernel': 7, 'strides': 2, 'padding': 'same', 'activation': 'relu', 'type': 'conv'}, 
 {'kernel': 7, 'strides': 3, 'padding': 'same', 'activation': 'relu', 'type': 'conv'}]

相关问题 更多 >