环绕 Eigen::Vector 类型

Wrapping Eigen::Vector type

我正在开发一个神经网络库,我想使用 Eigen 来处理模型背后的向量和矩阵数学,但我被告知我不应该在最后的 [=19] 中公开 Eigen 类型=] 所以,由于网络基本上是将向量作为输入,return 向量作为输出,我正在考虑创建一个 class(也许是 Tensor)来包装 Eigen::VectorXf 但我不知道在这样的张量上运行时,我真的不知道如何保留本征优化。

有没有办法做到这一点,或者我应该改变我的方法吗?

例如OpenNN库也使用Eigen(我认为)并且它的Tensor类型继承自std::vector,我还没有找到它是如何转换为Eigen的(也许涉及Map?)

我认为围绕 Eigen 类型编写一个薄包装的唯一原因是,如果您需要在以后更改实现的灵活性。

如果您没有此要求,则应公开 Eigen 类型。这是您的用户会熟悉的 API,您将避免在您的类型和特征张量之间进行任何不必要的转换(复制)。