在Tensorflow中制作变量的二维块矩阵

时间:2018-02-13 18:54:50

标签: python-3.x tensorflow

我想为模型制作一个2D矩阵:

y = Mx

其中M是具有以下形式的块矩阵:

enter image description here

和A和B是包含变量和常量混合的方形矩阵。 enter image description here enter image description here

如何在Tensorflow中设置矩阵M,它将保留块结构并仅针对A和B的特定元素进行优化?

1 个答案:

答案 0 :(得分:2)

以下是一种可以执行此操作的方法:

import tensorflow as tf

a11 = tf.Variable(1.0)
a12 = tf.Variable(2.0)
a22 = tf.Variable(3.0)
b12 = tf.Variable(4.0)
zero = tf.constant(0.0)

A = tf.reshape(tf.stack([a11,a12,zero,a22]),(2,2))
B = tf.reshape(tf.stack([zero,b12,zero,zero]),(2,2))
M = tf.concat([tf.concat([A,B],1),tf.concat([B,A],1)],0)