1
Tensorflow程序一般分为图的构建和图的执行两个阶段
模型的保存
saver = tf.train.Saver(max_to_keep=3) #保留最近检查点个数
saver.save(sess, model_save_path + 'captcha.model', global_step=steps)
模型保存的文件
.meta文件保存了当前图结构
.index文件保存了当前参数名
.data文件保存了当前参数值
2
[1,2]的shape值(2,),意思是一维数组,数组中有2个元素。
[[1],[2]]的shape值是(2,1),意思是一个二维数组,每行有1个元素。
[[1,2]]的shape值是(1,2),意思是一个二维数组,每行有2个元素
3
tf.summary.FileWriter("/path/to/log", tf.get_default_graph())
创建写日志节点:第一个参数为保存日志(summary)的路径,第二个参数是要保存的图
writer.close()要在最后关闭日志记录器
4
tf.app.flags.DEFINE_xxx()用于接受从终端传入的命令行参数
tf.app.flags.FLAGS可以从对应的命令行参数取出参数。
tf.app.flags.DEFINE_string() :定义一个用于接收 string 类型数值的变量;
tf.app.flags.DEFINE_integer() : 定义一个用于接收 int 类型数值的变量;
tf.app.flags.DEFINE_float() : 定义一个用于接收 float 类型数值的变量;
tf.app.flags.DEFINE_boolean() : 定义一个用于接收 bool 类型数值的变量
DEFINE_xxx”函数带3个参数,分别是变量名称,默认值,用法描述
import tensorflow as tf
FLAGS = tf.app.flags.FLAGS
tf.app.flags.DEFINE_string(‘ckpt_path’, ‘model/model.ckpt-100000’, ‘’‘模型保存路径’’’)
tf.app.flags.DEFINE_float(‘learning_rate’,0.0001,’’‘初始学习率’’’)
tf.app.flags.DEFINE_integer(‘train_steps’, 50000, ‘’‘总的训练轮数’’’)
tf.app.flags.DEFINE_boolean(‘is_use_gpu’, False, ‘’‘是否使用GPU’’’)
print ‘模型保存路径: {}’.format(FLAGS.ckpt_path)
print ‘初始学习率: {}’.format(FLAGS.learning_rate)
print ‘总的训练次数: {}’.format(FLAGS.train_steps)
print ‘是否使用GPU: {}’.format(FLAGS.is_use_gpu)