有一种方法可以使用Python创建一个文件,可以通过TensorBoard进行可视化(参见here)。我已尝试使用此代码,但效果很好。
import tensorflow as tf
a = tf.add(1, 2,)
b = tf.multiply(a, 3)
c = tf.add(4, 5,)
d = tf.multiply(c, 6,)
e = tf.multiply(4, 5,)
f = tf.div(c, 6,)
g = tf.add(b, d)
h = tf.multiply(g, f)
with tf.Session() as sess:
print(sess.run(h))
with tf.Session() as sess:
writer = tf.summary.FileWriter("output", sess.graph)
print(sess.run(h))
writer.close()
现在我使用TensorFlow API来创建我的计算。 如何使用TensorBoard可视化我的计算?
C ++ api中也有FileWrite接口,但我没有看到任何示例。它是相同的界面吗?
答案 0 :(得分:0)
请参阅我的answer here,它为您提供了26行的c ++语言:
#include <tensorflow/core/util/events_writer.h>
#include <string>
#include <iostream>
void write_scalar(tensorflow::EventsWriter* writer, double wall_time, tensorflow::int64 step,
const std::string& tag, float simple_value) {
tensorflow::Event event;
event.set_wall_time(wall_time);
event.set_step(step);
tensorflow::Summary::Value* summ_val = event.mutable_summary()->add_value();
summ_val->set_tag(tag);
summ_val->set_simple_value(simple_value);
writer->WriteEvent(event);
}
int main(int argc, char const *argv[]) {
std::string envent_file = "./events";
tensorflow::EventsWriter writer(envent_file);
for (int i = 0; i < 150; ++i)
write_scalar(&writer, i * 20, i, "loss", 150.f / i);
return 0;
}
答案 1 :(得分:-1)
您希望来自tensorflow::EventsWriter
的{{1}}。您需要手动创建一个Event对象才能使用它。
tf.summary.FileWriter中的python代码为你处理了很多细节,我建议如果绝对必要的话只使用C ++ API ...是否有令人信服的理由在C ++中实现你的训练?