I have some collections
that I would like to track with TensorBoard using a supervisor. In the Supervisor initializer I would like something to the effect
summary_op = tf.summary.merge_all(['test', 'valid'])
But I get the error TypeError: unhashable type: 'list'
, because the key
must be a string (see documentation).
Edit:
This doesn't work either:
summary_op = [tf.summary.merge_all('train'), tf.summary.merge_all('valid')]
Try tf.summary.merge()
, e.g. like so:
summary_op = tf.summary.merge([
tf.summary.merge_all('test'),
tf.summary.merge_all('train')],
collections='merged')
This would merge all summaries from the test
and train
collections and add them to a new merged
collection. Keep in mind that this will result in strange effects if the same summary is used multiple times during the same time step:
Here I was accidentally (manually!) storing validation summaries during training runs and then again in a separate validation run.
Also I'm not sure if this is the most efficient way to go about it, but it certainly works.