我的模型需要学习6个矩阵,我定义它们的方式如下:
self.R= tf.get_variable('R_',dtype=tf.float32, shape=[6,300 ,300], initializer=tf.random_uniform_initializer(maxval=0.1, minval=-0.1))
我需要更改它们的初始化方式。我希望将它们初始化为单位矩阵。有人能帮我实现吗?
回答:
如果你想创建一个6x300x300的矩阵,其中每个300×300的数组都是一个单位矩阵,你可以这样做:
import numpy as np;dimension = 300 singleIdentityMatrix = np.identity(dimension, dtype= np.float32) stackedMatrix = np.dstack( [singleIdentityMatrix] * 6)
然后使用以下代码传递这个矩阵:
self.R = tf.Variable(initial_value = stackedMatrix)