{"record":{"id":"b3804656e1442a33","repo":"tensorflow/models","slug":"block-fn-is-not-supported-b38046","errorCode":null,"errorMessage":"Block fn `{}` is not supported.","messagePattern":"Block fn `(.+?)` is not supported\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"official/vision/modeling/backbones/revnet.py","lineNumber":122,"sourceCode":"        kernel_size=7, strides=2, use_bias=False, padding='same',\n        kernel_initializer=self._kernel_initializer,\n        kernel_regularizer=self._kernel_regularizer)(inputs)\n    x = self._norm(\n        axis=axis,\n        momentum=norm_momentum,\n        epsilon=norm_epsilon,\n        synchronized=use_sync_bn)(x)\n    x = tf_utils.get_activation(activation)(x)\n    x = tf_keras.layers.MaxPool2D(pool_size=3, strides=2, padding='same')(x)\n\n    endpoints = {}\n    for i, spec in enumerate(REVNET_SPECS[model_id]):\n      if spec[0] == 'residual':\n        inner_block_fn = nn_blocks.ResidualInner\n      elif spec[0] == 'bottleneck':\n        inner_block_fn = nn_blocks.BottleneckResidualInner\n      else:\n        raise ValueError('Block fn `{}` is not supported.'.format(spec[0]))\n\n      if spec[1] % 2 != 0:\n        raise ValueError('Number of output filters must be even to ensure '\n                         'splitting in channel dimension for reversible blocks')\n\n      x = self._block_group(\n          inputs=x,\n          filters=spec[1],\n          strides=(1 if i == 0 else 2),\n          inner_block_fn=inner_block_fn,\n          block_repeats=spec[2],\n          batch_norm_first=(i != 0),  # Only skip on first block\n          name='revblock_group_{}'.format(i + 2))\n      endpoints[str(i + 2)] = x\n\n    self._output_specs = {l: endpoints[l].get_shape() for l in endpoints}\n\n    super(RevNet, self).__init__(inputs=inputs, outputs=endpoints, **kwargs)","sourceCodeStart":104,"sourceCodeEnd":140,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/vision/modeling/backbones/revnet.py#L104-L140","documentation":"Error \"Block fn `{}` is not supported.\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/vision/modeling/backbones/revnet.py:122 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a supported RevNet block_fn: 'bottleneck' or 'basic'.","Check the block_fn value in the RevNet backbone config for typos."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e006f5f0d534913e49c1f1dae87364039fa607e2","analyzedAt":"2026-08-24T14:09:15.576Z","schemaVersion":2},"datasetVersion":"2026-08-24T17:17:21.512Z"}