From 0338cdc3094ca7d29ff4d36d64791f7b4e4b5e6e Mon Sep 17 00:00:00 2001 From: Franz Nowak Date: Thu, 23 Feb 2023 22:18:36 +0100 Subject: [PATCH] fix imports referencing moved metrics.py file (#4840) * fix imports referencing moved metrics.py file * Make representation computation branchless in TransformerEncoderBase (#4818) Summary: We want to make the computation branchless here because fairseq code may be exported and traced for deployment purposes, and tracing mechanisms can break the correctness for a captured program if it's dependent on input data. In this diff we try to rewrite the code to remove one branch so that tracer can proceed here and preserve the correct semantics of the model. Test Plan: CI Reviewers: Subscribers: Tasks: Tags: * Fix Torchscript typing in transformer_encoder.py (#4847) * Add Generative Spoken Dialogue Language Modeling (#4879) * Update deprecated torch.qr in glow.py example (#4685) torch.qr is deprecated for a long time and is being removed by https://github.com/pytorch/pytorch/pull/70989. This PR makes the example compatible with new and old PyTorch versions. * Emotion Conversion Paper Open Source (#4895) * data2vec v2.0 (#4903) data2v2c 2.0 Co-authored-by: Arun Babu Co-authored-by: Wei-Ning Hsu * remove missing config entries when loading task from checkpoint (#4905) * make apex optional (#4906) * Add file to generate manifests for stop dataset. (#4891) * Update STOP dataset README to include proper link. (#4892) * Update README.md (#4893) * using foreach to reduce kernel (#4904) * using foreach to reduce kernel * set reproducibility to looser threshold * revert optimzer * update * update * update * update * update * update * update Co-authored-by: juntengjia * Update README.md to add data2vec blog post (#4913) * Update README.md * Update config to fix circleci failure (#4949) https://app.circleci.com/pipelines/github/fairinternal/fairseq-py/12635/workflows/3befbae2-79c4-458d-9fc4-aad4484183b4/jobs/26767 * Generative Spoken Dialogue Language Modeling Paper Open Source (#4957) * wav2vec2_laser (#4968) * ASR BLEU tool copied from ust branch into main (#4914) * Add transcript option for asr-bleu (#4981) --------- Co-authored-by: zhxchen17 Co-authored-by: zhxchen17 Co-authored-by: Nguyen Tu Anh Co-authored-by: Sergii Dymchenko Co-authored-by: Felix Kreuk Co-authored-by: Alexei Baevski Co-authored-by: padentomasello Co-authored-by: Junteng Jia Co-authored-by: juntengjia Co-authored-by: arbabu123 Co-authored-by: dianaml0 <82468439+dianaml0@users.noreply.github.com> Co-authored-by: Pierre Andrews Co-authored-by: Ilia Kulikov Co-authored-by: Xutai Ma --- examples/MMPT/mmpt/losses/fairseqmmloss.py | 2 +- examples/adaptive_span/adaptive_span_loss.py | 3 ++- .../criterions/discriminative_reranking_criterion.py | 3 ++- .../tasks/discriminative_reranking_task.py | 2 +- examples/rxf/rxf_src/label_smoothed_cross_entropy_r3f.py | 3 ++- .../criterions/multi_modality_compound.py | 3 ++- .../criterions/text_guide_cross_entropy_acc.py | 3 ++- .../translation_moe/translation_moe_src/translation_moe.py | 3 ++- fairseq/criterions/adaptive_loss.py | 3 ++- fairseq/criterions/cross_entropy.py | 3 ++- fairseq/criterions/ctc.py | 4 +++- fairseq/criterions/fairseq_criterion.py | 3 ++- fairseq/criterions/fastspeech2_loss.py | 3 ++- fairseq/criterions/hubert_criterion.py | 3 ++- fairseq/criterions/label_smoothed_cross_entropy.py | 3 ++- .../label_smoothed_cross_entropy_latency_augmented.py | 3 ++- .../criterions/label_smoothed_cross_entropy_with_alignment.py | 3 ++- fairseq/criterions/label_smoothed_cross_entropy_with_ctc.py | 3 ++- fairseq/criterions/label_smoothed_cross_entropy_with_rdrop.py | 3 ++- fairseq/criterions/legacy_masked_lm.py | 3 ++- fairseq/criterions/masked_lm.py | 3 ++- fairseq/criterions/model_criterion.py | 3 ++- fairseq/criterions/nat_loss.py | 3 ++- fairseq/criterions/sentence_prediction.py | 2 +- fairseq/criterions/sentence_ranking.py | 3 ++- fairseq/criterions/speech_to_speech_criterion.py | 3 ++- fairseq/criterions/speech_ulm_criterion.py | 2 +- fairseq/criterions/tacotron2_loss.py | 3 ++- fairseq/criterions/wav2vec_criterion.py | 3 ++- .../model_parallel/criterions/vocab_parallel_cross_entropy.py | 3 ++- fairseq/tasks/fairseq_task.py | 3 ++- fairseq/tasks/multilingual_translation.py | 3 ++- fairseq/tasks/online_backtranslation.py | 3 ++- fairseq/tasks/translation.py | 3 ++- tests/test_metrics.py | 2 +- 35 files changed, 66 insertions(+), 35 deletions(-) diff --git a/examples/MMPT/mmpt/losses/fairseqmmloss.py b/examples/MMPT/mmpt/losses/fairseqmmloss.py index c0415d10..a95e5ecf 100644 --- a/examples/MMPT/mmpt/losses/fairseqmmloss.py +++ b/examples/MMPT/mmpt/losses/fairseqmmloss.py @@ -8,7 +8,7 @@ TODO (huxu): a general fairseq criterion for all your pre-defined losses. """ from fairseq.criterions import FairseqCriterion, register_criterion -from fairseq import metrics +from fairseq.logging import metrics @register_criterion("mmloss") diff --git a/examples/adaptive_span/adaptive_span_loss.py b/examples/adaptive_span/adaptive_span_loss.py index 05624580..fe95b0d9 100644 --- a/examples/adaptive_span/adaptive_span_loss.py +++ b/examples/adaptive_span/adaptive_span_loss.py @@ -7,7 +7,8 @@ import math from dataclasses import dataclass import torch.nn.functional as F -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import register_criterion from fairseq.criterions.cross_entropy import CrossEntropyCriterion from fairseq.dataclass import FairseqDataclass diff --git a/examples/discriminative_reranking_nmt/criterions/discriminative_reranking_criterion.py b/examples/discriminative_reranking_nmt/criterions/discriminative_reranking_criterion.py index 0b02ce18..c8f19e38 100644 --- a/examples/discriminative_reranking_nmt/criterions/discriminative_reranking_criterion.py +++ b/examples/discriminative_reranking_nmt/criterions/discriminative_reranking_criterion.py @@ -9,7 +9,8 @@ from dataclasses import dataclass, field import torch import torch.nn.functional as F -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.dataclass import ChoiceEnum, FairseqDataclass diff --git a/examples/discriminative_reranking_nmt/tasks/discriminative_reranking_task.py b/examples/discriminative_reranking_nmt/tasks/discriminative_reranking_task.py index 223f8d42..b4ed2a69 100644 --- a/examples/discriminative_reranking_nmt/tasks/discriminative_reranking_task.py +++ b/examples/discriminative_reranking_nmt/tasks/discriminative_reranking_task.py @@ -12,7 +12,7 @@ import os import numpy as np import torch -from fairseq import metrics +from fairseq.logging import metrics from fairseq.data import ( ConcatDataset, ConcatSentencesDataset, diff --git a/examples/rxf/rxf_src/label_smoothed_cross_entropy_r3f.py b/examples/rxf/rxf_src/label_smoothed_cross_entropy_r3f.py index 079db13e..6191fd55 100644 --- a/examples/rxf/rxf_src/label_smoothed_cross_entropy_r3f.py +++ b/examples/rxf/rxf_src/label_smoothed_cross_entropy_r3f.py @@ -7,7 +7,8 @@ import math import torch import torch.nn.functional as F -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.criterions.label_smoothed_cross_entropy import label_smoothed_nll_loss diff --git a/examples/speech_text_joint_to_text/criterions/multi_modality_compound.py b/examples/speech_text_joint_to_text/criterions/multi_modality_compound.py index 292f6fdf..b3a5506a 100644 --- a/examples/speech_text_joint_to_text/criterions/multi_modality_compound.py +++ b/examples/speech_text_joint_to_text/criterions/multi_modality_compound.py @@ -5,7 +5,8 @@ import logging import math from dataclasses import dataclass, field -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.criterions.ctc import CtcCriterion, CtcCriterionConfig from fairseq.criterions.label_smoothed_cross_entropy import ( diff --git a/examples/speech_text_joint_to_text/criterions/text_guide_cross_entropy_acc.py b/examples/speech_text_joint_to_text/criterions/text_guide_cross_entropy_acc.py index 0d356e5a..fd6ff155 100644 --- a/examples/speech_text_joint_to_text/criterions/text_guide_cross_entropy_acc.py +++ b/examples/speech_text_joint_to_text/criterions/text_guide_cross_entropy_acc.py @@ -6,9 +6,10 @@ import math import torch import torch.nn.functional as F +from fairseq import utils from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.criterions.label_smoothed_cross_entropy import label_smoothed_nll_loss -from fairseq import metrics, utils +from fairseq.logging import metrics @register_criterion("guided_label_smoothed_cross_entropy_with_accuracy") diff --git a/examples/translation_moe/translation_moe_src/translation_moe.py b/examples/translation_moe/translation_moe_src/translation_moe.py index 1ee9d1b7..a829bf7d 100644 --- a/examples/translation_moe/translation_moe_src/translation_moe.py +++ b/examples/translation_moe/translation_moe_src/translation_moe.py @@ -7,7 +7,8 @@ from dataclasses import dataclass, field import torch from omegaconf import II -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.dataclass import ChoiceEnum from fairseq.tasks import register_task from fairseq.tasks.translation import TranslationConfig, TranslationTask diff --git a/fairseq/criterions/adaptive_loss.py b/fairseq/criterions/adaptive_loss.py index 6209ceae..fc1ac854 100644 --- a/fairseq/criterions/adaptive_loss.py +++ b/fairseq/criterions/adaptive_loss.py @@ -7,7 +7,8 @@ import math from dataclasses import dataclass import torch.nn.functional as F -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.dataclass import FairseqDataclass from fairseq.dataclass.constants import DDP_BACKEND_CHOICES diff --git a/fairseq/criterions/cross_entropy.py b/fairseq/criterions/cross_entropy.py index fe461064..24d6bcd6 100644 --- a/fairseq/criterions/cross_entropy.py +++ b/fairseq/criterions/cross_entropy.py @@ -7,7 +7,8 @@ import math from dataclasses import dataclass import torch.nn.functional as F -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.dataclass import FairseqDataclass from omegaconf import II diff --git a/fairseq/criterions/ctc.py b/fairseq/criterions/ctc.py index e55e928b..368213cb 100644 --- a/fairseq/criterions/ctc.py +++ b/fairseq/criterions/ctc.py @@ -12,7 +12,9 @@ from typing import Optional import torch import torch.nn.functional as F -from fairseq import metrics, utils + +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.dataclass import FairseqDataclass from fairseq.data.data_utils import post_process diff --git a/fairseq/criterions/fairseq_criterion.py b/fairseq/criterions/fairseq_criterion.py index ff4beb02..0b1e64a8 100644 --- a/fairseq/criterions/fairseq_criterion.py +++ b/fairseq/criterions/fairseq_criterion.py @@ -6,7 +6,8 @@ import inspect from typing import Any, Dict, List -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.dataclass import FairseqDataclass from fairseq.dataclass.utils import gen_parser_from_dataclass from torch.nn.modules.loss import _Loss diff --git a/fairseq/criterions/fastspeech2_loss.py b/fairseq/criterions/fastspeech2_loss.py index b317409e..ab7cd08e 100644 --- a/fairseq/criterions/fastspeech2_loss.py +++ b/fairseq/criterions/fastspeech2_loss.py @@ -11,7 +11,8 @@ from dataclasses import dataclass, field import torch import torch.nn.functional as F -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.dataclass import FairseqDataclass from fairseq.data.data_utils import lengths_to_mask diff --git a/fairseq/criterions/hubert_criterion.py b/fairseq/criterions/hubert_criterion.py index 83b514ae..262874b5 100644 --- a/fairseq/criterions/hubert_criterion.py +++ b/fairseq/criterions/hubert_criterion.py @@ -10,7 +10,8 @@ from typing import List, Optional import torch import torch.nn.functional as F -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.dataclass import FairseqDataclass diff --git a/fairseq/criterions/label_smoothed_cross_entropy.py b/fairseq/criterions/label_smoothed_cross_entropy.py index cb43be0c..325679bb 100644 --- a/fairseq/criterions/label_smoothed_cross_entropy.py +++ b/fairseq/criterions/label_smoothed_cross_entropy.py @@ -7,7 +7,8 @@ import math from dataclasses import dataclass, field import torch -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.dataclass import FairseqDataclass from omegaconf import II diff --git a/fairseq/criterions/label_smoothed_cross_entropy_latency_augmented.py b/fairseq/criterions/label_smoothed_cross_entropy_latency_augmented.py index d5fb390f..6eaedab9 100644 --- a/fairseq/criterions/label_smoothed_cross_entropy_latency_augmented.py +++ b/fairseq/criterions/label_smoothed_cross_entropy_latency_augmented.py @@ -5,7 +5,8 @@ from dataclasses import dataclass, field import torch -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import register_criterion from fairseq.criterions.label_smoothed_cross_entropy import ( LabelSmoothedCrossEntropyCriterion, diff --git a/fairseq/criterions/label_smoothed_cross_entropy_with_alignment.py b/fairseq/criterions/label_smoothed_cross_entropy_with_alignment.py index 2ea37c16..b55f65e5 100644 --- a/fairseq/criterions/label_smoothed_cross_entropy_with_alignment.py +++ b/fairseq/criterions/label_smoothed_cross_entropy_with_alignment.py @@ -5,7 +5,8 @@ import math -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import register_criterion from .label_smoothed_cross_entropy import ( diff --git a/fairseq/criterions/label_smoothed_cross_entropy_with_ctc.py b/fairseq/criterions/label_smoothed_cross_entropy_with_ctc.py index e98e0f7d..f2e8cdf3 100644 --- a/fairseq/criterions/label_smoothed_cross_entropy_with_ctc.py +++ b/fairseq/criterions/label_smoothed_cross_entropy_with_ctc.py @@ -9,7 +9,8 @@ from dataclasses import dataclass, field import torch import torch.nn.functional as F -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import register_criterion from fairseq.criterions.label_smoothed_cross_entropy import ( LabelSmoothedCrossEntropyCriterion, diff --git a/fairseq/criterions/label_smoothed_cross_entropy_with_rdrop.py b/fairseq/criterions/label_smoothed_cross_entropy_with_rdrop.py index 80b5ea0f..47ee263a 100644 --- a/fairseq/criterions/label_smoothed_cross_entropy_with_rdrop.py +++ b/fairseq/criterions/label_smoothed_cross_entropy_with_rdrop.py @@ -8,7 +8,8 @@ from dataclasses import dataclass, field import torch -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import register_criterion from fairseq.criterions.label_smoothed_cross_entropy import ( LabelSmoothedCrossEntropyCriterion, diff --git a/fairseq/criterions/legacy_masked_lm.py b/fairseq/criterions/legacy_masked_lm.py index c70608c5..5cf70df2 100644 --- a/fairseq/criterions/legacy_masked_lm.py +++ b/fairseq/criterions/legacy_masked_lm.py @@ -7,7 +7,8 @@ import math import torch import torch.nn.functional as F -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion diff --git a/fairseq/criterions/masked_lm.py b/fairseq/criterions/masked_lm.py index 279458f3..09ddd9f3 100644 --- a/fairseq/criterions/masked_lm.py +++ b/fairseq/criterions/masked_lm.py @@ -8,7 +8,8 @@ import math from omegaconf import II import torch -from fairseq import metrics, modules, utils +from fairseq import modules, utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.dataclass import FairseqDataclass diff --git a/fairseq/criterions/model_criterion.py b/fairseq/criterions/model_criterion.py index 2c9fbb25..4c020ddb 100644 --- a/fairseq/criterions/model_criterion.py +++ b/fairseq/criterions/model_criterion.py @@ -9,7 +9,8 @@ from typing import Dict, List import torch -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.dataclass import FairseqDataclass from fairseq.logging.meters import safe_round diff --git a/fairseq/criterions/nat_loss.py b/fairseq/criterions/nat_loss.py index 7dac32fb..fc0bdaf8 100644 --- a/fairseq/criterions/nat_loss.py +++ b/fairseq/criterions/nat_loss.py @@ -7,7 +7,8 @@ import math import torch import torch.nn.functional as F -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.dataclass import FairseqDataclass from torch import Tensor diff --git a/fairseq/criterions/sentence_prediction.py b/fairseq/criterions/sentence_prediction.py index 01c2a2ba..298b8057 100644 --- a/fairseq/criterions/sentence_prediction.py +++ b/fairseq/criterions/sentence_prediction.py @@ -14,7 +14,7 @@ from sklearn.metrics import f1_score from sklearn.metrics import matthews_corrcoef as _matthews_corrcoef from scipy.stats import pearsonr, spearmanr -from fairseq import metrics +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.dataclass import FairseqDataclass from fairseq.logging.meters import safe_round diff --git a/fairseq/criterions/sentence_ranking.py b/fairseq/criterions/sentence_ranking.py index d4c76341..bfb9f058 100644 --- a/fairseq/criterions/sentence_ranking.py +++ b/fairseq/criterions/sentence_ranking.py @@ -7,7 +7,8 @@ import math import torch import torch.nn.functional as F -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion diff --git a/fairseq/criterions/speech_to_speech_criterion.py b/fairseq/criterions/speech_to_speech_criterion.py index 6c663c77..06a82521 100644 --- a/fairseq/criterions/speech_to_speech_criterion.py +++ b/fairseq/criterions/speech_to_speech_criterion.py @@ -9,7 +9,8 @@ from collections import OrderedDict import torch -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import register_criterion from fairseq.criterions.ctc import CtcCriterion from fairseq.criterions.label_smoothed_cross_entropy_with_rdrop import ( diff --git a/fairseq/criterions/speech_ulm_criterion.py b/fairseq/criterions/speech_ulm_criterion.py index eae6b62f..eea74bae 100644 --- a/fairseq/criterions/speech_ulm_criterion.py +++ b/fairseq/criterions/speech_ulm_criterion.py @@ -7,7 +7,7 @@ import torch from dataclasses import dataclass, field import torch.nn.functional as F -from fairseq import metrics +from fairseq.logging import metrics from fairseq.tasks import FairseqTask from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.dataclass import FairseqDataclass diff --git a/fairseq/criterions/tacotron2_loss.py b/fairseq/criterions/tacotron2_loss.py index d3af9762..4113fdc5 100644 --- a/fairseq/criterions/tacotron2_loss.py +++ b/fairseq/criterions/tacotron2_loss.py @@ -14,7 +14,8 @@ import torch import torch.nn.functional as F from omegaconf import II -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.data.data_utils import lengths_to_mask from fairseq.dataclass import FairseqDataclass diff --git a/fairseq/criterions/wav2vec_criterion.py b/fairseq/criterions/wav2vec_criterion.py index e37274d5..39754684 100644 --- a/fairseq/criterions/wav2vec_criterion.py +++ b/fairseq/criterions/wav2vec_criterion.py @@ -9,7 +9,8 @@ from typing import List, Optional import torch import torch.nn.functional as F -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion from fairseq.dataclass import FairseqDataclass from fairseq.logging.meters import safe_round diff --git a/fairseq/model_parallel/criterions/vocab_parallel_cross_entropy.py b/fairseq/model_parallel/criterions/vocab_parallel_cross_entropy.py index 35c50ee1..5ffbaa87 100644 --- a/fairseq/model_parallel/criterions/vocab_parallel_cross_entropy.py +++ b/fairseq/model_parallel/criterions/vocab_parallel_cross_entropy.py @@ -5,7 +5,8 @@ import math -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.criterions import FairseqCriterion, register_criterion diff --git a/fairseq/tasks/fairseq_task.py b/fairseq/tasks/fairseq_task.py index 7481e0f4..e39d1d68 100644 --- a/fairseq/tasks/fairseq_task.py +++ b/fairseq/tasks/fairseq_task.py @@ -10,7 +10,8 @@ from argparse import Namespace from typing import Any, Callable, Dict, List import torch -from fairseq import metrics, search, tokenizer, utils +from fairseq import search, tokenizer, utils +from fairseq.logging import metrics from fairseq.data import Dictionary, FairseqDataset, data_utils, encoders, iterators from fairseq.dataclass import FairseqDataclass from fairseq.dataclass.utils import gen_parser_from_dataclass diff --git a/fairseq/tasks/multilingual_translation.py b/fairseq/tasks/multilingual_translation.py index e692b666..cef76566 100644 --- a/fairseq/tasks/multilingual_translation.py +++ b/fairseq/tasks/multilingual_translation.py @@ -10,7 +10,8 @@ from collections import OrderedDict from argparse import ArgumentError import torch -from fairseq import metrics, options, utils +from fairseq import options, utils +from fairseq.logging import metrics from fairseq.data import ( Dictionary, LanguagePairDataset, diff --git a/fairseq/tasks/online_backtranslation.py b/fairseq/tasks/online_backtranslation.py index 52ce58ce..da24fe89 100644 --- a/fairseq/tasks/online_backtranslation.py +++ b/fairseq/tasks/online_backtranslation.py @@ -20,7 +20,8 @@ import torch.nn as nn import torch.nn.functional as F import fairseq -from fairseq import metrics, options, utils +from fairseq import options, utils +from fairseq.logging import metrics from fairseq.data import ( FairseqDataset, LanguagePairDataset, diff --git a/fairseq/tasks/translation.py b/fairseq/tasks/translation.py index 79752279..6897ebe1 100644 --- a/fairseq/tasks/translation.py +++ b/fairseq/tasks/translation.py @@ -13,7 +13,8 @@ from argparse import Namespace from omegaconf import II import numpy as np -from fairseq import metrics, utils +from fairseq import utils +from fairseq.logging import metrics from fairseq.data import ( AppendTokenDataset, ConcatDataset, diff --git a/tests/test_metrics.py b/tests/test_metrics.py index 2de6969c..fc93b480 100644 --- a/tests/test_metrics.py +++ b/tests/test_metrics.py @@ -6,7 +6,7 @@ import unittest import uuid -from fairseq import metrics +from fairseq.logging import metrics class TestMetrics(unittest.TestCase):