我在两个GPU的每一个上计算了大小为[None, 1024]
的矩阵(称为"左GPU""右GPU")。 None
表示批量大小。我想将矩阵从右GPU复制到左GPU(为了区分目的将其视为常量),然后将它们相乘:
result = tf.matmul(left_matrix, right_matrix_copied, transpose_b=True)
获得形状[None, None]
的方阵。因为我继续将tf.diag_part
应用于矩阵,所以矩阵是正方形非常重要。 (如果您想知道,我也会使用所有非对角线条目。)
我尝试通过将tf.Variable
分配给trainable=False
,然后将assign
分配给validate_shape=False
来尝试这样做,但我仍然被迫指定变量&# 39;静态初始形状(没有尺寸允许为None
)。当我动态地改变形状时,tf.diag_part
op抱怨。
我该怎么做?