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

我正在使用 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 不允许这样做。


回首忆惘然
浏览 170回答 2
2回答

胡说叔叔

我认为甚至没有必要使用K.identity:inp = Input((64, 64, 1))out = Lambda(lambda x: x)(inp)model = Model(inp, out)

阿晨1998

import keras.backend as Kfrom keras.layers import Input, Lambdafrom keras.models import Modelinp = 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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python