2015-01-07 4 views
0

Я пишу ниже код, но это очень медленно. И, конечно, не работает правильно!нормализация в anano для любого изображения?

У меня есть то, что я делаю?

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) 

ответ

1

Сначала этот раздел вашего кода ничего не делает. Просто удалите эту строку

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 содержит символические переменный, которые имеют значение Думаю, ты хочешь.