Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

1234567891011121314151617181920212223242526272829303132
  1. local AbsCriterion, parent = torch.class('nn.AbsCriterion', 'nn.Criterion')
  2. function AbsCriterion:__init(sizeAverage)
  3. parent.__init(self)
  4. if sizeAverage ~= nil then
  5. self.sizeAverage = sizeAverage
  6. else
  7. self.sizeAverage = true
  8. end
  9. end
  10. function AbsCriterion:updateOutput(input, target)
  11. self.output_tensor = self.output_tensor or input.new(1)
  12. input.THNN.AbsCriterion_updateOutput(
  13. input:cdata(),
  14. target:cdata(),
  15. self.output_tensor:cdata(),
  16. self.sizeAverage
  17. )
  18. self.output = self.output_tensor[1]
  19. return self.output
  20. end
  21. function AbsCriterion:updateGradInput(input, target)
  22. input.THNN.AbsCriterion_updateGradInput(
  23. input:cdata(),
  24. target:cdata(),
  25. self.gradInput:cdata(),
  26. self.sizeAverage
  27. )
  28. return self.gradInput
  29. end