Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tensorflow basic_rnn_seq2seq TypeError: Expected int32, got -0.1 of type 'float' instead

I am trying to run the encoder-decoder model on the dataset. Below is the sample code:

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))

I get an error of type mismatch (mentioned below). Does anyone know to solve the issue?

tensor_util.py, line 290, in _AssertCompatible
    (dtype.name, repr(mismatch), type(mismatch).__name__))
    TypeError: Expected int32, got -0.1 of type 'float' instead.
like image 897
user3480922 Avatar asked Sep 20 '26 09:09

user3480922


1 Answers

This is an issue of confusing error message. The actual cause is, when you call tf.get_variable() but do not set the default initializer, the error message will be confusing. You can use a tf.zero_initializer() or something like that to suppress this error.

like image 182
soloice Avatar answered Sep 22 '26 23:09

soloice



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!