Python TypeError:\uuuu init\uuuuuuuu()为参数“kernel\u size”获取了多个值。在tensorflow 2.0中发生错误
这是tensrflow 2.0,得到的错误是 参数“内核大小”的多个值 文件/home/jake/Gits/ssd_tensorflow/model.py,第10行,在init中Python TypeError:\uuuu init\uuuuuuuu()为参数“kernel\u size”获取了多个值。在tensorflow 2.0中发生错误,python,tensorflow2.0,Python,Tensorflow2.0,这是tensrflow 2.0,得到的错误是 参数“内核大小”的多个值 文件/home/jake/Gits/ssd_tensorflow/model.py,第10行,在init中 self.conv1_1=tf.keras.layers.Conv2D3,64,内核大小=3,填充=1,步幅=1,输入形状=输入形状,类型错误: init为参数“kernel\u size”获取了多个值 Conv2D的调用签名很长,但以Conv2dfilter、内核大小等开头。。。。您使用两个位置参数填充filter和
self.conv1_1=tf.keras.layers.Conv2D3,64,内核大小=3,填充=1,步幅=1,输入形状=输入形状,类型错误: init为参数“kernel\u size”获取了多个值 Conv2D的调用签名很长,但以Conv2dfilter、内核大小等开头。。。。您使用两个位置参数填充filter和kernel\u size来调用它,然后尝试将kernel\u size设置为3。由于kernel_size已经用位置参数填充,因此出现了错误 内核大小应该是两个元素的元组。你可能是故意的
#vgg16
class VGGBase(Model):
def __init__(self):
super(VGGBase,self).__init__()
self.conv1_1 = tf.keras.layers.Conv2D(3,64, kernel_size=3,padding=1,strides=1),
self.conv1_2 = tf.keras.layers.Conv2D(64,64, kernel_size=3, padding=1,strides=1),
self.pool1 = tf.keras.layers.MaxPool2D(2,2),
self.conv2_1 = tf.keras.layers.Conv2D(64,128, kernel_size=3, padding=1,strides= 1),
self.conv2_2 = tf.keras.layers.Conv2D(128,128, kernel_size=3,padding=1,strides= 1),
self.pool2 = tf.keras.layers.MaxPool2D(2,2),
def call(self,x):
x = relu(self.conv1_1(x))
x = relu(self.conv1_2(x))
x = relu(self.pool1(x))
x = relu(self.conv2_1(x))
x = relu(self.conv2_2(x))
x = relu(self.pool2(x))
另外,self.conv1_1将是一个1元素的元组,这可能是您想要的。否则,请删除结尾的逗号。您是否得到了显示失败行的回溯?tf.keras.layers.Conv2D3,64,kernel_size=3,padding=1,strips=1,input_shape=input_shape,目的是什么,结尾在哪里?@JintoLonappan-我不确定目的是什么,但结果是self.conv2_1是一个单项元组。
self.conv1_1 = tf.keras.layers.Conv2D(64, kernel_size=(3,3), padding=1, strides=1),