tensorflow==1.13.1 can run successfully锛宐ut 2.0 version or higher has some problems.
In tensorflow == 1.13.1
Error: module tf has no attribute ' create_file_writer '
In tensorflow == 2.0
Error: module tf has no attribute 'Summary'
What should I do?
In tensorflow == 1.13.1
鏇存敼utils鏂囦欢澶归噷闈㈢殑logger.py鐨勭涓冭
self.writer = tf.summary.FileWriter(log_dir)
there is a better way, drop TensorFlow dependency completely, see #412
there is a better way, drop TensorFlow dependency completely, see #412
thanks!
For tensorflow 2.x change your utils/logger.py file to the below:
import tensorflow as tf
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.Summary(value=[tf.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()
def list_of_scalars_summary(self, tag_value_pairs, step):
"""Log scalar variables."""
#summary = tf.Summary(value=[tf.Summary.Value(tag=tag, simple_value=value) for tag, value in tag_value_pairs])
#self.writer.add_summary(summary, step)
with self.writer.as_default():
for tag, value in tag_value_pairs:
tf.summary.scalar(tag, value, step=step)
self.writer.flush()
For tensorflow 2.x change your
utils/logger.pyfile to the below:import tensorflow as tf 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.Summary(value=[tf.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() def list_of_scalars_summary(self, tag_value_pairs, step): """Log scalar variables.""" #summary = tf.Summary(value=[tf.Summary.Value(tag=tag, simple_value=value) for tag, value in tag_value_pairs]) #self.writer.add_summary(summary, step) with self.writer.as_default(): for tag, value in tag_value_pairs: tf.summary.scalar(tag, value, step=step) self.writer.flush()
thanks
For tensorflow 2.x change your
utils/logger.pyfile to the below:import tensorflow as tf 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.Summary(value=[tf.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() def list_of_scalars_summary(self, tag_value_pairs, step): """Log scalar variables.""" #summary = tf.Summary(value=[tf.Summary.Value(tag=tag, simple_value=value) for tag, value in tag_value_pairs]) #self.writer.add_summary(summary, step) with self.writer.as_default(): for tag, value in tag_value_pairs: tf.summary.scalar(tag, value, step=step) self.writer.flush()
very thanks
For tensorflow 2.x change your
utils/logger.pyfile to the below:import tensorflow as tf 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.Summary(value=[tf.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() def list_of_scalars_summary(self, tag_value_pairs, step): """Log scalar variables.""" #summary = tf.Summary(value=[tf.Summary.Value(tag=tag, simple_value=value) for tag, value in tag_value_pairs]) #self.writer.add_summary(summary, step) with self.writer.as_default(): for tag, value in tag_value_pairs: tf.summary.scalar(tag, value, step=step) self.writer.flush()
thanks!!!!!
Most helpful comment
For tensorflow 2.x change your
utils/logger.pyfile to the below: