在使用bazel test
命令运行TensorFlow测试时,我可以看到一些测试由于断言错误而失败(与预期容差略有偏差),在使用-c dbg
运行时传递如下:
bazel test -c dbg //tensorflow/python:training_ops_test
然而,这失败了:
bazel test -c opt //tensorflow/python:training_ops_test
bazel test //tensorflow/python:training_ops_test
因此,根据Bazel,--compilation_mode [-c]
可以是fastbuild,dbg或opt;默认值:“fastbuild”。
opt or fastbuild
模式是否会在少数平台上返回意外结果?
答案 0 :(得分:2)
dbg
,opt
和fastbuild
将不同的选项传递给C ++编译器。您可以通过查看CROSSTOOL的dbg和opt部分来确切了解哪些选项。
我猜测您所看到的失败只是基于代码生成的差异,因为编译模式中的优化级别不同。 This question可以很好地概述您在优化和非优化版本之间看到的一些差异。 (特别适用于Windows,但适用于所有系统的编译器优化。)