我想在數據集上運行編碼器 - 解碼器模型。下面是示例代碼:Tensorflow basic_rnn_seq2seq TypeError:預期的int32,得到類型'浮動'-0.1代替
self._input_data = tf.placeholder(tf.int32, [batch_size, num_steps])
self._targets = tf.placeholder(tf.int32, [batch_size, num_steps])
enc_inputs.append(self._input_data) #one batch at once
dec_inputs.append(self._targets)
model = seq2seq.basic_rnn_seq2seq(enc_inputs, dec_inputs, tf.nn.rnn_cell.BasicLSTMCell(size, state_is_tuple=True))
我得到類型不匹配的錯誤(下面提到)。有誰知道解決這個問題?
tensor_util.py, line 290, in _AssertCompatible
(dtype.name, repr(mismatch), type(mismatch).__name__))
TypeError: Expected int32, got -0.1 of type 'float' instead.
似乎,將tf.int32更改爲tf.float32可解決此問題。我不知道爲什麼,但現在程序運行無錯。 – user3480922
當您嘗試將浮點值插入已鍵入爲int32的張量時,會出現類型錯誤。在將數據或圖形發送到後端客戶機執行之前,tensor_util.py用於構建python內的張量。從您的問題中不清楚如何重現您的錯誤。 _input_data如何被初始化?帶有浮點數的值? –
encode_input和decode_input是簡單的單詞ID(整數)。接下來,所有進程都在basic_rnn_seq2seq API內處理。 – user3480922