Python 在Tensorflow 2.0中加载模型时无法在类中保存方法

Python 在Tensorflow 2.0中加载模型时无法在类中保存方法,python,tensorflow2.0,Python,Tensorflow2.0,我正在尝试在Tensorflow 2.0中保存自定义模型。我跟随来自Tensorflow的导游 创建类模型: 类客户模型(keras.Model): 定义初始单位(自身、隐藏单位): 超级(自定义模型,自我)。\uuuu初始化 self.density_layers=[keras.layers.density(u)表示隐藏单位中的u] def呼叫(自我,输入): x=输入 对于self.density_层中的层: x=层(x) 返回x def get_layer_大小(自身): 返回透镜(自密实

我正在尝试在Tensorflow 2.0中保存自定义模型。我跟随来自Tensorflow的导游

创建类模型:

类客户模型(keras.Model):
定义初始单位(自身、隐藏单位):
超级(自定义模型,自我)。\uuuu初始化
self.density_layers=[keras.layers.density(u)表示隐藏单位中的u]
def呼叫(自我,输入):
x=输入
对于self.density_层中的层:
x=层(x)
返回x
def get_layer_大小(自身):
返回透镜(自密实层)
我添加了一个方法
get\u layer\u size
来返回层的长度。 当我保存并加载模型时

model=CustomModel([16,16,10])
#通过调用它来构建模型
输入_arr=tf.random.uniform((1,5))
输出=模型(输入)
#model.save(“my_model1”)
keras.models.save_model(model,filepath=“model_1”)
#删除自定义定义的模型类以确保加载程序没有
#访问它。
德尔定制模型
加载=keras.models.load\u模型(“模型1”)
np.testing.assert\u allclose(加载(输入),输出)
打印(“原始型号:”,型号)
打印(“已加载模型:”,已加载)
调用
get\u layer\u size
方法时出现的问题

原始模型:
model.get\u layer\u size()
return 3。但是,
已加载。获取层大小()
返回错误

---------------------------------------------------------------------------AttributeError回溯(最近的调用) 最后)在() ---->1已加载。获取\u层\u大小()

AttributeError:“CustomModel”对象没有属性“get\u layer\u size”

链接:


我如何解决这个问题?非常感谢

有人帮我吗(有人帮我吗?):(