我有以下代码片段应将运行元数据添加到TensorBoard文件编写器中:
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
# Check Metadata
ecnn_run_metadata = tf.RunMetadata()
# Run optimization and calculate batch loss
_, ecnn_loss, ecnn_summary = ecnn_sess.run([ecnn_train_op, ecnn_loss_op, ecnn_merged], run_metadata=ecnn_run_metadata, options=run_options)
ecnn_train_writer.add_run_metadata(ecnn_run_metadata, 'step%d' % ecnn_step)
ecnn_train_writer.add_summary(ecnn_summary, ecnn_step)
print("ECNN - Step " + str(ecnn_step) + " Loss " + str(ecnn_loss))
Run Code Online (Sandbox Code Playgroud)
但是,在启动TensorBoard之后,图形视图中的元数据单选按钮仍显示为灰色,并且工具提示告诉我将“运行元数据”添加到FileWriter。因此,如果我定义tf.RunMetadata对象,将其传递给ecnn_sess.run然后传递给,则没有任何区别ecnn_train_writer。
我的错误在哪里?
我有一个字符串变量,只能包含6个不同的值.我想检查它是否包含前4个值之一或2个秒值之一.
有没有比这更优雅的方式:
if string.eql? 'val1' || string.eql? 'val2' || string.eql? 'val3' || string.eql? 'val4'
...
elsif string.eql? 'val5' || string.eql? 'val6'
...
end
Run Code Online (Sandbox Code Playgroud)
也许是这样的if string is in ['val1', 'val2', 'val3', 'val4']?