示例#1
0
    with tf.Session() as sess:
        sess.run(tf.global_variables_initializer())
        print('start training')

        for epoch in range(num_epoch):
            sess.run(model.tr_iterator.initializer)
            while True:
                try:
                    for _ in range(k):
                        _, loss_D = sess.run([train_D, model.loss_D])
                    _, loss_G, global_step = sess.run(
                        [train_G, model.loss_G, model.global_step])

                    if not global_step % print_step:
                        print('Epoch: %d, Step: %d' % (epoch, global_step))
                        model.print_sample(10)

                    if not global_step % summary_step:
                        summary_str = sess.run(summary_op)
                        train_writer.add_summary(summary_str,
                                                 global_step=global_step)

                except tf.errors.OutOfRangeError:
                    print('end of dataset')
                    break

            if not epoch % save_epoch:
                print('Saving model in %s. Global step: %d' %
                      (train_dir + 'model.ckpt', global_step))
                saver.save(sess,
                           train_dir + 'model.ckpt',