[英]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.