我正在使用 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)
阿晨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)
添加回答
举报
0/150
提交
取消