Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,7 @@
build/
*.DS_Store
.vscode/*
.idea
logs
wandb
.python-version
1 change: 1 addition & 0 deletions magenta/models/coconet/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
coconet_checkpoint
15 changes: 8 additions & 7 deletions magenta/models/coconet/coconet_evaluate.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@

import os

from magenta.models.coconet import lib_data
from magenta.models.coconet import lib_evaluation
from magenta.models.coconet import lib_graph
from magenta.models.coconet import lib_util
import lib_data
import lib_evaluation
import lib_graph
import lib_util
import numpy as np
import tensorflow as tf

Expand All @@ -38,16 +38,16 @@
flags.DEFINE_string('fold_index', None,
'Optionally, index of particular data point in fold to '
'evaluate.')
flags.DEFINE_string('unit', None, 'Note or frame or example.')
flags.DEFINE_string('unit', 'note', 'Note or frame or example.')
flags.DEFINE_integer('ensemble_size', 5,
'Number of ensemble members to average.')
flags.DEFINE_bool('chronological', False,
flags.DEFINE_bool('chronological', True,
'Indicates evaluation should proceed in chronological order.')
flags.DEFINE_string('checkpoint', None, 'Path to checkpoint directory.')
flags.DEFINE_string('sample_npy_path', None, 'Path to samples to be evaluated.')


EVAL_SUBDIR = 'eval_stats'
EVAL_SUBDIR = 'eval'


def main(unused_argv):
Expand Down Expand Up @@ -132,6 +132,7 @@ def evaluate_paths(paths, evaluator, unused_hparams, eval_logdir):
def get_fold_pianorolls(fold, hparams):
dataset = lib_data.get_dataset(FLAGS.data_dir, hparams, fold)
pianorolls = dataset.get_pianorolls()
pianorolls[0:2]
tf.logging.info('Retrieving pianorolls from %s set of %s dataset.',
fold, hparams.dataset)
print_statistics(pianorolls)
Expand Down
14 changes: 7 additions & 7 deletions magenta/models/coconet/coconet_sample.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@
import re
import time

from magenta.models.coconet import lib_graph
from magenta.models.coconet import lib_logging
from magenta.models.coconet import lib_mask
from magenta.models.coconet import lib_pianoroll
from magenta.models.coconet import lib_sampling
from magenta.models.coconet import lib_tfsampling
from magenta.models.coconet import lib_util
import lib_graph
import lib_logging
import lib_mask
import lib_pianoroll
import lib_sampling
import lib_tfsampling
import lib_util
import numpy as np
import pretty_midi
import tensorflow as tf
Expand Down
2 changes: 1 addition & 1 deletion magenta/models/coconet/coconet_train.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@
'Optimize masked predictions only.')
flags.DEFINE_bool('rescale_loss', True, 'Rescale loss based on context size.')
flags.DEFINE_integer(
'patience', 10,
'patience', 5,
'Number of epochs to wait for improvement before decaying learning rate.')

flags.DEFINE_float('corrupt_ratio', 0.5, 'Fraction of variables to mask out.')
Expand Down
17 changes: 8 additions & 9 deletions magenta/models/coconet/evalmodel_bazel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,22 +28,21 @@ checkpoint=$1
data_dir="testdata"

# Change this to where evaluation results are stored.
eval_logdir="eval_logdir"
eval_logdir=$1

# Evaluation settings.
fold=valid
fold_index=1 # Optionally can specify index of specific piece to be evaluated.
unit=frame
chronological=false
ensemble_size=5 # Number of different orderings to average.
#fold_index=1 # Optionally can specify index of specific piece to be evaluated.
unit=note
chronological=True
ensemble_size=1 # Number of different orderings to average.

# Run command.
python coconet_evaluate.py \
python3 coconet_evaluate.py \
--data_dir=$data_dir \
--eval_logdir=$eval_logdir \
--checkpoint=$checkpoint \
--fold=$fold \
--unit=$unit \
--chronological=$chronological \
--ensemble_size=5 \
#--fold_index=$fold_index
--ensemble_size=$ensemble_size \
--unit=$unit
8 changes: 4 additions & 4 deletions magenta/models/coconet/lib_evaluation.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@

import time

from magenta.models.coconet import lib_tfutil
from magenta.models.coconet import lib_util
import lib_tfutil
import lib_util
import numpy as np
from scipy.misc import logsumexp
from scipy.special import logsumexp
import tensorflow as tf


Expand Down Expand Up @@ -287,7 +287,7 @@ def __call__(self, pianoroll):
self._update_lls(lls, xs, pxhats, ts, ds)
return lls

def _draw_ordering(self, tt, dd):
def draw_ordering(self, tt, dd):
o = np.arange(tt * dd, dtype=np.int32)
if not self.chronological:
np.random.shuffle(o)
Expand Down
2 changes: 1 addition & 1 deletion magenta/models/coconet/lib_logging.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import contextlib
import os

from magenta.models.coconet import lib_util
import lib_util
import numpy as np


Expand Down
10 changes: 5 additions & 5 deletions magenta/models/coconet/lib_sampling.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@
from __future__ import division
from __future__ import print_function

from magenta.models.coconet import lib_data
from magenta.models.coconet import lib_logging
from magenta.models.coconet import lib_mask
from magenta.models.coconet import lib_tfutil
from magenta.models.coconet import lib_util
import lib_data
import lib_logging
import lib_mask
import lib_tfutil
import lib_util
import numpy as np

################
Expand Down
4 changes: 1 addition & 3 deletions magenta/models/coconet/sample_bazel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ strategy=igibbs
tfsample=true

# Run command.
python coconet_sample.py \
python3 coconet_sample.py \
--checkpoint="$checkpoint" \
--gen_batch_size=$gen_batch_size \
--piece_length=$piece_length \
Expand All @@ -44,5 +44,3 @@ python coconet_sample.py \
--tfsample=$tfsample \
--generation_output_dir=$generation_output_dir \
--logtostderr


Binary file not shown.
2 changes: 1 addition & 1 deletion magenta/models/coconet/train_bazel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ quantization_level=0.125 # 16th notes
maskout_method=orderless
num_layers=32
num_filters=64
batch_size=20
batch_size=10
use_sep_conv=True
architecture='dilated'
num_dilation_blocks=1
Expand Down
3 changes: 3 additions & 0 deletions magenta/models/coconet/transfer.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
coconet_evaluate.py
evalmodel_bazel.sh
coconet_train.py
train_bazel.sh
lib_util.py
Expand All @@ -7,3 +9,4 @@ lib_data.py
lib_mask.py
lib_pianoroll.py
lib_tfutil.py
lib_evaluation.py