ValueError:Dimensions必须相等,但是512和256

时间:2017-09-02 15:31:53

标签: python tensorflow deep-learning lstm rnn

我正在尝试使用Tensorflow 1.3.0实现seq2seq模型以进行文本摘要。

我正在尝试在编码层中使用#include <iostream> #include <fstream> #include <sstream> #include <string> #include <vector> class myParserClass{ public: std::string path; std::vector<int> NODE_INDEX; std::vector<double> X, Y, Z; std::string DESCRIPTION; int NE, NP; myParserClass(){}; myParserClass(std::string path){ parse_file(path)}; void parse_fort14(std::string path){ std::ifstream filei(path.c_str()); std::string DESCRIPTION; getline(filei, DESCRITION); this->DESCRIPTION=DESCRIPTION; int NP, NE; stream >> NE >> NP; this->NE=NE; this->NP=NP; stream.str(""); stream.clear(); for(int x=0, x=NP, x++){ // I'm having trouble here.... this->NODE_INDEX=NODE_INDEX.push_back(node_index); this->X=X.push_back(x); this->Y=Y.push_back(y); this->Z=Z.push_back(z);}; }; int main (){myParserClass myInfo("/path/to/myInfo.txt");} MultiRNNCell。我错过了一些东西,却无法找到它。错误堆栈跟踪不是直接的,这使得它更难理解。

我在构建图表时遇到错误。

bidirectional_dynamic_rnn

我无法理解错误。它试图引用哪个矩阵?请帮帮我,我是Tensorflow的新手。

1 个答案:

答案 0 :(得分:1)

错误表示在解码器的LSTM(decoding/decoder/while/BasicDecoderStep/decoder/multi_rnn_cell/cell_0/cell_0/basic_lstm_cell/mul)内,在乘法(Mul)期间存在尺寸不匹配。

我的猜测是,对于您的实现,您需要两倍于解码器LSTM的单元格和编码器LSTM,因为您使用的是双向编码器。如果你有一个带有256个单元的LSTM的双向编码器,那么结果将有512个单元(当你连接前向和后向LSTM的输出时)。目前解码器似乎期望输入256个单元。