Ejemplo n.º 1
0
    def process(self):
        """ Processes all data that is provided by the input node

        Returns a generator that yields the data after being processed by this
        node.
        """
        assert(self.input_node != None), "No input node specified!"
        # Assert  that this node has already been trained
        assert(not self.is_trainable() or
               self.get_remaining_train_phase() == 0), "Node not trained!"
               
        data_generator = \
                itertools.imap(lambda (data, label):
                               (self.execute(data), label),
                               self.input_node.process())
                
        self.client = TimeSeriesClient(ts_stream = data_generator)
        
        self.client.connect()
        self.marker_windower = MarkerWindower(data_client=self.client,
                                              windowdefs=self.window_definition,
                                              stridems=self.nullmarker_stride_ms)
        
        if self.marker_windower == None:
            self.window_stream()

        # Create a generator that emits the windows
        test_data_generator = ((sample, label) \
                               for (sample, label) in self.marker_windower)

        self.data_for_testing = MemoizeGenerator(test_data_generator)

        # Return a fresh copy of the generator
        return self.data_for_testing.fresh()
Ejemplo n.º 2
0
 def window_stream(self, data):
     # Creates a windower that splits the given data data into windows
     # based in the window definitions provided
     # and assigns correct labels to these windows
     self.client = TimeSeriesClient(ts_stream = iter(data))
     
     self.client.connect()
     self.marker_windower = MarkerWindower(data_client=self.client,
                                           windowdefs=self.window_definition,
                                           stridems=self.nullmarker_stride_ms)