c++ - 什么是 Eigen::array(不是 Eigen::Array)

标签 c++ eigen tensor eigen3

我正在使用特征张量库,在我看来,shuffle() 方法需要一个对象 Eigen::array 作为输入。
在我的实现中,我有一个 std::list 需要传递给 shuffle (当然我只在运行时知道第二个 int 参数(等级)!)

最佳答案

不久前,Eigen 的 Tensor 模块与 C++03 兼容。这意味着 std::array不可用。出于这个原因,张量模块定义了自己的 Eigen::array实际上是 std::array 的 typedef 的类如果 C++11 可用。
文件unsupported/Eigen/CXX11/src/util/EmulateArray.h包含一些归结为(伪代码)的东西

#if C++11 not available
  // Define a custom std::array like Eigen::array class
#else
  template <typename T, std::size_t N> using array = std::array<T, N>;
#endif
Tensor 模块已放弃 C++03 兼容性,并且可能会删除此代码的部分内容。

关于c++ - 什么是 Eigen::array(不是 Eigen::Array),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63691234/

相关文章:

python - 使用 tf.while_loop 对张量进行切片

c++ - 让 Qt 在 Fedora 12 中工作

c++ - 尝试运行应用程序时缺少 Qt5Cored.dll

eigen - 如何将特征库矩阵或向量类型转换为字符串?

c++ - 具有特征库的归一化拉普拉斯矩阵

python - 如何将不同大小的张量列表转换为单个张量?

python-3.x - 为什么keras.backend.pool3d要求tensor_in是5维的?

c++ - 无法将参数 1 从 "unsigned int *"转换为 "size t *"

c++ - __thread C++ 内存泄漏

c++ - 用 Eigen 3 计算数组的特征值/vector 而不是矩阵