File tree Expand file tree Collapse file tree 3 files changed +63
-3
lines changed
segmentation_models_pytorch/utils Expand file tree Collapse file tree 3 files changed +63
-3
lines changed Original file line number Diff line number Diff line change 1- torchvision >= 0.2.2 ,<= 0.3 .0
1+ torchvision >= 0.2.2 ,<= 0.4 .0
22pretrainedmodels == 0.7.4
3- torchnet == 0.0.4
Original file line number Diff line number Diff line change 1+ import numpy as np
2+
3+
4+ class Meter (object ):
5+ '''Meters provide a way to keep track of important statistics in an online manner.
6+ This class is abstract, but provides a standard interface for all meters to follow.
7+ '''
8+
9+ def reset (self ):
10+ '''Resets the meter to default settings.'''
11+ pass
12+
13+ def add (self , value ):
14+ '''Log a new value to the meter
15+ Args:
16+ value: Next restult to include.
17+ '''
18+ pass
19+
20+ def value (self ):
21+ '''Get the value of the meter in the current state.'''
22+ pass
23+
24+
25+ class AverageValueMeter (Meter ):
26+ def __init__ (self ):
27+ super (AverageValueMeter , self ).__init__ ()
28+ self .reset ()
29+ self .val = 0
30+
31+ def add (self , value , n = 1 ):
32+ self .val = value
33+ self .sum += value
34+ self .var += value * value
35+ self .n += n
36+
37+ if self .n == 0 :
38+ self .mean , self .std = np .nan , np .nan
39+ elif self .n == 1 :
40+ self .mean = 0.0 + self .sum # This is to force a copy in torch/numpy
41+ self .std = np .inf
42+ self .mean_old = self .mean
43+ self .m_s = 0.0
44+ else :
45+ self .mean = self .mean_old + (value - n * self .mean_old ) / float (self .n )
46+ self .m_s += (value - self .mean_old ) * (value - self .mean )
47+ self .mean_old = self .mean
48+ self .std = np .sqrt (self .m_s / (self .n - 1.0 ))
49+
50+ def value (self ):
51+ return self .mean , self .std
52+
53+ def reset (self ):
54+ self .n = 0
55+ self .sum = 0.0
56+ self .var = 0.0
57+ self .val = 0.0
58+ self .mean = np .nan
59+ self .mean_old = 0.0
60+ self .m_s = 0.0
61+ self .std = np .nan
Original file line number Diff line number Diff line change 11import sys
22import torch
33from tqdm import tqdm as tqdm
4- from torchnet .meter import AverageValueMeter
4+ from .meter import AverageValueMeter
55
66
77class Epoch :
You can’t perform that action at this time.
0 commit comments