/usr/local/lib64/python3.6/site-packages/caffe2/contrib/playground
NameSizeModeActions
resnetdemo/-0755rm
__pycache__/-0755rm
AnyExp.py179680644editdlrm
AnyExpOnTerm.py33460644editdlrm
checkpoint.py68810644editdlrm
compute_loss.py9650644editdlrm
compute_topk_accuracy.py21890644editdlrm
meter.py2920644editdlrm
ModuleRegister.py47710644editdlrm
module_map.py14270644editdlrm
output_generator.py4780644editdlrm
__init__.py00644editdlrm
Edit: /usr/local/lib64/python3.6/site-packages/caffe2/contrib/playground/compute_loss.py (965B)
import caffe2.contrib.playground.meter as Meter from caffe2.python import workspace class ComputeLoss(Meter.Meter): def __init__(self, opts=None, blob_name=''): self.blob_name = blob_name self.opts = opts self.iter = 0 self.value = 0 def Reset(self): self.iter = 0 self.value = 0 def Add(self): """Average values of a blob on each gpu""" value = 0 for idx in range(self.opts['distributed']['first_xpu_id'], self.opts['distributed']['first_xpu_id'] + self.opts['distributed']['num_xpus']): value += workspace.FetchBlob('{}_{}/{}'. format(self.opts['distributed']['device'], idx, self.blob_name)) self.value += value self.iter += 1 def Compute(self): result = self.opts['distributed']['num_shards'] * self.value / self.iter self.Reset() return result