Exemplo n.º 1
0
    def test_traineval(self):
        tf.logging.set_verbosity(tf.logging.INFO)
        path = PATH.decode(sys.stdout.encoding)
        #2 files, 64 epochs, batchsize 32 => 2*64/32 = 4 iterations
        dset = lambda: ds.dataset_with_preprocess(LISTFILE_1, path,
                                          epochs=4,
                                          batchsize=32,
                                          segs_per_sample=16,
                                         )
        dset_eval = lambda: ds.dataset_with_preprocess(LISTFILE_1, path,
                                               epochs=1,
                                               batchsize=16,
                                               segs_per_sample=16,
                                               shuffle=False
                                              )
        config = self.config.replace(save_checkpoints_steps=2)

        tfnet_est = TFNetEstimator(**nets.default_net(), config=config)

        input_fn = lambda: dset().make_one_shot_iterator().get_next()
        eval_input_fn = lambda: dset_eval().make_one_shot_iterator().get_next()

        train_spec = tf.estimator.TrainSpec(input_fn)
        eval_spec = tf.estimator.EvalSpec(eval_input_fn)

        tf.estimator.train_and_evaluate(tfnet_est, train_spec, eval_spec)


        self.assertIsNotNone(tfnet_est)
Exemplo n.º 2
0
 def test_train_data_pipe_default(self):
     dset = ds.dataset_with_preprocess(LISTFILE_1, self.path)
     itr = dset.make_one_shot_iterator().get_next()
     self.assertTrue(itr[0].shape.is_compatible_with(
         tf.TensorShape((None, 8192, 1))))
     self.assertTrue(itr[1].shape.is_compatible_with(
         tf.TensorShape((None, 8192, 1))))
     #defaults with test data shoudl throw after 1 iter
     with tf.Session() as sess:
         sess.run(itr)
         self.assertRaises(tf.errors.OutOfRangeError, lambda: sess.run(itr))
Exemplo n.º 3
0
def main(_):
    path = PATH.decode(sys.stdout.encoding)
    dset = ds.dataset_with_preprocess(
        LISTFILE_1,
        path,
        epochs=1,
        batchsize=32,
        segs_per_sample=64,
    )
    tfnet_est = TFNetEstimator(**nets.default_net(),
                               model_dir='tests/dummymodel')

    tfnet_est.train(input_fn=lambda: dset.make_one_shot_iterator().get_next())
Exemplo n.º 4
0
    def test_train(self):
        """Runs a training pass with test data for 4 iterations
        iterations of batchsize 16"""
        tf.logging.set_verbosity(tf.logging.INFO)
        path = PATH.decode(sys.stdout.encoding)
        #2 files, 64 epochs, batchsize 32 => 2*64/32 = 4 iterations
        dset = lambda: ds.dataset_with_preprocess(LISTFILE_1, path,
                                          epochs=64,
                                          batchsize=32,
                                         )
        tfnet_est = TFNetEstimator(**nets.default_net(), config=self.config)

        tfnet_est.train(
            input_fn=lambda: dset().make_one_shot_iterator().get_next())

        self.assertIsNotNone(tfnet_est)
Exemplo n.º 5
0
    def test_train_sbr_fusion(self):
        tf.logging.set_verbosity(tf.logging.INFO)
        path = PATH.decode(sys.stdout.encoding)
        #2 files, 64 epochs, batchsize 32 => 2*64/32 = 4 iterations
        dset = lambda: ds.dataset_with_preprocess(LISTFILE_1, path,
                                          epochs=64,
                                          batchsize=16,
                                         )
        netcfg = nets.build_net(copies_rate=2,
                                time_params={}, 
                                window_length=512)
        tfnet_est = TFNetEstimator(**netcfg,
                                   weight_decay=0.1,
                                   config=self.config)

        tfnet_est.train(
            input_fn=lambda: dset().make_one_shot_iterator().get_next())

        self.assertIsNotNone(tfnet_est)
Exemplo n.º 6
0
 def test_train_data_pipe_options(self):
     dset = ds.dataset_with_preprocess(
         LISTFILE_1,
         self.path,
         epochs=10,
         length=4096,
         batchsize=8,
         drop_remainder=True,
     )
     itr = dset.make_one_shot_iterator().get_next()
     self.assertTrue(itr[0].shape.is_compatible_with(
         tf.TensorShape((8, 4096, 1))))
     self.assertTrue(itr[1].shape.is_compatible_with(
         tf.TensorShape((8, 4096, 1))))
     #2 files, 10 epochs => 20 samples
     #batch of 8 => 2 full iters, 3rd should throw
     with tf.Session() as sess:
         sess.run(itr)
         sess.run(itr)
         self.assertRaises(tf.errors.OutOfRangeError, lambda: sess.run(itr))
Exemplo n.º 7
0
    def test_loadmodel(self):
        """Test running eval from with trained model"""
        tf.logging.set_verbosity(tf.logging.INFO)

        path = PATH.decode(sys.stdout.encoding)
        #2 files, 64 epochs, batchsize 32 => 2*64/32 = 4 iterations
        dset = ds.dataset_with_preprocess(
            LISTFILE_1,
            path,
            epochs=1,
            batchsize=16,
        )
        #RunConfig for more more printing since we are only training for very few steps
        config = tf.estimator.RunConfig(log_step_count_steps=1)

        tfnet_est = TFNetEstimator(**nets.default_net(),
                                   config=config,
                                   model_dir=DUMMY_MODEL_PATH)

        tfnet_est.evaluate(
            input_fn=lambda: dset.make_one_shot_iterator().get_next())

        self.assertIsNotNone(tfnet_est)