Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';t保存为SavedModel格式Tensorflow_Python_Tensorflow_Keras - Fatal编程技术网

Python Can';t保存为SavedModel格式Tensorflow

Python Can';t保存为SavedModel格式Tensorflow,python,tensorflow,keras,Python,Tensorflow,Keras,我正在尝试使用SavedModel格式保存我的ANN模型。我使用的命令是: model.save("my_model") 它应该给我一个文件夹,即“my_model”,其中包含所有保存的_model.pb、变量和资产,而不是给我一个HDF文件,即my_model。我使用的是keras v.2.3.1和tensorflow v.2.2.0 下面是我的一些代码: from keras import optimizers from keras import backend fro

我正在尝试使用SavedModel格式保存我的ANN模型。我使用的命令是:

model.save("my_model")
它应该给我一个文件夹,即“my_model”,其中包含所有保存的_model.pb、变量和资产,而不是给我一个HDF文件,即my_model。我使用的是keras v.2.3.1和tensorflow v.2.2.0

下面是我的一些代码:

from keras import optimizers
from keras import backend
from keras.models import Sequential
from keras.layers import Dense
from keras.activations import relu,tanh,sigmoid

network_layout = []
for i in range(3):
    network_layout.append(8)

model = Sequential()

#Adding input layer and first hidden layer
model.add(Dense(network_layout[0],  
                name = "Input",
                input_dim=inputdim,
                kernel_initializer='he_normal',
                activation=activation))

#Adding the rest of hidden layer
for numneurons in network_layout[1:]:
    model.add(Dense(numneurons,
                    kernel_initializer = 'he_normal',
                    activation=activation))

#Adding the output layer
model.add(Dense(outputdim,
                name="Output",
                kernel_initializer="he_normal",
                activation="relu"))

#Compiling the model
model.compile(optimizer=opt,loss='mse',metrics=['mse','mae','mape'])
model.summary()

#Training the model
history = model.fit(x=Xtrain,y=ytrain,validation_data=(Xtest,ytest),batch_size=32,epochs=epochs)
model.save('my_model')
我已经阅读了tensorflow网站上的API文档,并按照它所说的使用model.save(“我的模型”)而不使用任何文件扩展名,但我不能正确地使用它


非常感谢你的帮助。非常感谢

如果要使用tensorflow保存的模型格式,请使用:

tms\u model=tf.saved\u model.save(model,“export/1”)

这将在其中创建文件夹导出和子文件夹1。在1文件夹中,您可以看到资产、变量和.pb文件

希望这能帮到你

确保像这样更改您的导入
来自tensorflow.keras导入优化器

如果要使用tensorflow保存的模型格式,请使用:

tms\u model=tf.saved\u model.save(model,“export/1”)

这将在其中创建文件夹导出和子文件夹1。在1文件夹中,您可以看到资产、变量和.pb文件

希望这能帮到你

确保像这样更改您的导入
来自tensorflow.keras导入优化器

您使用的库错误,您查找的文档是tf.keras,而不是keras库。如果使用tensorflow版本>2.1,请使用tensorflow.keras作为keras库。您使用的方式是使用旧的KerasAPI,它将模型保存为.h5格式。添加@Dr.Snoopy已经提到的内容。非常感谢您发现我的错误!您使用了错误的库,您查找的文档是tf.keras,而不是keras库。如果使用tensorflow版本>2.1,请使用tensorflow.keras作为keras库。您使用的方式是使用旧的KerasAPI,它将模型保存为.h5格式。添加@Dr.Snoopy已经提到的内容。非常感谢您发现我的错误!嗨,谢谢你的帮助!我很感激你的快速回复。我尝试了你的建议,但出现了以下错误
ValueError:需要导出一个可跟踪的对象,get。
我的python代码中是否缺少一些不允许以SavedModel格式保存的内容?这不仅仅是更改一行,导入内容需要从keras更改为tf。keras每次从导入
从keras
更改为
从tensorflow.keras
谢谢您的回复。你们刚刚解决了这个问题。如果我可以问一下,因为我对这方面有点新手,导入tensorflow.keras和只导入keras有什么区别?tensorflow充当keras的deafult后端。FYR请查看详细说明:您好,谢谢您的帮助!我很感激你的快速回复。我尝试了你的建议,但出现了以下错误
ValueError:需要导出一个可跟踪的对象,get。
我的python代码中是否缺少一些不允许以SavedModel格式保存的内容?这不仅仅是更改一行,导入内容需要从keras更改为tf。keras每次从导入
从keras
更改为
从tensorflow.keras
谢谢您的回复。你们刚刚解决了这个问题。如果我可以问一下,因为我对这方面有点新手,导入tensorflow.keras和只导入keras有什么区别?tensorflow充当keras的deafult后端。FYR请查看详细说明: