【发布时间】:2021-03-13 23:26:07
【问题描述】:
我拥有的对象的描述
我的代码中有几个 N 维容器,代表张量,其类型定义为
std::vector<std::vector<std::vector<...<double>...>>>
这些类型的数据结构有几种不同的大小和维度,它们只包含标量数字。每个向量的维数都是已知的,可以通过例如访问。 tensor::dimension。因为它们代表张量,所以它们永远不会“不规则”:在底层,向量总是包含相同数量的元素,如下所示:
// THIS IS HOW THEY ALWAYS LOOK LIKE
T tensor = {{1,2,3,4}, {1,2,3,4}, {1,2,3,4}}
// THIS IS WHAT NEVER HAPPENS
T tensor = {{1,2,3}, {1,2,3,4}, {1,2}}
我想用这个对象做什么
我想将这些多维向量(基本上是张量)保存到不同的文件中,然后我可以轻松加载/读取这些文件,例如。在 Python 中输入 numpy.array - 用于进一步分析和可视化。如何在 modern C++ 中保存这些 N 维 std::vectors 中的任何一个而无需为每个具有不同维度的向量显式定义具有 N 个嵌套循环的基本 write-to-txt 函数?
(注意:只需要/提及标准库的解决方案/建议是首选,但我也很高兴听到任何其他答案!)
【问题讨论】:
标签: c++ multidimensional-array vector save