使用C ++我能够编写一个包含graphdef而没有问题的事件文件。我使用了EventsWriter :: WriterEvent()API。我在TensorBoard上看起来很棒。
经过深入研究后,我在tensorflow.core.util,tensorflow.core.platform和tensorflow.core.lib.io中找到了以这种格式包装tensorflow :: Event的记录:length,masked CRC长度,数据,掩蔽的数据CRC。 (github source here)
但问题是我不想用我的应用程序静态链接到contrib TensorFlow库。相反,我想通过使用我的本地protoc编译头文件( .pb.h)和源代码( .pb.c)使我的应用程序轻量级并与库分离。
我可以使用protobufs创建一个事件文件,但它们在TensorBoard上不可视化。在Tensorboard源上使用调试器时,我在这里启动Tensorboard时会看到一个DataLossError异常:tensorboard / backend / event_processing / event_file_loader.py。 DataLossError异常可能是由于tensorflow :: Event未按上述方式包装的事实。
如果您或任何人都知道在不使用contrib tensorflow库的情况下使用C ++编写TB兼容事件文件的策略,请告知我们。
答案 0 :(得分:0)
因此,解决方案是使用这些四个字段包装每个事件记录:
请参阅WriteRecord()here