DeepRL-Agents icon indicating copy to clipboard operation
DeepRL-Agents copied to clipboard

DRQN: Error prefix tensor must be either a scalar or vector

Open ariewahyu opened this issue 8 years ago • 3 comments

I tried the DRQN for partial observations, but I got the error:

ValueError: prefix tensor must be either a scalar or vector, but saw tensor: Tensor("Placeholder_2:0", dtype=int32)

----Error happens in this line-------

self.state_in = rnn_cell.zero_state(self.batch_size, tf.float32)

ariewahyu avatar Jul 13 '17 05:07 ariewahyu

I found that there are 3 consecutive lines:

self.batch_size = tf.placeholder(dtype=tf.int32) self.convFlat = tf.reshape(slim.flatten(self.conv4),[self.batch_size,self.trainLength,h_size]) self.state_in = rnn_cell.zero_state(self.batch_size, tf.float32)

I change the line:

self.batch_size = tf.placeholder(dtype=tf.int32)

into:

self.batch_size = tf.placeholder(dtype=tf.int32,shape=[])

And it works.

ariewahyu avatar Jul 14 '17 07:07 ariewahyu

Thank you!!!! I thought for sure the code was doomed, per https://github.com/tensorflow/tensorflow/issues/10213

But this fix is correct and worked for me, too!

Really hope @awjuliani can fix in the code (modify literally one line), thank you sir!

tylerlekang avatar Aug 15 '17 22:08 tylerlekang

Just made the change! Thanks for pointing this out.

awjuliani avatar Aug 15 '17 22:08 awjuliani