[英]Change number of input channels to pretrained keras.applications model?
[英]Custom keras.applications model in keras
我想使用keras.applications.resnet50
來訓練模型。
但是在我的數據中,它們不僅是圖像,還有一些表中的變量項。
我看到keras的文檔, keras.layers.concatenate
可以在我flatten image term后將兩層合並在一起。
但是keras.applications.resnet50
不能連接變量項。
如何基於預訓練模型對層進行服裝化?
有我的演示代碼打擊:
import keras
from keras.models import Sequential, concatenate
from keras.layers import Dense, Dropout, Flatten
from keras.layers import Conv2D, MaxPooling2D
from keras.utils import to_categorical
from keras.layers import Input
from keras.models import Model
from keras.applications.resnet50 import ResNet50
VariableSize = 16
ResNet = ResNet50(include_top=True, weights=None, input_tensor=None, input_shape=(64,64,3), pooling=None, classes=2)
ResNet.layers.pop()
VariableNet = Input(shape=(VariableSize,))
ModelNet = keras.layers.concatenate([ResNet, VariableNet]) ## Error
##
## And connect output layer before complie
當您將ResNet
作為輸入傳遞給keras.layers.concatenate
,您傳遞的是一個完整的模型,而不僅僅是一個層。 要將ResNet
的輸出層與可變長度輸入連接起來,您可以簡單地用ResNet.output
替換ResNet
,如下所示:
ModelNet = keras.layers.concatenate([ResNet.output, VariableNet])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.