python - Keras:IndexError:元组索引超出范围 - Conv2D
问题描述
我是 Keras 和 Tensorflow 的新手。我正在尝试运行一些基于 Keras 和 Tensorflow 的特定代码。在该代码中,我从 tfrecordes 文件中准备了数据集并使用 重塑它tf.reshape(image, [32, 32, 3])
,在我的模型中,我需要在此图像输出上应用 Conv2D 层,我使用 Keras,在下面的代码中:
# 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 版本从 2.2 更改为 1.2 来修复。我这样做但实际上,我必须更改我的所有代码,有没有人可以在不使用 Keras 1.2 的情况下仅在 Keras 2.2 中修复此错误?
解决方案
我认为你需要一个 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)
推荐阅读
- python - 在 pyModbus 事务中访问原始字节
- python - Telegram Bot 在点击内联查询结果时执行回调
- xml - 使用 AspectJ 编译器时如何调试构建错误?特别指出已经创建了资源?
- python - CombineByKey 适用于 pyspark python 2 但不适用于 python 3
- swift - 如何在一种情况下推送视图控制器,但在另一种情况下以模态方式呈现它?
- python - Python wtforms QuerySelectField:返回主键条目以外的其他内容
- javascript - jQuery Lazy 插件 - 一次加载所有图像
- php - Laravel - 如何访问和操作数据透视表
- c++ - 随机访问迭代器:我错过了什么?
- c# - 如何在 Xamarin.IOS 中添加具有自定义名称和 QR 码的 Apple Wallet Pass