在Julia 0.6正式发布中,如果我Pkg.add tensorflow并运行Pkg.test,测试开始后不久我得到一条消息,说明我的CPU如何支持各种协议,如AVX / 2 FMA SSE等。然后在测试过程中,我得到另一条消息,重申AVX2和FMA不可用。 AVX?问题在其他stackoverflow问题中得到广泛解决。
重新编译tensorflow的自定义版本以包含AVX / FMA并将生成的tensorflow.so文件复制到Julia tensorflow deps / usr / bin,运行相同的Pkg.test()会导致no 第一条消息,似乎确认AVX2和FMA现在是二进制文件,但第二条消息重复,再次通知我AVX2和FMA未编译。
Test Summary: | Pass Total
shape_inference | 255 255
2018-06-08 09:55:41.794208: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
TensorBoard 1.8.0 at http://linux-k18k.suse:6006 (Press CTRL+C to quit)
Test Summary: |
show | No tests
这可能是也可能不是来自tensorflow的消息中的矛盾。给定tensorflow.so库文件,是否有办法独立确认AVX / FMA组件是否已成功编译?
Edit1:好的,所以我找到了objdump并验证了AVX2的一些选择代码实际上包含在.so库中。这个问题似乎涉及张量板而不是张量流,但我没有资格为张量板添加标签(有人可以帮忙吗?)。我想知道独立的张量板是否指向正确的libtensorflow?如果它从另一个版本获取信息,这可能解释为什么它认为AVX2的代码丢失了。
答案 0 :(得分:0)
现在已解决。对我而言,令人困惑的是,它是张量板生成消息,而不是(按照我的想法)张量流本身。 Tensorflow很安静,因为它看到了具有AVX2和FMA功能的有效二进制文件,但是tensorboard进行了单独的检查,但至少在1.8版中失败了。 Tensorboard实际上不执行任何需要AVX2或FMA的操作,因此可以安全地忽略该问题。 tensorflow / tensorboard 1.9版现在可以正确评估AVX2和FMA功能,并且不会生成警告消息。