class_docstr: Task for WinoGrande dataset. Efficient implementation for Winograd schema
  tasks with exactly two candidates, one of which is correct.
class_docstr_tok: ["Task","for","WinoGrande","dataset",".","Efficient","implementation","for","Winograd","schema","tasks","with","exactly","two","candidates",",","one","of","which","is","correct","."]
code: def setup_task(cls, args, **kwargs):
      assert (
          args.criterion == "winogrande"
      ), "Must set --criterion=winogrande"
  
      # load data and label dictionaries
      vocab = cls.load_dictionary(os.path.join(args.data, "dict.txt"))
      print("| dictionary: {} types".format(len(vocab)))
  
      return cls(args, vocab)
  
imports: import json
  import os
  import tempfile
  import numpy
  import torch
  import torch.nn.functional
  from fairseq import utils
  from fairseq.data import Dictionary, IdDataset, ListDataset, NestedDictionaryDataset, NumelDataset, NumSamplesDataset, PadDataset, SortDataset, data_utils, encoders
  from fairseq.tasks import LegacyFairseqTask, register_task
  from .None import wsc_utils
label_desc: Use image node_id 1 for calling the WinograndeTask obj's underlying member method code with example usage: obj.setup_task(cls, args) and returns: cls