使用tf.keras.MaxPooling1D出现错误

在使用tf.keras.MaxPooling1D时遇到ValueError:'Negative dimension size caused by subtracting 2 from 1 for 'pool_2/MaxPool'。错误源于通道(channels_last vs channels_first)数据格式问题。解决方案包括修改keras.json配置文件或在MaxPooling1D中明确指定data_format='channels_first'。
摘要由CSDN通过智能技术生成

错误如下:

ValueError: Negative dimension size caused by subtracting 2 from 1 for 'pool_2/MaxPool' (op: 'MaxPool') with input shapes: [?,1,1,32].

首先了解MaxPooling1D:

tf.layers.max_pooling1d(
    inputs,
    pool_size,
    strides,
    padding='valid',
    data_format='channels_last',
    name=None
)

用于1维输入的MaxPooling层

  • pool_size:表示pooling window的大小
  • strides:指定pooling操作的步长
  • padding:一个字符串。padding的方法:string,valid或same,大小写不敏感。
  • data_format:一个字符串,channels_last(默认)或channels_first中的一个,输入中维度的排序,channels_last对应于具有形状(batch, length, channels)的输入,而channels_first对应于具有形状(batch, channels, length)的输入。
  • name:一个字符串,表示层的名称。

出现错误原因:

是图片通道的问题,也就是”channels_last”和”channels_first”数据格式的问题。
input_shape=(3,28,28)是theano的写法࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值