python – 在TensorFlow中计算Kronecker产品的最有效方法是什么?

我有兴趣在TensorFlow中对Kronecker Recurrent Units实施
this paper.

这涉及Kronecker产品的计算. TensorFlow没有Kronecker产品的操作.我正在寻找一种有效而强大的计算方法.

这是否存在,还是需要手动定义TensorFlow操作?

最佳答案 TensorFlow 1.7在tf.contrib.kfac.utils.kronecker_product中提供了函数
kronecker_product

a = tf.eye(3)
b = tf.constant([[1., 2.], [3., 4.]])
kron = tf.contrib.kfac.utils.kronecker_product(a, b)

tf.Session().run(kron)

输出:

array([[1., 2., 0., 0., 0., 0.],
       [3., 4., 0., 0., 0., 0.],
       [0., 0., 1., 2., 0., 0.],
       [0., 0., 3., 4., 0., 0.],
       [0., 0., 0., 0., 1., 2.],
       [0., 0., 0., 0., 3., 4.]], dtype=float32)
点赞