python - Python 字典列表的 C++ 等价物?

标签 python c++ list dictionary

我有一个 Python 字典列表,其中包含有关神经网络各个层的信息。每个字典可以有任意数量的条目,包括更多字典。

layer_config = [
 {'conv_layer': {
     'filter_size' : 5,
     'stride' : 1,
     'num_filters' : 20}},
 {'pool_layer': {
     'poolsize' : (2,2)}},
 {'fc_layer': {
     'num_output' : 30}},
 {'final_layer': {
     'num_classes' : 10}}
]

我正在将程序转换成 C++,需要找到一种方法以类似的方式组织这些信息。 C++ 嵌套映射是实现此目的的最佳方式,还是有其他数据结构可能是更好的选择?

最佳答案

在 C++ 中,要使用嵌套映射来解决这个问题,每个映射都必须是同一类型。如果您创建了 map 的 map ,则子 map 都必须包含相同类型的信息(如字符串和整数),并且看起来您的字典中包含不同的信息,具体取决于键,(即您有一个pair (2,2) 在键“poolsize”处,在其他地方你有整数)。执行此操作的 C++ 方法可能是创建一个包含此信息的结构或类。例如,您可以为 conv_layer、pool_layer 等创建一个包含四个映射的结构。从您的示例来看,您的数据结构看起来只需要一个 conv_layer 映射,以及所有其他变量的一堆对。如果是这种情况,您可以使用类似这样的数据结构:

struct layer_config{
        std::map<std::string, int> conv_layer;
        std::pair<std::string, std::pair<int, int>> pool_layer;
        std::pair<std::string, int> fc_layer;
        std::pair<std::string, int> final_layer;
};

关于python - Python 字典列表的 C++ 等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43987631/

相关文章:

python - 在 Django 中搜索应用程序

c++ - 在c++ xll中从excel中接收一个矩阵,修改并返回

python - 给定位置看到的唯一单词的累计数量的有序计数

list - 将多个参数传递给 map 的 func 参数

C++按排序顺序添加到链表

python - Pyspark 将年和周数转换为周开始日期和周结束日期

python - H2o Python : Combining XGB Holdout Predictions

python - 在 pytesseract 中运行示例代码

C++,最快的 STL 容器,用于递归执行 { 删除 [开始]、插入 [结束] 和对整个数组内容求和}

c++ - 关于C++模板参数的问题