These lines should be
in_indices = tf.placeholder(tf.int32, np_indices.shape, name="in_indices")
out = tf.gather_nd(in_data, in_indices)
then, your test worked correctly on my environment.
These lines should be
in_indices = tf.placeholder(tf.int32, np_indices.shape, name="in_indices")
out = tf.gather_nd(in_data, in_indices)
then, your test worked correctly on my environment.