class_docstr: Output layer for word tagging models that use Conditional Random Field.
  
  Args:
      num_tags (int): Total number of possible word tags.
  
  Attributes:
      num_tags: Total number of possible word tags.
class_docstr_tok: ["Output","layer","for","word","tagging","models","that","use","Conditional","Random","Field",".","Args",":","num_tags","(","int",")",":","Total","number","of","possible","word","tags",".","Attributes",":","num_tags",":","Total","number","of","possible","word","tags","."]
docstr: Exports the CRF output layer to Caffe2.
  See `OutputLayerBase.export_to_caffe2()` for details.
docstr_tok: ["Exports","the","CRF","output","layer","to","Caffe2",".","See","`","OutputLayerBase.export_to_caffe2","(",")","`","for","details","."]
code: def export_to_caffe2(
      self,
      workspace: core.workspace,
      init_net: core.Net,
      predict_net: core.Net,
      model_out: torch.Tensor,
      output_name: str,
  ) -> List[core.BlobReference]:
      """
      Exports the CRF output layer to Caffe2.
      See `OutputLayerBase.export_to_caffe2()` for details.
      """
      output_score = self.crf.export_to_caffe2(
          workspace, init_net, predict_net, output_name
      )
      probability_out = predict_net.Softmax(
          output_score, axis=model_out.dim() - 1
      )
      return OutputLayerUtils.gen_additional_blobs(
          predict_net,
          probability_out,
          model_out,
          output_name,
          self.target_names,
      )
  
imports: from typing import Any, Dict, List, Optional, Tuple, Union
  import torch
  import torch.jit
  import torch.nn
  import torch.nn.functional
  from caffe2.python import core
  from pytext.common import Padding
  from pytext.config.component import create_loss
  from pytext.config.serialize import MissingValueError
  from pytext.data.utils import Vocabulary
  from pytext.loss import AUCPRHingeLoss, BinaryCrossEntropyLoss, CrossEntropyLoss, KLDivergenceBCELoss, KLDivergenceCELoss, LabelSmoothedCrossEntropyLoss, StructuredLoss, StructuredMarginLoss
  from pytext.models.crf import CRF
  from pytext.utils.label import get_label_weights
  from pytext.utils.usage import log_class_usage
  from .output_layer_base import OutputLayerBase
  from .utils import OutputLayerUtils
label_desc: Use image node_id 5 for calling the CRFOutputLayer obj's underlying member method code with example usage: obj.export_to_caffe2(workspace, init_net, predict_net, model_out, output_name) and returns: OutputLayerUtils