600
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
1 """
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
2 Routines to load variations on the Flickr image dataset.
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
3 """
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
4 from __future__ import absolute_import
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
5
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
6 import os
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
7 import numpy
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
8
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
9 from ..io import filetensor
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
10 from .config import data_root
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
11 from .dataset import Dataset
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
12
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
13
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
14 def test_10class():
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
15 #TODO: make path an option,
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
16 #TODO: make default path relative to data_root()
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
17 f = open('flickr_10classes_test.ft')
|
601
|
18 return filetensor.read(f)
|
600
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
19
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
20 def train_10class():
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
21 #TODO: make path an option,
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
22 #TODO: make default path relative to data_root()
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
23 f = open('flickr_10classes_train.ft')
|
601
|
24 return filetensor.read(f)
|
600
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
25
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
26 def valid_10class():
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
27 #TODO: make path an option,
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
28 #TODO: make default path relative to data_root()
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
29 f = open('flickr_10classes_valid.ft')
|
601
|
30 return filetensor.read(f)
|
600
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
31
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
32 def basic_10class():
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
33 """Return the basic flickr image classification problem.
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
34 The images are 75x75, and there are 7500 training examples.
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
35 """
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
36 train = train_10class()
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
37 valid = valid_10class()
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
38 test = test_10class()
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
39
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
40 rval = Dataset()
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
41
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
42 rval.train = Dataset.Obj(
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
43 x=train[:, 0:-1],
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
44 y=numpy.asarray(train[:, -1], dtype='int64'))
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
45 rval.valid = Dataset.Obj(
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
46 x=valid[:, 0:-1],
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
47 y=numpy.asarray(valid[:, -1], dtype='int64'))
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
48 rval.test = Dataset.Obj(
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
49 x=test[:, 0:-1],
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
50 y=numpy.asarray(test[:, -1], dtype='int64'))
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
51
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
52 rval.n_classes = 10
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
53 rval.img_shape = (75,75)
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
54 return rval
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
55
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
56 def translations_10class():
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
57 raise NotImplementedError('TODO')
|
James Bergstra <bergstrj@iro.umontreal.ca>
parents:
diff
changeset
|
58
|