code: def forward(
      model: Model, X: Any, is_train: bool
  ) -> Tuple[Any, Callable]:
      """Return the output of the wrapped MXNet model for the given input,
      along with a callback to handle the backward pass.
      """
      convert_inputs = model.attrs["convert_inputs"]
      convert_outputs = model.attrs["convert_outputs"]
  
      Xmxnet, get_dX = convert_inputs(model, X, is_train)
      Ymxnet, mxnet_backprop = model.shims[0](Xmxnet, is_train)
      Y, get_dYmxnet = convert_outputs(model, (X, Ymxnet), is_train)
  
      def backprop(dY: Any) -> Any:
          dYmxnet = get_dYmxnet(dY)
          dXmxnet = mxnet_backprop(dYmxnet)
          dX = get_dX(dXmxnet)
          return dX
  
      return Y, backprop
  
file_path: thinc/thinc/layers/mxnetwrapper.py
imports: from typing import Any, Callable, Optional, Tuple, Type
  from ..config import registry
  from ..model import Model
  from ..shims import MXNetShim
  from ..types import ArgsKwargs
  from ..util import convert_recursive, is_mxnet_array, is_xp_array, mxnet2xp, xp2mxnet
label_desc: Use image node_id 2 for calling a global function with example usage: forward(model, X, is_train) and returns: Y,  backprop, dX