首页 > 解决方案 > TypeError: `Conv2D` 只能接受 2 个位置参数('filters'、'kernel_size'),但您传递了以下位置参数:

问题描述

我正在尝试运行 CNN,但收到以下消息:

TypeError: `Conv2D` can accept only 2 positional arguments ('filters', 'kernel_size'), but you passed the following positional arguments: [64, (3, 3), (1, 1)]

我的代码是:

num_filters_conv1 = 64
kernel_size_conv1 = (3,3)
stride_conv1 = (1,1)
padding_conv1 = 'valid'
input_shape = (rows, cols, 1)

model.add(Conv2D(num_filters_conv1, kernel_size_conv1, stride_conv1, padding_conv1, activation='relu', input_shape=input_shape))

有谁知道发生了什么?为什么不支持内核和填充?

标签: kerasconv-neural-networktypeerror

解决方案


步幅和填充是关键字参数。
参考:https
://keras.io/backend/#conv2d 试试:

model.add(Conv2D(num_filters_conv1, kernel_size_conv1, 
                 strides=stride_conv1, padding=padding_conv1, 
                 activation='relu', input_shape=input_shape))

推荐阅读