目录
1.iter()和next()用法详解:iter()和next()
2.TF1.X到TF2中的log报错问题:TF1.X到TF2中的log报错问题
3.TensorBoard使用教程:TensorBoard使用教程
5.解决TensorFlow GPU版出现OOM错误:显存不足
1.iter()和next()用法详解:iter()和next()
总结:
1.1iter()生成迭代器;next() 返回迭代器的下一个项目
1.2一般先使用iter()生成迭代器,接下来可以使用for循环或者next()函数
1.3迭代器是一次性的,不论是对迭代器进行for循环或者next()函数,每取一个值就会调用__next__方法指向下一个元素
2.TF1.X到TF2中的log报错问题:TF1.X到TF2中的log报错问题
注意:
2.1
tf.summary.scalar('随便写个就行',summary,step=step)
中并非‘随便写个就行’,应该写的是所记录的scalar的名字
2.2最终代码中删除
summary = tf.compat.v1.Summary(value=[tf.compat.v1.Summary.Value(tag=tag, simple_value=value)])
因为
tf.summary.scalar('i not know',summary,step=step)
中summary所在位置应该是一个标量,并且会转化成一个张量
所以,最终的代码为:
class Logger(object):
def __init__(self, log_dir):
"""Create a summary writer logging to log_dir."""
# self.writer = tf.summary.FileWriter(log_dir)
self.writer = tf.summary.create_file_writer(log_dir)
def scalar_summary(self, tag, value, step):
"""Log a scalar variable."""
# summary = tf.compat.v1.Summary(value=[tf.compat.v1.Summary.Value(tag=tag, simple_value=value)])
# self.writer.add_summary(summary, step)
with self.writer.as_default():
tf.summary.scalar(tag, value, step=step)
self.writer.flush()