1
0
Fork 0
mirror of synced 2024-05-16 19:02:21 +12:00

Add BCE(binary cross entropy) loss for segmentation

Sigmoid() output is required.
This commit is contained in:
nagadomi 2017-02-23 08:48:00 +09:00
parent dac1b89750
commit cdafbf00ae
2 changed files with 5 additions and 1 deletions

View file

@ -75,7 +75,7 @@ cmd:option("-learning_rate_decay", 3.0e-7, 'learning rate decay (learning_rate *
cmd:option("-resume", "", 'resume model file')
cmd:option("-name", "user", 'model name for user method')
cmd:option("-gpu", 1, 'Device ID')
cmd:option("-loss", "huber", 'loss function (huber|l1|mse)')
cmd:option("-loss", "huber", 'loss function (huber|l1|mse|bce)')
cmd:option("-update_criterion", "mse", 'mse|loss')
local function to_bool(settings, name)

View file

@ -322,6 +322,10 @@ local function create_criterion(model)
return w2nn.L1Criterion():cuda()
elseif settings.loss == "mse" then
return w2nn.ClippedMSECriterion(0, 1.0):cuda()
elseif settings.loss == "bce" then
local bce = nn.BCECriterion()
bce.sizeAverage = true
return bce:cuda()
else
error("unsupported loss .." .. settings.loss)
end