tensorflow/models · error · ValueError
Unknown block type {} for layer {}
Error message
Unknown block type {} for layer {} What it means
Error "Unknown block type {} for layer {}" thrown in tensorflow/models.
Source
Thrown at official/vision/modeling/backbones/mobilenet.py:1540
args.update({
'middle_dw_downsample': block_def.middle_dw_downsample,
'start_dw_kernel_size': block_def.start_dw_kernel_size,
'middle_dw_kernel_size': block_def.middle_dw_kernel_size,
'end_dw_kernel_size': block_def.end_dw_kernel_size,
'use_layer_scale': block_def.use_layer_scale,
})
block = nn_blocks.UniversalInvertedBottleneckBlock(**args)
if self._output_intermediate_endpoints:
net, intermediate_endpoints = block(net)
else:
net = block(net)
elif block_def.block_fn == 'gpooling':
net = layers.GlobalAveragePooling2D(keepdims=True)(net)
else:
raise ValueError(
'Unknown block type {} for layer {}'.format(
block_def.block_fn, block_idx
)
)
net = tf_keras.layers.Activation('linear', name=block_name)(net)
if block_def.is_output:
endpoints[str(endpoint_level)] = net
for key, tensor in intermediate_endpoints.items():
endpoints[str(endpoint_level) + '/' + key] = tensor
if current_stride != self._output_stride:
endpoint_level += 1
if str(endpoint_level) in endpoints:
endpoint_level += 1
return net, endpoints, endpoint_level
View on GitHub (pinned to e006f5f0d5)
Solutions
- Set the block 'type' field for the reported layer to a supported type such as 'conv' or 'inverted_bottleneck'.
- Check the block spec dict at the reported layer for a typo in the 'type' key.
When it happens
Trigger: Thrown at official/vision/modeling/backbones/mobilenet.py:1540 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tensorflow/models@e006f5f0d5 (2026-08-24).
Data as JSON: /api/errors/6d70e0d1c7714631.
Report an issue: GitHub.