pythontensorflow常见函数
tf.summary.scalar()
⽤来显⽰标量信息,其格式为:
tf.summary.scalar(tags, values, collections=None, name=None)
例如:tf.summary.scalar('mean', mean)
⼀般在画loss,accuary时会⽤到这个函数。
_all()
添加⼀个操作,代表执⾏所有summary操作,这样可以避免⼈⼯执⾏每⼀个summary op。
tf.summary.FileWriter
writer = tf.summary.FileWriter(log, aph)
指定⼀个⽂件⽤来保存图。
log是事件⽂件所在的⽬录,第⼆个参数是事件⽂件要记录的图,也就是TensorFlow默认的图。
可以调⽤其add_summary()⽅法将训练过程数据保存在filewriter指定的⽂件中。
python trunc函数tf.summary.scalar('accuracy',acc) #⽣成准确率标量图
merge_summary = _all()
train_writer = tf.summary.FileWriter(aph)#定义⼀个写⼊summary的⽬标⽂件,dir为写⼊⽂件地址
......(交叉熵、优化器等定义)
for step in xrange(training_step): #训练循环
train_summary = sess.run(merge_summary,feed_dict = {...})#调⽤sess.run运⾏图,⽣成⼀步的训练过程数据
train_writer.add_summary(train_summary,step)#调⽤train_writer的add_summary⽅法将训练过程以及训练步数保存
此时开启tensorborad:
1. tensorboard --logdir=/summary_dir
便能看见accuracy曲线了。
saver = tf.train.Saver()
saver.save(sess, '路径 + 模型⽂件名')
在创建这个 Saver 对象的时候, max_to_keep 参数表⽰要保留的最近检查点⽂件的最⼤数量,创建新⽂件时,将删除旧⽂件,默认为5(即保留最近的 5 个检查点⽂件),max_to_keep=5。
import tensorflow as tf
import os
import numpy as np
a = tf.Variable(1., tf.float32)
b = tf.Variable(2., tf.float32)
num = 10
model_save_path = './model/'
model_name = 'model'
saver = tf.train.Saver()
with tf.Session() as sess:
init_op = tf.global_variables_initializer()
sess.run(init_op)
for step in np.arange(num):
c = sess.run(tf.add(a, b))
#checkpoint_path = os.path.join(model_save_path, model_name)
# 默认最多同时存放 5 个模型
saver.save(sess, os.path.join(model_save_path, model_name), global_step=step)
这个函数可以也仅可以查看可训练的变量,
tf.global_variables()
如果希望查看全部变量,包括学习率等信息,可以通过tf.global_variables()来实现。
tf.all_variables()
与tf.global_variables()作⽤拥有相似的功能,只是版本问题
tf.global_variables_initializer()与tf.local_variables_initializer()的区别
tf.global_variables_initializer()
tf.global_variables_initializer()添加节点⽤于初始化全局变量(GraphKeys.GLOBAL_VARIABLES)。返回⼀个初始化所有全局变量的操作(Op)。在你构建完整个模型并在会话中加载模型后,运⾏这个节点。
能够将所有的变量⼀步到位的初始化,⾮常的⽅便。通过feed_dict, 你也可以将指定的列表传递给它,只初始化列表中的变量。
⽰例代码如下:
sess.run(tf.global_variables_initializer(),
feed_dict={
learning_rate_dis: learning_rate_val_dis,
adam_beta1_d_tf: adam_beta1_d,
learning_rate_proj: learning_rate_val_proj,
lambda_ratio_tf: lambda_ratio,
lambda_l2_tf: lambda_l2,
lambda_latent_tf: lambda_latent,
lambda_img_tf: lambda_img,
lambda_de_tf: lambda_de,
adam_beta1_g_tf: adam_beta1_g,
})
# learning_rate_dis为设置的变量,learning_rate_val_dis为我设置的具体的值。后续同理
tf.local_variables_initializer()
tf.local_variables_initializer()返回⼀个初始化所有局部变量的操作(Op)。初始化局部变量
(GraphKeys.LOCAL_VARIABLE)。GraphKeys.LOCAL_VARIABLE中的变量指的是被添加⼊图中,但是未被储存的变量。关于储存,请了解tf.train.Saver相关内容。
⽰例代码如下:
sess.run(tf.local_variables_initializer(),
feed_dict={
learning_rate_dis: learning_rate_val_dis,
adam_beta1_d_tf: adam_beta1_d,
learning_rate_proj: learning_rate_val_proj,
lambda_ratio_tf: lambda_ratio,
lambda_l2_tf: lambda_l2,
lambda_latent_tf: lambda_latent,
lambda_img_tf: lambda_img,
lambda_de_tf: lambda_de,
adam_beta1_g_tf: adam_beta1_g,
})
# learning_rate_dis为设置的变量,learning_rate_val_dis为我设置的具体的值。后续同理
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论