任何图像在theano中的归一化?
normalization in theano for any image?
我写了下面的代码,但是速度很慢。而且,当然,不能正常工作!
我有我做什么?
for i in range(image_shape[0]):
for j in range(filter_shape[0]):
pmin = self.pooled_out[i][j].min()
pmax = self.pooled_out[i][j].max()
self.pooled_out = T.set_subtensor(T.set_subtensor(self.pooled_out[i], self.pooled_out[i])[j],self.pooled_out[i][j] - pmin)
self.pooled_out = T.set_subtensor(T.set_subtensor(self.pooled_out[i], self.pooled_out[i])[j],self.pooled_out[i][j] / pmax)
首先,您的那部分代码什么都不做。只需删除此行
T.set_subtensor(self.pooled_out[i], self.pooled_out[i])
没有完整的代码,我无法测试我的解决方案,但我认为这可以满足您的要求:
pmin = self.pooled_out.min(axis=[2,3], keepdims=True)
pmax = self.pooled_out.max(axis=[2,3], keepdims=True)
normalized_pooled_out = (self.pooled_out - pmin)/pmax
然后 normalized_pooled_out 包含具有我认为您想要的值的符号变量。
我写了下面的代码,但是速度很慢。而且,当然,不能正常工作!
我有我做什么?
for i in range(image_shape[0]):
for j in range(filter_shape[0]):
pmin = self.pooled_out[i][j].min()
pmax = self.pooled_out[i][j].max()
self.pooled_out = T.set_subtensor(T.set_subtensor(self.pooled_out[i], self.pooled_out[i])[j],self.pooled_out[i][j] - pmin)
self.pooled_out = T.set_subtensor(T.set_subtensor(self.pooled_out[i], self.pooled_out[i])[j],self.pooled_out[i][j] / pmax)
首先,您的那部分代码什么都不做。只需删除此行
T.set_subtensor(self.pooled_out[i], self.pooled_out[i])
没有完整的代码,我无法测试我的解决方案,但我认为这可以满足您的要求:
pmin = self.pooled_out.min(axis=[2,3], keepdims=True)
pmax = self.pooled_out.max(axis=[2,3], keepdims=True)
normalized_pooled_out = (self.pooled_out - pmin)/pmax
然后 normalized_pooled_out 包含具有我认为您想要的值的符号变量。