Commit 6d299170 authored by Yuxin Wu's avatar Yuxin Wu

svhn mean

parent 56178e92
...@@ -20,10 +20,15 @@ class SVHNDigit(DataFlow): ...@@ -20,10 +20,15 @@ class SVHNDigit(DataFlow):
SVHN Cropped Digit Dataset SVHN Cropped Digit Dataset
return img of 32x32x3, label of 0-9 return img of 32x32x3, label of 0-9
""" """
Cache = {}
def __init__(self, name, data_dir=None): def __init__(self, name, data_dir=None):
""" """
name: 'train', 'test', or 'extra' name: 'train', 'test', or 'extra'
""" """
if name in SVHNDigit.Cache:
self.X, self.Y = SVHNDigit.Cache[name]
return
if data_dir is None: if data_dir is None:
data_dir = os.path.join( data_dir = os.path.join(
os.path.dirname(__file__), os.path.dirname(__file__),
...@@ -38,6 +43,7 @@ http://ufldl.stanford.edu/housenumbers/".format(filename) ...@@ -38,6 +43,7 @@ http://ufldl.stanford.edu/housenumbers/".format(filename)
self.X = data['X'].transpose(3,0,1,2) self.X = data['X'].transpose(3,0,1,2)
self.Y = data['y'].reshape((-1)) self.Y = data['y'].reshape((-1))
self.Y[self.Y==10] = 0 self.Y[self.Y==10] = 0
SVHNDigit.Cache[name] = (self.X, self.Y)
def size(self): def size(self):
return self.X.shape[0] return self.X.shape[0]
...@@ -47,3 +53,16 @@ http://ufldl.stanford.edu/housenumbers/".format(filename) ...@@ -47,3 +53,16 @@ http://ufldl.stanford.edu/housenumbers/".format(filename)
for k in range(n): for k in range(n):
yield [self.X[k], self.Y[k]] yield [self.X[k], self.Y[k]]
@staticmethod
def get_per_pixel_mean():
"""
return 32x32x3 image
"""
a = SVHNDigit('train')
b = SVHNDigit('test')
c = SVHNDigit('extra')
return numpy.concatenate((a.X, b.X, c.X)).mean(axis=0)
if __name__ == '__main__':
a = SVHNDigit('train')
b = SVHNDigit.get_per_pixel_mean()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment