簡體   English   中英

如何從層創建 keras 模型?

[英]How can I create a keras model from layers?

這是一個奇怪的問題。 我在一個名為input_layers的列表中構建了一些層:

[<keras.layers.convolutional.Conv2D object at 0x1377628d0>, <keras.layers.convolutional.Conv2D object at 0x138eb69b0>, <keras.layers.core.Flatten object at 0x13778dda0>, <keras.layers.core.Dense object at 0x1377f16d8>]

我想從中構建和編譯keras模型。 我該怎么做?

我試過:

            new_model = Model(inputs=input_layers, outputs=output_layer)

但這給出了一個錯誤:

ValueError: Input tensors to a Model must come from `keras.layers.Input`. Received: <keras.layers.convolutional.Conv2D object at 0x1378fff60> (missing previous layer metadata).

好吧,如果模型是順序模型(似乎是這種情況),那么您可以簡單地使用Sequential類從層列表構建模型:

from keras.models import Sequential

model = Sequential(layers_list)

查看 Keras 文檔中的序列模型指南以獲取更多信息。

我不知道這樣做的目的是什么!

您可以簡單地將它們直接添加到模型中,即

inputs = Input(input_size)
conv1 = Conv2D(64, 3, activation = 'relu')(inputs)
conv1 = Conv2D(64, 3, activation = 'relu')(conv1)
pool1 = MaxPooling2D(pool_size=(2, 2))(conv1)
model = Model(input = inputs, output = conv10)
model.compile(optimizer = Adam(lr = 1e-4), loss = 'binary_crossentropy', metrics = ['accuracy'])

也不要忘記你必須指定模型的輸入大小,所以你正在做的事情沒有意義!

此外,如果模型是順序的,你可以這樣做

model = Sequential(your_list)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM