我添加了一个新的Op(例如,它的名称为actv)。我有一个GPU核心,所以我有源文件:actv.cc和actv_kernel.cu.cc。然后我编译了它(如添加新操作手册),所以现在我有actv.so.然后
_actv_module = tf.load_op_library('/home/<username>/test/actv.so')
print(dir(_actv_module))
在输出中,我认为最重要的是 - 'actv'。所以,一切都很好。 让我们尝试在另一个目录(相同的源代码,相同的编译器标志,相同的两行代码)中进行:
_actv_module = tf.load_op_library('/home/<username>/test2/test3/actv.so')
print(dir(_actv_module))
并没有'actv'。更重要的是,如果我只是将test / actv.so复制到test2 / test3 / actv.so,问题仍然会出现。那么,有两个问题: 1)什么是黑魔法之王? 2)如何通过相对路径进行这样的加载?