我正在做一个神经网络库,我想使用Eigen来处理模型背后的向量和矩阵数学,但我被告知不应该在最终的api中公开Eigen类型,因此,由于网络基本上将获得向量作为输入,返回向量作为输出,我正在考虑创建一个包装Eigen::VectorXf的类(可能是T),但我真的不知道如何在对这些张量进行操作时保留特征优化。
有没有办法做到这一点,或者我应该改变我的方法?
例如,OpenNN库也使用Eigen (我想),它的张量类型是从std::vector继承的,我还没有发现它是如何转换成Eigen的(也许涉及Map?)
发布于 2020-10-27 00:56:15
我认为围绕Eigen类型编写一个薄薄的包装器的唯一原因是,如果您需要在以后更改实现的灵活性。
如果你没有这个要求,你应该公开Eigen类型。这是一个你的用户将熟悉的API,你将避免在你的类型和特征张量之间进行任何不必要的转换(副本)。
https://stackoverflow.com/questions/64541345
复制相似问题