2016-05-31 62 views
0

我正在嘗試使用HSV色彩空間中的圖像。由於色調通道是循環的,我希望它在0和1之間歸一化。我打算在輸出層上使用線性激活。有沒有辦法添加以循環方式夾住輸出的另一層?如1.02 - > 0.02?在theano中是否有fmod?

回答

1

你可以只添加一個額外的激活(不另一層)到您的線性激活

linear_activation = ..... # your code to calculate linear activation 
cyclic_linear_activation = theano.tensor.switch(linear_activation > 1.0, 
               linear_activation % 1.0, 
               linear_activation) 

theano.tensor.switch將檢查激活大於1.0,將其更改爲在x mod 1.0,它會做如此前分別爲在linear_activation

編輯

爲了對付負每個元素以同樣的方式處理積極的事情,你可以做以下的事情

theano.tensor.switch(cyclic_linear_activation < 0.0, 
        (cyclic_linear_activation % 1.0) + 1.0, 
        cyclic_linear_activation) 
+0

我會如何處理消極?喜歡-0.01 - > 0.99 – chasep255

+0

我在第一個錯誤中修復了它並添加了一個編輯以包含您的負面情況 –