首页 > 解决方案 > 为什么 tf.pad 返回形状 [?,?,?]

问题描述

在输入 conv1D 网络之前,我尝试做一些自定义填充,如下所示。

x=tf.placeholder("float",[None,50,1])

padding=tf.constant([0,0],[5,0],[0,0])

y=tf.pad(x,padding)

但是,经过上述操作后,y 将是一个形状为 (?,?,?) 的张量,因此当馈送到 tf.layers.conv1d 时,我收到错误消息“应定义输入的通道维度。找到”没有任何'”。

我的问题是为什么 pad 结果没有形状?计算形状应该不难,我猜这只是在运行时计算,但不方便吧?我可以在传递给 conv1d 之前使用 reshape 吗?

标签: pythontensorflow

解决方案


推荐阅读