繁体   English   中英

Tensorflow InvalidArgumentError:Lambda图层对输入进行切片后形状不兼容

[英]Tensorflow InvalidArgumentError: Incompatible shapes after slicing input by Lambda Layer

在我的卷积网络中,我最近根据该问题的答案添加了一个Lambda层作为输入层,用于选择输入图像的特定通道

model.add(Lambda(lambda x: x[:,:,:2], input_shape=(w, h, 3)))

当我尝试添加MaxPooling2D图层时,出现错误ValueError: Negative dimension size caused by subtracting 3 from 2 for 'max_pooling2d_14/MaxPool' (op: 'MaxPool') with input shapes: [?,250,2,64]

我以为在Theano和Tensorflow暗淡顺序之间犯了一些错误,所以我编辑了Lambda层:

model.add(Lambda(lambda x: x[:2,:,:], input_shape=(w, h, 3)))

这次我添加更多层时没有问题,但是当我尝试使用fit_generator ,出现错误: InvalidArgumentError: Incompatible shapes: [64] vs. [2]

完整的追溯很长,我将它们上传到此处

我正在Linux上使用4 GPU进行计算,感谢您的帮助。

问题在于我使用Lambda层对输入进行切片的方式。

输入形状按此顺序具有4个属性:batch_size,宽度,高度,通道。

为了选择输入数据的多个数组,由于Tensorflow不支持numpy的高级索引方法,因此我们应该首先对输入张量进行切片,使用暗淡扩展来添加颜色深度,然后再对其进行串联。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM