我想将张量分成相同大小的两张。但是我目前的方法显然正在减慢该程序的速度。
当前,我首先使用tf.range(size / 2)创建一个ID列表,这将创建一个从0到size / 2的ID列表。然后我在张量上调用tf.gather并列出列表,以收集张量的前半部分。
indices = tf.cast(tf.range(tf.shape(softmax)[0]/2), tf.int32)
first_half_softmax = tf.gather(softmax, indices)
此方法现在有效。但是如果我改用tf.split会更快吗? 分离张量时,这两种方法的主要区别是什么。 (ofc tf.gather可以做更多,但仅就张量分裂功能而言)