Keras报错TypeError: L2.__call__()收到意外参数'dtype'求助
问题解决:TypeError: L2.call() got an unexpected keyword argument 'dtype'
错误原因
你把正则化器错误传给了kernel_initializer参数。regularizers.l2(0.01)是权重正则化工具,对应参数是kernel_regularizer;而kernel_initializer需要的是权重初始化器(如'glorot_uniform'、RandomNormal()这类)。
修正代码
修改出错的Dense层参数即可,修正后的完整相关代码:
next_layer=GlobalAveragePooling2D()(output) next_layer=Dense(1024, activation='relu')(next_layer) next_layer=Dense(512, activation='relu')(next_layer) # 修正:将kernel_initializer替换为kernel_regularizer next_layer = Dense(128, activation='relu', kernel_regularizer=regularizers.l2(0.01))(next_layer) next_layer=Dense(2048, activation='relu')(next_layer)
补充说明
如果需要同时设置权重初始化器,可额外添加kernel_initializer参数,示例:
next_layer = Dense(128, activation='relu', kernel_regularizer=regularizers.l2(0.01), kernel_initializer='glorot_uniform')(next_layer)
内容的提问来源于stack exchange,提问作者Slma
相关产品推荐
相关产品推荐

