我正在尝试在keras的tensorflow中重写以下python代码。但是,我在tensorflow keras中找不到np.matlib.repmat等效项。有人可以帮我解决这个问题吗?
index = np.arange(0,256);
index_transpose = index.reshape(256,1)
I = numpy.matlib.repmat(index_transpose,1,256).reshape(256,256);
J = numpy.matlib.repmat(index,256,1);
I和J的形状应为: I形状:(256,256),J形状:(256,256)
答案 0 :(得分:2)
您可以这样做:
index = K.arange(256) #[0,1,2...,255]
I = K.stack([index]*256, axis=-1)
J = K.stack([index]*256, axis= 0)
位置:
I = [0,0,0....]
[1,1,1,....]
...
[255,.....]
J = [0,1,2,3...,255]
[0,1,2,3...,255]
.....
答案 1 :(得分:0)
您可以这样做:
I = tf.tile(tf.reshape(index), [-1, 1]), [1, len(index)])
# [[0 0 0 0 0]
# [1 1 1 1 1]
# [2 2 2 2 2]
# [3 3 3 3 3]
# [4 4 4 4 4]]
J = tf.transpose(I)
# [[0 1 2 3 4]
# [0 1 2 3 4]
# [0 1 2 3 4]
# [0 1 2 3 4]
# [0 1 2 3 4]]
假设index = np.arange(0,5)
用于测试。