Skip to content

Instantly share code, notes, and snippets.

View keunwoochoi's full-sized avatar

Keunwoo Choi keunwoochoi

View GitHub Profile
def design_residual_model(setting_dict):
''''''
def design_for_mel():
''''''
model = keras.layers.containers.Sequential() # it's a CONTAINER, not MODEL.
# set numbers
image_patch_sizes = [[3,3]]*num_layers
vgg_modi_weight, pool_sizes = get_residual_weights(num_layers=num_layers)
setting_dict['vgg_modi_weight'] = vgg_modi_weight
height_input = height
@keunwoochoi
keunwoochoi / buffering_by_sander.py
Created July 27, 2016 17:40
How to prepare audio on-the-fly
# https://github.com/benanne/kaggle-ndsb/blob/master/buffering.py
import multiprocessing as mp
import Queue
import threading
def buffered_gen_mp(source_gen, buffer_size=2):
"""
Generator that runs a slow source generator in a separate process.
buffer_size: the maximal number of items to pre-generate (length of the buffer)
"""
#!/usr/bin/env python
import numpy as np
import pescador
def data_sampler(filename, n_samples):
# Load all the data from the file, somehow
data = load_data(filename)
@keunwoochoi
keunwoochoi / model_to_release.py
Last active October 10, 2016 04:11
playlist generation model
import keras
from keras.models import Sequential
from keras.layers.core import Dense, Activation, Dropout, TimeDistributedDense
from keras.layers.recurrent import LSTM, SimpleRNN
def build_model(num_layers=2, num_units=256, maxlen_rnn=50, dim_label=50):
'''
num_layers: in [2, 3]
num_units: in [256, 512, 1024]
from keras.models import Sequential
from kapre.time_frequency import Melspectrogram
from kapre.utils import Normalization2D
from kapre.augmentation import AdditiveNoise
# 6 channels (!), maybe 1-sec audio signal
input_shape = (6, 44100)
sr = 44100
model = Sequential()
# A mel-spectrogram layer with
def cnn_model(n_ch):
'''Assuming cifar-10 '''
input_shape = (3, 32, 32)
model = Sequential()
for i in range(N_LAYER):
if i == 0:
model.add(Convolution2D(n_ch, 3, 3, border_mode='same',
input_shape=input_shape,
name='conv%d' % i))
else:
def gen():
print('generator initiated')
idx = 0
while True:
yield x_train[:32], y_train[:32]
print('generator yielded a batch %d' % idx)
idx += 1
tr_gen = gen()
model.fit_generator(generator=tr_gen, steps_per_epoch=20, max_queue_size=10)
import time
def gen():
print('generator initiated')
idx = 0
while True:
yield x_train[:32], y_train[:32]
print('generator yielded a batch %d' % idx)
idx += 1
time.sleep(3)
def gen():
print('generator initiated')
idx = 0
while True:
yield x_train[:32], y_train[:32]
print('generator yielded a batch %d' % idx)
idx += 1
tr_gen = gen()
model.fit_generator(generator=tr_gen, steps_per_epoch=20, max_queue_size=10,
import threading
class threadsafe_iter:
"""Takes an iterator/generator and makes it thread-safe by
serializing call to the `next` method of given iterator/generator.
"""
def __init__(self, it):
self.it = it
self.lock = threading.Lock()