如何装载老Keras模型在Tensorflow2.0与定义氧层?

0

的问题

我想负 这个 模型,其中包含自定义功能和氧层,使用下列代码:

def load_efficient_pose_model():
    custom_objects = {'BilinearWeights': keras_BilinearWeights, 'Swish': Swish(eswish), 'eswish': eswish, 'swish1': swish1}
    model = keras.models.load_model('my_location/EfficientPoseII.h5',custom_objects=custom_objects)

当使用Tensorflow1.13.1和Keras,一切工作正常。 然而,当我使用Tensorflow2.7(与内Keras),以下错误的情况:

Traceback (most recent call last):
   ....
  File "/home/ubuntu/anaconda3/envs/tf2_runtime/lib/python3.7/site-packages/keras/utils/traceback_utils.py", line 67, in error_handler
    raise e.with_traceback(filtered_tb) from None
  File "/Users/daniegr/Programming/EfficientPose/utils/units.py", line 90, in <lambda>
NameError: name 'K' is not defined

我还想载入模型在Tensorflow1.13.1和节约型和重量separetly,但问题仍然存在。

在序列化模型式,我得到些有趣的线:

        {
            "name": "lambda_1_res1",
            "class_name": "Lambda",
            "config": {
                "name": "lambda_1_res1",
                "trainable": false,
                "function": [
                    "4wEAAAAAAAAAAQAAAAEAAABTAAAAcwQAAAB8AFMAKQFOqQApAdoBeHIBAAAAcgEAAAB6Ri9Vc2Vy\ncy9kYW5pZWdyL1Byb2dyYW1taW5nL0VmZmljaWVudFBvc2UvbW9kZWxzL2VmZmljaWVudG5ldHMv\nbW9kZWwucHnaCDxsYW1iZGE+HQEAAPMAAAAA\n",
                    null,
                    null
                ],
                "function_type": "lambda",
                "output_shape": null,
                "output_shape_type": "raw",
                "arguments": {}
            },

我的猜测是以某种方式的旧模式可以节省份代码的访问 K 作为后端,这是不可Tensorflow2.

我去过这些相关的问题 1so2,但未能找到一个答案。

任何想法?

keras tensorflow
2021-11-23 09:56:35
2
0

如果你确定不是能够接入内部的变量,在保存的模式,可以使用的较低级别的API tf.saved_model.load() 载你的模型。 这只会加载图和重所以你仍然可以运行的模型代码,但它并不能作为方便使用。

2021-11-28 19:06:35

我已经试过,它并没有解决我的问题,但是谢谢你的尝试帮助我。
Andrey

最好的答案

0

接触之后的作者 有效率的姿态 图书馆,这个问题是,Tensorflow2.7目前不支持的。 与Tensorflow2.5它的工作原理

2021-12-14 08:29:42

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................