我正在尝试使用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的新手。
答案 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个单元。