File tree 3 files changed +63
-3
lines changed
segmentation_models_pytorch/utils
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
2
2
pretrainedmodels == 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 1
1
import sys
2
2
import torch
3
3
from tqdm import tqdm as tqdm
4
- from torchnet .meter import AverageValueMeter
4
+ from .meter import AverageValueMeter
5
5
6
6
7
7
class Epoch :
You can’t perform that action at this time.
0 commit comments