def _train_fprop(self, state_below): samples = tf.multinomial(state_below, num_samples=1) samples = tf.squeeze(samples) return tf.gather(self.diag, samples)