我正在使用keras构建模型,并且线模型= Model(inputs = input_layer,outputs = fc_1024) 给出错误
AttributeError: 'NoneType' object has no attribute '_inbound_nodes'
下面列出的代码和keras版本。任何帮助表示赞赏。有没有我错过的配置?
resnet层起作用。但是,在构建模型时,会引发错误。
剩余的阻止代码:
def resnet_layer(inputs,
num_filters=16,
kernel_size=3,
strides=1,
activation='elu', # ELU
batch_normalization=True,
conv_first=True):
conv = Conv2D(num_filters,
kernel_size=kernel_size,
strides=strides,
padding='same',
kernel_initializer='he_normal',
kernel_regularizer=l2(1e-4))
x = inputs
y = inputs
if conv_first:
y = conv(x)
if batch_normalization:
y = BatchNormalization()(x)
if activation is not None and activation == 'elu':
y = Activation(activation)(x)
else:
if batch_normalization:
y = BatchNormalization()(y)
if activation is not None and activation == 'elu':
y = Activation(activation)(x)
y = conv(y)
y = keras.layers.add([x, y])
y = Activation('relu')(y)
x = BatchNormalization()(x)
return y
型号代码:
from keras.layers import *
from keras.utils import *
from keras.preprocessing import *
from keras.preprocessing.image import *
from keras import layers
from keras import models
from keras.models import Model
from keras.utils import plot_model
from keras import backend as K
from keras.regularizers import l2
from keras.activations import elu
from keras.utils import plot_model
input_layer = Input(shape=(input_width, input_height, channel_size))
conv9 = Conv2D(filters=64, kernel_size=(kernel_height, kernel_width),
strides=(2, 2), activation="elu",
input_shape=(input_height, input_width, channel_size),
name='conv9') (input_layer)
batch_norm_conv9 = BatchNormalization() (conv9)
res3 = residual_block(batch_norm_conv9,
nb_channels=channel_size,
_strides=(stride_width_head[2],
stride_height_head[2]),
_project_shortcut=True) (batch_norm_conv9)
conv4 = Conv2D(filters=96, kernel_size=(kernel_height, kernel_width),
strides=(2, 2), activation=elu,
input_shape=(input_height, input_width, channel_size),
name='conv4') (batch_norm_conv9)
batch_norm_conv4 = BatchNormalization() (conv4)
res3 = resnet_layer(inputs=batch_norm_conv4,
num_filters=96,
activation='elu')
res4 = resnet_layer(inputs=res3,
num_filters=128,
strides=2,
activation='elu')
res5 = resnet_layer(inputs=res4,
num_filters=192,
strides=2,
activation='elu')
res6 = resnet_layer(inputs=res5,
num_filters=256,
strides=2,
activation='elu')
fc_1024 = Dense(units=filters_head[6], activation='elu') (res6)
fc_1024 = BatchNormalization() (fc_1024)
print(type(input_layer))
print(type(fc_1024))
model = Model(inputs=input_layer, outputs=fc_1024)
keras版本:
keras 2.2.2 py36_0 conda-forge
keras-applications 1.0.4 py_1 conda-forge
keras-base 2.2.2 py36_0
keras-contrib 2.0.8 <pip>
keras-preprocessing 1.0.2 py_1 conda-forge