我正在使用tensorflow建立模型。我有一个张量t1 = [a,b,c,x]和另一个t2 = [a,b,c,y]。 x将始终是y的倍数。我想在t1上以y的间隔滑动t2。这是我的代码:
def elementwise_add(dense, transition):
#other will always have less dims that dense
dim_dense = int(dense.shape[-1])
dim_transition = int(transition.shape[-1])
iters = dim_dense // dim_transition
dense_shape = [int(x) for x in dense.shape]
output = np.zeros((dense_shape[0], dense_shape[1], dense_shape[2],
dense_shape[3]))
counter = 0
dense = dense.numpy()
transition = transition.numpy()
for i in range(iters):
output[:,:,:,counter:counter+dim_transition] =
np.add(dense[:,:,:,counter:counter+dim_transition], transition)
counter = counter + dim_transition
return tf.convert_to_tensor(output)
问题是我想在numpy中执行所有操作并将结果转换回张量,所以我认为我可以简单地将密数转换为numpy数组并执行此操作,但它似乎不像.numpy那样简单()。完成这项任务的最佳方法是什么?我已经看到您可以启动sess并使用eval将张量转换为numpy数组,但是有没有更好/更容易的方法来完成此任务?