因此,我仍在尝试使InceptionV3模型运行。但是,模型使用batch_norm
中的函数tensorflow.contrib.layers
。
因此,当我在运行模型时,出现以下错误:
panic: Op type not registered 'FusedBatchNormV3' in binary running on
localhost.localdomain. Make sure the Op and Kernel are registered in
the binary running in this process. Note that if you are loading a
saved graph which used ops from tf.contrib, accessing (e.g.)
`tf.contrib.resampler` should be done before importing the graph, as
contrib ops are lazily registered when the module is first accessed.
根据Issue while loading/serving tensorflow model in java using estimators,我必须使用TensorFlow.LoadLibrary
方法来动态加载库。
go API没有此功能,但是TensorFlow C API有。
所以我使用cgo调用函数TF_LoadLibrary
。
但是,当寻找要加载的.so文件时,事实证明定义了batch_norm
的文件夹(TF Documentation)不包含任何.so文件。
$ ls /usr/local/lib64/python3.7/site-packages/tensorflow_core/contrib/layers/python/layers/
embedding_ops.py feature_column.py layers.py __pycache__ summaries.py
encoders.py initializers.py normalization.py regularizers.py target_column.py
feature_column_ops.py __init__.py optimizers.py rev_block_lib.py utils.py
我使用pip3安装了TensorFlow:
$ python3 --version
Python 3.7.3
$ pip3 list | grep tensorflow
tensorflow 1.14.0
tensorflow-estimator 1.14.0
tensorflow-hub 0.4.0
tensorflow-metadata 0.13.0
tensorflow-model 0.1.1
tensorflow-model-optimization 0.1.1
tensorflow-object-detection-api 0.1.1
tensorflow-probability 0.7.0
tensorflow-transform 0.13.0
平台是Fedora 29 64位。
如何获取那些共享对象文件以加载batch_norm函数?
注意:由于我最近的一个问题被标记为重复问题,因此我想在此再次声明这不是我以前的任何问题的重复。我仍然关注相同的一般主题,但这是它的另一个子部分,而我仍在努力寻找最后一个问题的答案。