为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Keras 中创建虚拟模型?

如何在 Keras 中创建虚拟模型?

回首忆惘然 2021-09-02 14:47:03
我正在使用 keras 并尝试在 64x64 图像上训练分类器。我正在尝试优化我的训练管道并抓住瓶颈。为此,我正在尝试创建更简单的 Keras 模型,以便我知道整个过程(加载图像、数据增强等)在 GPU 上花费非常低的时间。到目前为止,我设法写了:def create_network_dummy():  INPUT_SHAPE = (64, 64, 1)  inputs = Input(INPUT_SHAPE)  out = MaxPooling2D(pool_size = (1,1), strides=(64,64), 1)(inputs)  model = Model(inputs=[inputs], outputs=[out])  return model有没有可能有一个更小的?返回一个常量是行不通的,因为它破坏了图形,而 keras 不允许这样做。
查看完整描述

2 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

我认为甚至没有必要使用K.identity:


inp = Input((64, 64, 1))

out = Lambda(lambda x: x)(inp)

model = Model(inp, out)


查看完整回答
反对 回复 2021-09-02
?
阿晨1998

TA贡献2037条经验 获得超6个赞

import keras.backend as K

from keras.layers import Input, Lambda

from keras.models import Model


inp = Input((64,64,1))

out = Lambda(lambda x: K.identity(x))(inp)

model = Model(inp,out) #You could even try Model(inp,inp)

??


如果想法是拥有一个什么都不做的模型,这似乎是最好的。

你也可以返回一个常量,你真的不需要“训练”来看看你提出了什么,你可以“预测”。


model.predict_generator(....)

另一个模型输出 1 个类

inp = Input((64,64,1))

out = Lambda(lambda x: x[:,0,0])(inp)

model = Model(inp,out)


查看完整回答
反对 回复 2021-09-02
  • 2 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信