Ich verwende derzeit Eigen, um Deep Learning und insbesondere Faltungs neuronalen Netzen zu tun.3D Tensor für Deep Learning: Verwenden Sie ein MatrixXd <ArrayXD, Dynamisch, Dynamisch>
Sie ein Beispiel hier sehen können: https://en.wikipedia.org/wiki/Convolutional_neural_network#/media/File:Typical_cnn.png
Da jeder Schritt könnte eine Schicht eine Faltungsschicht (eine Reihe von Funktionen Karte), eine vollständig verbundene Schicht (eine einzelne eindimensionale Vektor) oder irgendetwas anderes .
Also wähle ich MatrixX<ArrayXd, Dynamic, Dynamic>
, um meine Daten zu vertreten.
Aber wenn ich es (mit Matrixprodukt) verwende, habe ich segfaults.
Ich bin mir nicht sicher, aber ich denke, weil ArrayXd
ist kein guter skalarer Typ für MatrixX
.
Kann ich ArrayXd
als Skalar in Eigen verwenden?
Wenn die Antwort nein ist, was kann ich tun?
Was ist 'ArrayX'? MatrixXd 'kann nicht verwendet werden, es sollte Matrix sein, aber das wird wahrscheinlich nicht das machen, was Sie wollen. –
Ja, es ist 'MatrixX'. –
Siehe kangshiyins [antworten] (http://stackoverflow.com/a/38552257/2899559). –