import tensorflow as tf

        self.rnn_nunroll = rnn_nunroll
        self.do_rnn = do_rnn
        self.target_weight_strategy = target_weight_strategy

    def assign_lr(self, sess, lr_new):
        assert self.mode == 'train'
        sess.run(tf.assign(self._lr, lr_new))
        return sess.run(self._lr_summary)

    def prepare_train_batch(self, charts, randomize_charts=False, **kwargs):
        # process kwargs
        exclude_kwarg_names = ['exclude_onset_neighbors', 'exclude_pre_onsets', 'exclude_post_onsets', 'include_onsets']
