Beispiel #1
0
  def encode(self, control_events, target_events):
    """Returns a SequenceExample for the given event sequence pair.

    Args:
      control_events: A list-like sequence of control events.
      target_events: A list-like sequence of target events, the same length as
          `control_events`.

    Returns:
      A tf.train.SequenceExample containing inputs and labels.

    Raises:
      ValueError: If the control and target event sequences have different
          length.
    """
    if len(control_events) != len(target_events):
      raise ValueError('must have the same number of control and target events '
                       '(%d control events but %d target events)' % (
                           len(control_events), len(target_events)))

    inputs = []
    labels = []
    for i in range(len(target_events) - 1):
      inputs.append(self.events_to_input(control_events, target_events, i))
      labels.append(self.events_to_label(target_events, i + 1))
    return sequence_example_lib.make_sequence_example(inputs, labels)
 def testEncode(self):
   events = [0, 1, 0, 2, 0]
   sequence_example = self.enc.encode(events)
   expected_inputs = [[0], [1], [0], [2]]
   expected_labels = [1, 0, 2, 0]
   expected_sequence_example = sequence_example_lib.make_sequence_example(
       expected_inputs, expected_labels)
   self.assertEqual(sequence_example, expected_sequence_example)
Beispiel #3
0
 def testEncode(self):
     events = [0, 1, 0, 2, 0]
     sequence_example = self.enc.encode(events)
     expected_inputs = [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [1.0, 0.0, 0.0],
                        [0.0, 0.0, 1.0]]
     expected_labels = [1, 0, 2, 0]
     expected_sequence_example = sequence_example_lib.make_sequence_example(
         expected_inputs, expected_labels)
     self.assertEqual(sequence_example, expected_sequence_example)
 def encode(self, events, mw):
     inputs = []
     labels = []
     for i in range(len(events) - 1):
         inputs.append(self.events_to_input(events, i, mw))
         labels.append(self.events_to_label(events, i + 1, mw))
     #mw.write(mw.model_dir, 'ed2_events', str(events))
     mw.write(mw.model_dir, 'ed2_inputs', inputs)
     mw.write(mw.model_dir, 'ed2_labels', labels)
     return sequence_example_lib.make_sequence_example(inputs, labels)
 def testEncode(self):
   control_events = [1, 1, 1, 0, 0]
   target_events = [0, 1, 0, 2, 0]
   sequence_example = self.enc.encode(control_events, target_events)
   expected_inputs = [[0.0, 1.0, 1.0, 0.0, 0.0],
                      [0.0, 1.0, 0.0, 1.0, 0.0],
                      [1.0, 0.0, 1.0, 0.0, 0.0],
                      [1.0, 0.0, 0.0, 0.0, 1.0]]
   expected_labels = [1, 0, 2, 0]
   expected_sequence_example = sequence_example_lib.make_sequence_example(
       expected_inputs, expected_labels)
   self.assertEqual(sequence_example, expected_sequence_example)
Beispiel #6
0
    def encode(self, events):
        """Returns a SequenceExample for the given event sequence.

    Args:
      events: A list-like sequence of events.

    Returns:
      A tf.train.SequenceExample containing inputs and labels.
    """
        inputs = []
        labels = []
        for i in range(len(events) - 1):
            inputs.append(self.events_to_input(events, i))
            labels.append(self.events_to_label(events, i + 1))
        return sequence_example_lib.make_sequence_example(inputs, labels)
Beispiel #7
0
  def encode(self, events):
    """Returns a SequenceExample for the given event sequence.

    Args:
      events: A list-like sequence of events.

    Returns:
      A tf.train.SequenceExample containing inputs and labels.
    """
    inputs = []
    labels = []
    for i in range(len(events) - 1):
      inputs.append(self.events_to_input(events, i))
      labels.append(self.events_to_label(events, i + 1))
    return sequence_example_lib.make_sequence_example(inputs, labels)
 def testSquashAndEncode(self):
   events = [100, 100, 107, 111, NO_EVENT, 99, 112, NOTE_OFF, NO_EVENT]
   melody = melodies_lib.Melody(events)
   sequence_example = self.melody_encoder_decoder.squash_and_encode(melody)
   expected_inputs = [
       [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
       [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
       [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0],
       [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0],
       [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
       [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0],
       [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
       [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
   expected_labels = [2, 9, 13, 0, 13, 2, 1, 0]
   expected_sequence_example = sequence_example_lib.make_sequence_example(
       expected_inputs, expected_labels)
   self.assertEqual(sequence_example, expected_sequence_example)
Beispiel #9
0
 def testEncode(self):
     events = [100, 100, 107, 111, NO_EVENT, 99, 112, NOTE_OFF, NO_EVENT]
     melody = melodies_lib.Melody(events)
     melody.squash(self.min_note, self.max_note, self.transpose_to_key)
     sequence_example = self.med.encode(melody)
     expected_inputs = [[
         0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
         0.0
     ],
                        [
                            0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
                            0.0, 0.0, 0.0, 0.0, 0.0
                        ],
                        [
                            0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
                            1.0, 0.0, 0.0, 0.0, 0.0
                        ],
                        [
                            0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
                            0.0, 0.0, 0.0, 0.0, 1.0
                        ],
                        [
                            1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
                            0.0, 0.0, 0.0, 0.0, 0.0
                        ],
                        [
                            0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
                            0.0, 0.0, 0.0, 0.0, 1.0
                        ],
                        [
                            0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
                            0.0, 0.0, 0.0, 0.0, 0.0
                        ],
                        [
                            0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
                            0.0, 0.0, 0.0, 0.0, 0.0
                        ]]
     expected_labels = [2, 9, 13, 0, 13, 2, 1, 0]
     expected_sequence_example = sequence_example_lib.make_sequence_example(
         expected_inputs, expected_labels)
     self.assertEqual(sequence_example, expected_sequence_example)
 def testEncode(self):
   events = [100, 100, 107, 111, NO_EVENT, 99, 112, NOTE_OFF, NO_EVENT]
   melody = melodies_lib.Melody(events)
   melody.squash(
       self.min_note,
       self.max_note,
       self.transpose_to_key)
   sequence_example = self.med.encode(melody)
   expected_inputs = [
       [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
       [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
       [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0],
       [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0],
       [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
       [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0],
       [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
       [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
   expected_labels = [2, 9, 13, 0, 13, 2, 1, 0]
   expected_sequence_example = sequence_example_lib.make_sequence_example(
       expected_inputs, expected_labels)
   self.assertEqual(sequence_example, expected_sequence_example)