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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With