class_docstr: A UNetModel that conditions on text with an encoding transformer.
  
  Expects an extra kwarg `tokens` of text.
  
  :param text_ctx: number of text tokens to expect.
  :param xf_width: width of the transformer.
  :param xf_layers: depth of the transformer.
  :param xf_heads: heads in the transformer.
  :param xf_final_ln: use a LayerNorm after the output layer.
  :param tokenizer: the text tokenizer for sampling/vocab size.
code: def convert_to_fp16(self):
      super().convert_to_fp16()
      if self.xf_width:
          self.transformer.apply(convert_module_to_f16)
          self.transformer_proj.to(th.float16)
          self.token_embedding.to(th.float16)
          self.positional_embedding.to(th.float16)
          if self.xf_padding:
              self.padding_embedding.to(th.float16)
          if self.xf_ar:
              self.unemb.to(th.float16)
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  from .nn import timestep_embedding
  from .unet import UNetModel
  from .xf import LayerNorm, Transformer, convert_module_to_f16
label_desc: Use image node_id 2 for calling the Text2ImUNet obj's underlying member method code with example usage: obj.convert_to_fp16() without return types