我将在此假定
a和
b均为一维张量。
为了得到两者的笛卡尔积,我会用的组合
tf.expand_dims和
tf.tile:
a = tf.constant([1,2,3]) b = tf.constant([4,5,6,7])tile_a = tf.tile(tf.expand_dims(a, 1), [1, tf.shape(b)[0]]) tile_a = tf.expand_dims(tile_a, 2) tile_b = tf.tile(tf.expand_dims(b, 0), [tf.shape(a)[0], 1]) tile_b = tf.expand_dims(tile_b, 2)cartesian_product = tf.concat([tile_a, tile_b], axis=2)cart = tf.Session().run(cartesian_product)print(cart.shape) print(cart)
您使用LEN(一) LEN(B) 2张量,其中的元件的每个组合结束
a并且
b在最后一维表示。



