diff --git a/__init__.py b/__init__.py index 7b8e7548..f61b1568 100644 --- a/__init__.py +++ b/__init__.py @@ -1,5 +1,5 @@ -from lab1 import * -from lab2 import * +from .lab1 import * +from .lab2 import * # from lab3 import * @@ -88,7 +88,7 @@ def __init__(self, sec, xlabel='', ylabel='', scale=None): def plot(self, data): if time.time() - self.tic > self.sec: plt.cla() - + if self.scale is None: plt.plot(data) elif self.scale == 'semilogx': diff --git a/lab1/__init__.py b/lab1/__init__.py index 171c8203..4669946a 100644 --- a/lab1/__init__.py +++ b/lab1/__init__.py @@ -1 +1 @@ -from util import * +from .util import * diff --git a/lab1/data/training_songs.pkl b/lab1/data/training_songs.pkl new file mode 100644 index 00000000..98d451ca Binary files /dev/null and b/lab1/data/training_songs.pkl differ diff --git a/lab1/util.py b/lab1/util.py index ea600bfc..d095a56e 100644 --- a/lab1/util.py +++ b/lab1/util.py @@ -1,13 +1,21 @@ import os import subprocess import regex as re +import urllib +DATA_URL = 'https://raw.githubusercontent.com/aamini/introtodeeplearning_labs/2019/lab1/data/irish.abc' -def extract_song_snippet(generated_text): +def load_training_data(): + stream = urllib.request.urlopen(DATA_URL) + text = stream.read().decode("utf-8") + songs = extract_song_snippet(text) + return songs + +def extract_song_snippet(text): pattern = '\n\n(.*?)\n\n' - search_results = re.findall(pattern, generated_text, overlapped=True, flags=re.DOTALL) + search_results = re.findall(pattern, text, overlapped=True, flags=re.DOTALL) songs = [song for song in search_results] - print "Found {} possible songs in generated texts".format(len(songs)) + print("Found {} songs in text".format(len(songs))) return songs def save_song_to_abc(song, filename="tmp"): @@ -25,14 +33,19 @@ def play_wav(wav_file): from IPython.display import Audio return Audio(wav_file) +def play_song(song): + basename = save_song_to_abc(song) + ret = abc2wav(basename+'.abc') + if ret == 0: #did not suceed + return play_wav(basename+'.wav') + return None + def play_generated_song(generated_text): songs = extract_song_snippet(generated_text) if len(songs) == 0: - print "No valid songs found in generated text. Try training the model longer or increasing the amount of generated music to ensure complete songs are generated!" + print("No valid songs found in generated text. Try training the model longer or increasing the amount of generated music to ensure complete songs are generated!") + import pdb; pdb.set_trace() for song in songs: - basename = save_song_to_abc(song) - ret = abc2wav(basename+'.abc') - if ret == 0: #did not suceed - return play_wav(basename+'.wav') - print "None of the songs were valid, try training longer to improve syntax." + play_song(song) + print("None of the songs were valid, try training longer to improve syntax.") diff --git a/lab2/__init__.py b/lab2/__init__.py index 171c8203..4669946a 100755 --- a/lab2/__init__.py +++ b/lab2/__init__.py @@ -1 +1 @@ -from util import * +from .util import * diff --git a/lab2/util.py b/lab2/util.py index 27b9f884..1deed586 100755 --- a/lab2/util.py +++ b/lab2/util.py @@ -13,12 +13,12 @@ class TrainingDatasetLoader(object): def __init__(self, data_path): - print "Opening {}".format(data_path) + print ("Opening {}".format(data_path)) sys.stdout.flush() self.cache = h5py.File(data_path, 'r') - print "Loading data into memory..." + print ("Loading data into memory...") sys.stdout.flush() self.images = self.cache['images'][:] self.labels = self.cache['labels'][:] diff --git a/mitdeeplearning/__init__.py b/mitdeeplearning/__init__.py new file mode 100644 index 00000000..cdeae6b9 --- /dev/null +++ b/mitdeeplearning/__init__.py @@ -0,0 +1 @@ +import mitdeeplearning.lab1 diff --git a/mitdeeplearning/lab1.py b/mitdeeplearning/lab1.py new file mode 100644 index 00000000..41ecf576 --- /dev/null +++ b/mitdeeplearning/lab1.py @@ -0,0 +1,2 @@ +def func(): + print("hi")