如何在Keras中将Lambda层作为输入层添加到现有模型中?

我有一个任务,需要在Keras模型中添加一个图像预处理层。因此,在加载了一个Keras模型后,我想为这个模型添加一个新的输入层。

我发现可以使用Lambda层来预处理图像数据。该层的代码是:

def vgg16preprocessing(x):    mean_tensor = K.backend.variable([125.307, 122.95, 113.865], name="mean")    std_tensor = K.backend.constant([62.9932, 62.0887, 66.7048], name="std_tensor")    result = (x - mean_tensor) / (std_tensor)    return K.backend.reshape(result, (-1, 32, 32, 3))preproc_layer = K.layers.Lambda(vgg16preprocessing, output_shape=(32, 32, 3), input_shape=(32, 32, 3))

但我不知道如何将这个层添加到我的模型前面。我找到了这个回答,但我无法在keras.layers.Input()中添加该层。

有没有办法将Lambda层设置为新的输入层?


回答:

你可以使用VGG16模型,并将其应用于Lambda层的输出上:

vgg = VGG16(...)input_img = Input(shape=...)preproc_img = Lambda(vgg16preprocessing)(input_img)output = vgg(preproc_img)model = Model(input_img, output)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注