对于MAC OS X上的tensorflow new op,bazel测试失败

时间:2016-11-06 16:14:45

标签: testing tensorflow bazel

对于剧本:

import tensorflow as tf;  

class ZeroOutTest(tf.test.TestCase):  
    def testZeroOut(self):  
        zero_out_module = tf.load_op_library('/Users/sahilsingla/tensorflow/bazel-bin/tensorflow/core/user_ops/zero_out.so')  
        with self.test_session():  
            result = zero_out_module.zero_out([5, 4, 3, 2, 1])  
            value = result.eval()  
        self.assertAllEqual(value, [5, 0, 0, 0, 0])

if name == "main":  
    tf.test.main()  

这是在tensorflow的文档中给出的相同脚本"创建新的操作",https://www.tensorflow.org/versions/r0.11/how_tos/adding_an_op/index.html

当我运行时:bazel test tensorflow / python / kernel_tests:zero_out_op_test

我收到错误:tensorflow.python.framework.errors.NotFoundError:dlopen(zero_out.so,6):找不到图片。

有趣的是,当我这样做时会加载:

python -c "import tensorflow as tf;  
zero_out_module = tf.load_op_library('/Users/sahilsingla/tensorflow/bazel-bin/tensorflow/core/user_ops/zero_out.so')"

但是没有加载bazel测试。

任何人都可以建议我做错了吗?如何删除此错误?

1 个答案:

答案 0 :(得分:0)

对于那些面临同样问题的人,我建议尝试使用
建筑 bazel build -c opt //tensorflow/g3doc/how_tos/adding_an_op:zero_out_op_kernel_1.so
bazel test //tensorflow/g3doc/how_tos/adding_an_op:zero_out_1_test
而不是张量流文档中给出的方式 你会明白如何让它发挥作用。