如果可能的话,最简单的事情可能是我只发布我试图直接在 Theano 中执行的 numpy 代码:
tensor = shared(np.random.randn(7, 16, 16)).eval()
tensor2 = tensor[0,:,:].eval()
tensor2[tensor2 < 1] = 0.0
tensor2[tensor2 > 0] = 1.0
new_tensor = [tensor2]
for i in range(1, tensor.shape[0]):
new_tensor.append(np.multiply(tensor2, tensor[i,:,:].eval()))
output = np.array(new_tensor).reshape(7,16,16)
如果不是很明显,我想做的是使用由 7 个不同矩阵组成的张量的一个矩阵中的值,并将其应用于张量中的其他矩阵。
真的,我要解决的问题是在 Keras 的完全卷积网络的目标函数中执行条件语句。基本上,根据其中一个特征图中的一些值,某些特征图值的损失将与其他值不同地计算(并随后加权)。