我目前使用Eigen进行深度学习,更具体地说是卷积神经网络。
您可以在此处查看示例:https://en.wikipedia.org/wiki/Convolutional_neural_network#/media/File:Typical_cnn.png
每个步骤,一个层可以是卷积层(一组特征映射),一个完全连接的层(一个单维矢量)或其他任何东西。
所以我选择MatrixX<ArrayXd, Dynamic, Dynamic>
来表示我的数据。
但是当我使用它(带矩阵产品)时,我有段错误。
我不确定,但我认为因为ArrayXd
不是MatrixX
的良好标量类型。
我可以在Eigen中使用ArrayXd
作为标量吗?
如果答案是否定的,我该怎么办?
答案 0 :(得分:1)
ArrayXd
不是标量类型的好选择,特别是当你想要一个张量时。
Eigen在其dev-branch / v3.3-bata1中有张量支持。你可以在这里找到这份文件。
http://eigen.tuxfamily.org/index.php?title=Tensor_support
https://eigen.tuxfamily.org/dox-devel/unsupported/group__CXX11__Tensor__Module.html