示例#1
0
 def test_works_on_all_sources(self):
     transformer = FilterSources(
         self.stream, sources=("features", "targets"))
     assert_equal(transformer.sources, ('features', 'targets'))
     assert_equal(list(transformer.get_epoch_iterator()),
                  [(numpy.ones((2, 2, 2)), numpy.array([0, 1])),
                   (numpy.ones((2, 2, 2)), numpy.array([0, 1]))])
示例#2
0
 def test_works_on_all_sources(self):
     transformer = FilterSources(
         self.stream, sources=("features", "targets"))
     assert_equal(transformer.sources, ('features', 'targets'))
     assert_equal(list(transformer.get_epoch_iterator()),
                  [(numpy.ones((2, 2, 2)), numpy.array([0, 1])),
                   (numpy.ones((2, 2, 2)), numpy.array([0, 1]))])
def test_filter_sources():
    stream = DataStream(
        IndexableDataset(OrderedDict([("features", numpy.ones((4, 2, 2))), ("targets", numpy.array([0, 1, 0, 1]))])),
        iteration_scheme=SequentialScheme(4, 2),
    )

    transformer = FilterSources(stream, sources=("features",))

    assert_equal(transformer.sources, ("features",))
    assert len(next(transformer.get_epoch_iterator())) == 1

    transformer = FilterSources(stream, sources=("features", "targets"))

    assert_equal(transformer.sources, ("features", "targets"))
    assert len(next(transformer.get_epoch_iterator())) == 2

    transformer = FilterSources(stream, sources=("targets", "features"))

    assert_equal(transformer.sources, ("features", "targets"))
    assert len(next(transformer.get_epoch_iterator())) == 2

    assert_raises(ValueError, transformer.get_data, [0, 1])
    assert_raises(ValueError, FilterSources, stream, ["error", "targets"])
示例#4
0
def test_filter_sources():
    stream = DataStream(
        IndexableDataset(
            OrderedDict([('features', numpy.ones((4, 2, 2))),
                         ('targets', numpy.array([0, 1, 0, 1]))])),
        iteration_scheme=SequentialScheme(4, 2))

    transformer = FilterSources(stream, sources=("features",))

    assert_equal(transformer.sources, ('features',))
    assert len(next(transformer.get_epoch_iterator())) == 1

    transformer = FilterSources(stream, sources=("features", "targets"))

    assert_equal(transformer.sources, ('features', 'targets'))
    assert len(next(transformer.get_epoch_iterator())) == 2

    transformer = FilterSources(stream, sources=("targets", "features"))

    assert_equal(transformer.sources, ('features', 'targets'))
    assert len(next(transformer.get_epoch_iterator())) == 2

    assert_raises(ValueError, transformer.get_data, [0, 1])
    assert_raises(ValueError, FilterSources, stream, ['error', 'targets'])
    def _transpose(data):
        return tuple(array.swapaxes(0,1) for array in data)

    batch_size = 10

    dataset = Handwriting(('train',))
    data_stream = DataStream.default_stream(
            dataset, iteration_scheme=SequentialScheme(
            50, batch_size))
    data_stream = FilterSources(data_stream, 
                          sources = ('features',))
    data_stream = Padding(data_stream)
    data_stream = Mapping(data_stream, _transpose)

    epoch = data_stream.get_epoch_iterator()
    for batch in epoch:
        print batch[0].shape

    print "Segmented:"
    data_stream = SegmentSequence(data_stream, add_flag = True)

    epoch = data_stream.get_epoch_iterator()
    for batch in epoch:
        print batch[0].shape, batch[2]

    #ipdb.set_trace()



示例#6
0
 def test_works_on_sourcessubset(self):
     transformer = FilterSources(self.stream, sources=("features",))
     assert_equal(transformer.sources, ('features',))
     assert_equal(list(transformer.get_epoch_iterator()),
                  [(numpy.ones((2, 2, 2)),), (numpy.ones((2, 2, 2)),)])
示例#7
0
 def test_works_on_sourcessubset(self):
     transformer = FilterSources(self.stream, sources=("features",))
     assert_equal(transformer.sources, ('features',))
     assert_equal(list(transformer.get_epoch_iterator()),
                  [(numpy.ones((2, 2, 2)),), (numpy.ones((2, 2, 2)),)])
示例#8
0
                          sources = ('features',))
data_stream = Padding(data_stream)
data_stream = Mapping(data_stream, _transpose)
data_stream = ForceFloatX(data_stream)

dataset = Handwriting(('valid',))
valid_stream = DataStream.default_stream(
            dataset, iteration_scheme=SequentialScheme(
            dataset.num_examples, 10*batch_size))
valid_stream = FilterSources(valid_stream, 
                          sources = ('features',))
valid_stream = Padding(valid_stream)
valid_stream = Mapping(valid_stream, _transpose)
valid_stream = ForceFloatX(valid_stream)

x_tr = next(data_stream.get_epoch_iterator())

x = tensor.tensor3('features')
x_mask = tensor.matrix('features_mask')

transition = [GatedRecurrent(dim=hidden_size_recurrent, 
                   name = "gru_{}".format(i) ) for i in range(3)]

transition = RecurrentStack( transition,
            name="transition", skip_connections = True)

emitter = BivariateGMMEmitter(k = k)

source_names = [name for name in transition.apply.states if 'states' in name]
readout = Readout(
    readout_dim = readout_size,
示例#9
0
    def _transpose(data):
        return tuple(array.swapaxes(0,1) for array in data)

    batch_size = 10

    dataset = Handwriting(('train',))
    data_stream = DataStream.default_stream(
            dataset, iteration_scheme=SequentialScheme(
            50, batch_size))
    data_stream = FilterSources(data_stream, 
                          sources = ('features',))
    data_stream = Padding(data_stream)
    data_stream = Mapping(data_stream, _transpose)

    epoch = data_stream.get_epoch_iterator()
    for batch in epoch:
        print batch[0].shape

    print "Segmented:"
    data_stream = SegmentSequence(data_stream, add_flag = True)

    epoch = data_stream.get_epoch_iterator()
    for batch in epoch:
        print batch[0].shape, batch[2]

    #ipdb.set_trace()



示例#10
0
data_stream = FilterSources(data_stream, sources=('features', ))
data_stream = Padding(data_stream)
data_stream = Mapping(data_stream, _transpose)
data_stream = ForceFloatX(data_stream)

dataset = Handwriting(('valid', ))
valid_stream = DataStream.default_stream(dataset,
                                         iteration_scheme=SequentialScheme(
                                             dataset.num_examples,
                                             10 * batch_size))
valid_stream = FilterSources(valid_stream, sources=('features', ))
valid_stream = Padding(valid_stream)
valid_stream = Mapping(valid_stream, _transpose)
valid_stream = ForceFloatX(valid_stream)

x_tr = next(data_stream.get_epoch_iterator())

x = tensor.tensor3('features')
x_mask = tensor.matrix('features_mask')

transition = [
    GatedRecurrent(dim=hidden_size_recurrent, name="gru_{}".format(i))
    for i in range(3)
]

transition = RecurrentStack(transition,
                            name="transition",
                            skip_connections=True)

emitter = BivariateGMMEmitter(k=k)