def midi_to_token_ids(self, midi_name): """ Helper function to encode midis from a dataset. See data_utils.py's encode() for the specifics. """ path = os.path.join(self.data_dir, midi_name) try: stream = m21.converter.parse(path) encoding, measures = encode(stream) track_id = self.get_track_id(path) track_ids = [track_id] * len(encoding) return encoding, measures, track_ids except: return [[], [], []]
yvocab_size = xvocab_size emb_dim = 1024 import seq2seq_wrapper import importlib importlib.reload(seq2seq_wrapper) model = seq2seq_wrapper.Seq2Seq(xseq_len=xseq_len, yseq_len=yseq_len, xvocab_size=xvocab_size, yvocab_size=yvocab_size, ckpt_path='ckpt/opensubtitle/', emb_dim=emb_dim, num_layers=3) sess = model.restore_last_session() while True: query = input('Input:\t') if query == 'quit' or query == 'exit': exit(0) ids = data_utils.encode(sequence=query, lookup=metadata['w2idx']) output = model.predict(sess, ids) reply = data_utils.decode(sequence=output[0], lookup=metadata['idx2w'], separator=' ') print('Output:' + reply)
def respond(msg): encoded_msg = data_utils.encode(msg, w2idx, limit['maxq']) response = model.predict(sess, encoded_msg)[0] return data_utils.decode(response, idx2w)
from data_utils import encode from loader import load_file_content, dump_to_file train = load_file_content('data/original/train.txt') dev = load_file_content('data/original/dev.txt') train_data = encode(train) dev_data = encode(dev) dump_to_file(train_data, 'data/example.train', 'w') dump_to_file(dev_data, 'data/example.dev', 'w') dump_to_file(dev_data, 'data/example.test', 'w')