Самой простой вещи может быть для меня просто разместить код Numpy, что я пытаюсь выполнить непосредственно в Теано, если это возможно:Применение поэлементны условные функции на Theano TensorVariable
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. В принципе, потеря некоторых значений характеристик объектов будет рассчитываться (и впоследствии взвешена) иначе, чем другие, в зависимости от некоторых значений в одной из карт функций.