Keras:IndexError:元组索引超出范围-Conv2D

时间:2018-11-20 10:53:05

标签: python tensorflow keras

我是Keras和Tensorflow的新手。我正在尝试运行一些基于Keras和Tensorflow的特定代码。在该代码中,我从tfrecordes文件中准备了数据集,并用tf.reshape(image, [32, 32, 3])对其进行了整形,在我的模型中,我需要在下面的代码中使用Keras在此图像输出上应用Conv2D层:

# Image
x = k.layers.Input(shape=input_shape,tensor=img)
# ReLU Conv1
conv1 = k.layers.Conv2D(filters = 256, kernel_size = 9, strides=1,padding='valid', activation='relu', name='conv1')(x)

问题是,当我运行代码时,出现此错误:

  

self.kernel_size [i],   IndexError:元组索引超出范围

因此,经过多次搜索,我发现可以通过将Keras ver从2.2更改为1.2来解决此错误。 我这样做了,但是实际上,我必须更改所有代码,是否有人可以在不使用Karas 1.2的情况下仅在Keras 2.2中解决此错误?

1 个答案:

答案 0 :(得分:0)

我认为您需要9 * 9内核。将kernel_size=9更改为kernel_size=( 9 , 9 ) 编辑的代码行:

conv1 = k.layers.Conv2D(filters = 256, kernel_size = ( 9 , 9 ), strides=1,padding='valid', activation='relu', name='conv1')(x)