2
私は単語ごとにベクトルを含む単語埋め込み行列を持っています。私はTensorFlowを使用して、埋め込みベクトルが与えられたときに各単語の双方向LSTMエンコーディングを取得しようとしています。残念ながら、私は、次のエラーメッセージが出ます:ここで単語埋め込みのTensorFlow双方向LSTM符号化
ValueError: Shapes (1, 125) and() must have the same rank Exception TypeError: TypeError("'NoneType' object is not callable",) in ignored
を私が使用するコードです:
# Declare max number of words in a sentence
self.max_len = 100
# Declare number of dimensions for word embedding vectors
self.wdims = 100
# Indices of words in the sentence
self.wrd_holder = tf.placeholder(tf.int32, [self.max_len])
# Embedding Matrix
wrd_lookup = tf.Variable(tf.truncated_normal([len(vocab)+3, self.wdims], stddev=1.0/np.sqrt(self.wdims)))
# Declare forward and backward cells
forward = rnn_cell.LSTMCell(125, (self.wdims))
backward = rnn_cell.LSTMCell(125, (self.wdims))
# Perform lookup
wrd_embd = tf.nn.embedding_lookup(wrd_lookup, self.wrd_holder)
embd = tf.split(0, self.max_len, wrd_embd)
# run bidirectional LSTM
boutput = rnn.bidirectional_rnn(forward, backward, embd, dtype=tf.float32, sequence_length=self.max_len)
これは質問に対する答えを提供しません。十分な[評判](http://stackoverflow.com/help/whats-reputation)があれば、[任意の投稿にコメントする]ことができます(http://stackoverflow.com/help/privileges/comment)。代わりに、[質問者からの説明を必要としない回答を提供する](http://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-代わりに)。 - [レビューから](レビュー/低品質の投稿/ 11959085) –
明確にするために、sequence_lengthとしてmax_lenを使用します。これはスカラーです。それを渡さないか、予想されるベクトルである[max_len] * batch_sizeを渡します。 –