使Tensorflow操作的Keras层动态化(Tensorflow对象检测API)

时间:2019-03-28 14:35:38

标签: tensorflow keras object-detection-api

我正在用ResNet中的本地连接层替换卷积层(使用更快的RCNN)。 Tensorflow从keras导入该层,并说应完全定义该层的输入尺寸。当我运行时,它会引发以下错误。

模型中的所有张量具有动态形状。但是,这个keras层不接受这一点。下面显示的“瓶颈”块仅适用于第四个ResNet块。

那么如何使这个keras层动态化?

Resnet的瓶颈块(resnet_v1.py):

residual = slim.conv2d(inputs, depth_bottleneck, [1, 1], stride=1, scope='conv1')
residual = Local_connection.LocallyConnected2D(filters=depth_bottleneck, kernel_size=3, strides = (2,2), data_format='channels_last')(residual)
residual = slim.conv2d(residual, depth, [1, 1], stride=1,activation_fn=None, scope='conv3')

错误: ValueError:应完全定义LocallyConnected2D图层的输入的空间尺寸,但图层接收到的输入形状为(1,None,None,256)

链接到keras层(检查第309行):

https://github.com/keras-team/keras/blob/master/keras/layers/local.py

0 个答案:

没有答案