Python 处理不同大小的TF输入
我在TF中构建了一个CNN,它接受Python 处理不同大小的TF输入,python,tensorflow,input,keras,Python,Tensorflow,Input,Keras,我在TF中构建了一个CNN,它接受输入(shape=(10001000,5))。这是因为图像是由5个黑白图像组成的堆栈。我所有的样本都是不同地区的空中拍摄,所以原始图像的大小不一(远远大于1000)。然而,TF要求所有输入都具有相同的预先确定的大小,因此我们决定从所有图像中剪切1000个 这显然会丢失很多有用的信息。我正在寻找可能使网络具有动态输入形状的方法,这样可以拍摄所有原始图像。我在网上找到了多个建议,但我发现每个建议都有问题 为每种图像大小(假设我有两种大小)分别创建一个Input(),
输入(shape=(10001000,5))
。这是因为图像是由5个黑白图像组成的堆栈。我所有的样本都是不同地区的空中拍摄,所以原始图像的大小不一(远远大于1000)。然而,TF要求所有输入都具有相同的预先确定的大小,因此我们决定从所有图像中剪切1000个
这显然会丢失很多有用的信息。我正在寻找可能使网络具有动态输入形状的方法,这样可以拍摄所有原始图像。我在网上找到了多个建议,但我发现每个建议都有问题
Input()
,然后将其卷积成相同的形状张量。问题是,这意味着一个卷积层将不受一半不好的观测值的影响(除非我误解了下面的层是如何工作的)。例如:#a和b是固定的、不同的图像形状
对于图像输入:
如果image.shape==a:
x=输入(形状=a)
x=conv2d_转置(输出_形状=(1000,1000,5))
其他:
y=输入(形状=b)
y=conv2d_转置(输出_形状=(1000,1000,5))
任何输入(对不起)都将不胜感激。有没有理由不采用最大可能大小和零焊盘输入?那家伙在你链接的线索里就是这么做的。有点俗气,但这曾经是NLP中的常见做法,并且可以选择在卷积层中进行。我认为这将是太多的零,图像大小根本不相似。