diff --git a/lib/RandomBinaryCriterion.lua b/lib/LBPCriterion.lua similarity index 99% rename from lib/RandomBinaryCriterion.lua rename to lib/LBPCriterion.lua index 0d4977c..8fba839 100644 --- a/lib/RandomBinaryCriterion.lua +++ b/lib/LBPCriterion.lua @@ -64,7 +64,6 @@ function RandomBinaryCriterion:updateOutput(input, target) local linear_targets = self.diff[torch.ge(self.diff_abs, self.gamma)] local square_loss = self.square_loss_buff:resizeAs(square_targets):copy(square_targets):pow(2.0):mul(0.5):sum() local linear_loss = self.linear_loss_buff:resizeAs(linear_targets):copy(linear_targets):abs():add(-0.5 * self.gamma):mul(self.gamma):sum() - --self.outlier_rate = linear_targets:nElement() / input:nElement() self.output = (square_loss + linear_loss) / lb1:nElement() diff --git a/lib/w2nn.lua b/lib/w2nn.lua index 0a0b85b..c045175 100644 --- a/lib/w2nn.lua +++ b/lib/w2nn.lua @@ -82,7 +82,7 @@ else require 'AuxiliaryLossCriterion' require 'GradWeight' require 'RandomBinaryConvolution' - require 'RandomBinaryCriterion' + require 'LBPCriterion' require 'EdgeFilter' require 'ScaleTable' return w2nn diff --git a/train.lua b/train.lua index ce9fbfb..f12ffa6 100644 --- a/train.lua +++ b/train.lua @@ -390,27 +390,27 @@ local function create_criterion(model) return aux:cuda() elseif settings.loss == "lbp" then if reconstruct.is_rgb(model) then - return w2nn.RandomBinaryCriterion(3, 128):cuda() + return w2nn.LBPCriterion(3, 128):cuda() else - return w2nn.RandomBinaryCriterion(1, 128):cuda() + return w2nn.LBPCriterion(1, 128):cuda() end elseif settings.loss == "lbp2" then if reconstruct.is_rgb(model) then - return w2nn.RandomBinaryCriterion(3, 128, 3, 2):cuda() + return w2nn.LBPCriterion(3, 128, 3, 2):cuda() else - return w2nn.RandomBinaryCriterion(1, 128, 3, 2):cuda() + return w2nn.LBPCriterion(1, 128, 3, 2):cuda() end elseif settings.loss == "aux_lbp" then if reconstruct.is_rgb(model) then - return w2nn.AuxiliaryLossCriterion(w2nn.RandomBinaryCriterion, {3, 128}):cuda() + return w2nn.AuxiliaryLossCriterion(w2nn.LBPCriterion, {3, 128}):cuda() else - return w2nn.AuxiliaryLossCriterion(w2nn.RandomBinaryCriterion, {1, 128}):cuda() + return w2nn.AuxiliaryLossCriterion(w2nn.LBPCriterion, {1, 128}):cuda() end elseif settings.loss == "aux_lbp2" then if reconstruct.is_rgb(model) then - return w2nn.AuxiliaryLossCriterion(w2nn.RandomBinaryCriterion, {3, 128, 3, 2}):cuda() + return w2nn.AuxiliaryLossCriterion(w2nn.LBPCriterion, {3, 128, 3, 2}):cuda() else - return w2nn.AuxiliaryLossCriterion(w2nn.RandomBinaryCriterion, {1, 128, 3, 2}):cuda() + return w2nn.AuxiliaryLossCriterion(w2nn.LBPCriterion, {1, 128, 3, 2}):cuda() end else error("unsupported loss .." .. settings.loss)