4
itertools.productのようにTensorflowでデカルト積を行う簡単な方法はありますか?私は2つのテンソル(a
とb
)の要素の組み合わせを取得したい、それはitertools経由でlist(product(a, b))
として可能です。私はTensorflowの代替案を探しています。Tensorflowのデカルト製品
itertools.productのようにTensorflowでデカルト積を行う簡単な方法はありますか?私は2つのテンソル(a
とb
)の要素の組み合わせを取得したい、それはitertools経由でlist(product(a, b))
として可能です。私はTensorflowの代替案を探しています。Tensorflowのデカルト製品
ここでは、a
とb
の両方が1次元テンソルであると仮定します。
2のデカルト積を得るために、私は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(a)の* LEN(B)* 2テンソルそれぞれの組み合わせで終わりますa
とb
の要素のうち、最後の次元で表されます。
ありがとうございました。 – Jaba