import tensorflow as tf from mnist import input_data from mnist import module import os data = input_data.read_data_sets('MNIST_data', one_hot=True) # create model with tf.variable_scope("regression"): x = tf.placeholder(tf.float32, [None, 784]) y, variables = module.regression(x) # train y_ = tf.placeholder("float", [None, 10]) cross_entropy = -tf.reduce_sum(y_ * tf.log(y)) learning_rate = 0.001 train_step = tf.train.GradientDescentOptimizer(learning_rate).minimize( cross_entropy) correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1)) accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) saver = tf.train.Saver() with tf.Session() as sess: sess.run(tf.global_variables_initializer()) # 断点续训 ckpt = tf.train.get_checkpoint_state( os.path.join(os.path.dirname(__file__), 'data', 'regression.ckpt')) if ckpt and ckpt.model_checkpoint_path: saver.restore(sess, ckpt.model_checkpoint_path)
# # 0.9表示可以使用GPU 90%的资源进行训练,可以任意修改 # sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) config = tf.ConfigProto(allow_soft_placement=True) # 最多占gpu资源的70% gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.7) # 开始不会给tensorflow全部gpu资源 而是按需增加 config.gpu_options.allow_growth = True x = tf.placeholder("float", [None, 784]) sess = tf.Session(config=config) with tf.variable_scope("regression"): print(model.regression(x)) y1, variables = model.regression(x) saver = tf.train.Saver(variables) regression_file = tf.train.latest_checkpoint("mnist/data/regreesion.ckpt") if regression_file is not None: saver.restore(sess, regression_file) with tf.variable_scope("convolutional"): keep_prob = tf.placeholder("float") y2, variables = model.convolutional(x, keep_prob) sess.run(tf.global_variables_initializer()) saver = tf.train.Saver(variables) convolutional_file = tf.train.latest_checkpoint( "mnist/data/convolutional.ckpt") if convolutional_file is not None: saver.restore(sess, convolutional_file)
# gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.9) # # 0.9表示可以使用GPU 90%的资源进行训练,可以任意修改 # sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) config = tf.ConfigProto(allow_soft_placement=True) # 最多占gpu资源的70% gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.7) # 开始不会给tensorflow全部gpu资源 而是按需增加 config.gpu_options.allow_growth = True x = tf.placeholder("float", [None, 784]) sess = tf.Session(config=config) with tf.variable_scope("regression"): print(module.regression(x)) y1, variables = module.regression(x) saver = tf.train.Saver(variables) regression_file = tf.train.latest_checkpoint("mnist/data/regreesion.ckpt") if regression_file is not None: saver.restore(sess, regression_file) with tf.variable_scope("convolutional"): keep_prob = tf.placeholder("float") y2, variables = module.convolutional(x, keep_prob) sess.run(tf.global_variables_initializer()) saver = tf.train.Saver(variables) convolutional_file = tf.train.latest_checkpoint( "mnist/data/convolutional.ckpt") if convolutional_file is not None: saver.restore(sess, convolutional_file)