.. role:: hidden :class: hidden-section .. module:: fairseq.tasks .. _Tasks: Tasks ===== Tasks store dictionaries and provide helpers for loading/iterating over Datasets, initializing the Model/Criterion and calculating the loss. Tasks can be selected via the ``--task`` command-line argument. Once selected, a task may expose additional command-line arguments for further configuration. Example usage:: # setup the task (e.g., load dictionaries) task = fairseq.tasks.setup_task(args) # build model and criterion model = task.build_model(args) criterion = task.build_criterion(args) # load datasets task.load_dataset('train') task.load_dataset('valid') # iterate over mini-batches of data batch_itr = task.get_batch_iterator( task.dataset('train'), max_tokens=4096, ) for batch in batch_itr: # compute the loss loss, sample_size, logging_output = task.get_loss( model, criterion, batch, ) loss.backward() Translation ----------- .. autoclass:: fairseq.tasks.translation.TranslationTask .. _language modeling: Language Modeling ----------------- .. autoclass:: fairseq.tasks.language_modeling.LanguageModelingTask Adding new tasks ---------------- .. autofunction:: fairseq.tasks.register_task .. autoclass:: fairseq.tasks.FairseqTask :members: :undoc-members: