在中使用操作时
tf.contrib
模块,它们不被认为是实验性的,因此不属于
stable TensorFlow API
并且不包括在其他语言发行版中。
然而,在TensorFlow 1.4及更高版本中,您可以使用
TensorFlow.loadLibrary()
.
为此,首先需要找到包含实现的共享库的位置
tf。contrib公司
tf.contrib.layers
,所以你可以这样做:
python -c "import tensorflow; print(tensorflow.contrib.layers.__path__)"
打印内容如下:
['/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/layers']
然后,您可以使用以下内容找到该路径中的所有共享库:
find /usr/local/lib/python2.7/dist-packages/tensorflow/contrib/layers -name "*.so"
这将类似于:
/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/layers/python/ops/_sparse_feature_cross_op.so
好的,现在您有了这个库,您可以使用以下方法在Java中加载它:
public static void main(String[] args) {
TensorFlow.loadLibrary("/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/layers/python/ops/_sparse_feature_cross_op.so");
}
-
如果你想在不同的机器上运行,你需要打包
.so
用您的程序归档以上内容,并将调用调整为
TensorFlow。loadLibrary()
适当。
-
确保您对Python和Java(1.4)使用相同的TensorFlow版本
希望这有帮助。