yandex / faster-rnnlm

Faster Recurrent Neural Network Language Modeling Toolkit with Noise Contrastive Estimation and Hierarchical Softmax
Other
561 stars 138 forks source link

Issue in Windows #26

Open Microbotz opened 8 years ago

Microbotz commented 8 years ago

I am trying to compile this in windows. i fixed all the dependency related issues, but i am stuck at one place. The Dump and Load function in utils class is showing error and i am not able to compile it. Any help will be really helpful

Error 101 error C2784: 'void Dump(const Eigen::Matrix<Real,rows,-1,1> &,FILE )' : could not deduce template argument for 'const Eigen::Matrix<Real,rows,-1,1> &' from 'const RowMatrix' c:\users\users\documents\visual studio 2012\projects\rnnlm\faster-rnnlm\hierarchical_softmax.cc 251 Error 102 error C2784: 'void Load(Eigen::Matrix<Real,rows,-1,1> ,FILE )' : could not deduce template argument for 'Eigen::Matrix<Real,rows,-1,1> ' from 'RowMatrix ' c:\users\users\documents\visual studio 2012\projects\rnnlm\faster-rnnlm\hierarchical_softmax.cc 255 Error 126 error C2784: 'void Dump(const Eigen::Matrix<Real,rows,-1,1> &,FILE )' : could not deduce template argument for 'const Eigen::Matrix<Real,rows,-1,1> &' from 'const RowMatrix' c:\users\users\documents\visual studio 2012\projects\rnnlm\faster-rnnlm\nce.cc 196 Error 127 error C2784: 'void Load(Eigen::Matrix<Real,rows,-1,1> ,FILE )' : could not deduce template argument for 'Eigen::Matrix<Real,rows,-1,1> ' from 'RowMatrix ' c:\users\users\documents\visual studio 2012\projects\rnnlm\faster-rnnlm\nce.cc 200

gogabr commented 8 years ago

See https://github.com/yandex/faster-rnnlm/commit/040477dec66ec8526f88b0fb2700f1d752517e56

Thanh-Binh commented 8 years ago

@gogabr I think, your change causes other issues by building under Ubuntu, like my errors: ../faster-rnnlm/util.h: In instantiation of ‘void DumpMatrixArray(std::vector<Matrix>, FILE_) [with Matrix = Eigen::Matrix<float, 1, -1>; FILE = _IOFILE]’: ../faster-rnnlm/layers/interface.h:128:37: required from here ../faster-rnnlm/util.h:45:9: error: no matching function for call to ‘Dump(Eigen::Matrix<float, 1, -1>&, FILE&)’ ../faster-rnnlm/util.h:29:13: note: candidate: template<int rows, int _MaxRows, int MaxCols> void Dump(const Eigen::Matrix<float, rows, -1, 1>&, FILE) inline void Dump(const Eigen::Matrix<Real, rows, Eigen::Dynamic, Eigen::RowMajor>& matrix, FILE_ fo) { ^ ../faster-rnnlm/util.h:29:13: note: template argument deduction/substitution failed: ../faster-rnnlm/util.h:45:9: note: couldn't deduce template parameter ‘_MaxRows’ Dump(array[i], fo);

What do you think?

gogabr commented 8 years ago

https://github.com/yandex/faster-rnnlm/commit/9a50e7872b52e276e3188680121a2a3cdd048a40