from core.comp.dataset_readers.cmg_corec_readers import CmgHybridFixDatasetReaderV2, CmgImpFixLineAlignDatasetReaderV2
from core.comp.dataset_readers.cmg_fira_readers import CmgHybridFixDatasetReaderFira, CmgImpFixLineAlignDatasetReaderFira
from core.comp.dataset_readers.apca_readers import ImpFlatAPCAatasetReader, ImpFlatLineAlignAPCADatasetReader
from core.comp.dataset_readers.jitdp_readers import ImpFlatJitDPDatasetReader, ImpFlatLineAlignJitDPDatasetReader

from core.comp.nn.fusion.diff_siso_fusions.diff_siso_op_mask_fusion_fix import DiffSiSoOpMaskJointConcatAttentionFixFusion
from core.comp.nn.fusion.diff_siso_fusions.diff_siso_fusion_wrapper import DiffSiSoOpMaskFLAHybridFusion
from core.comp.nn.fusion.diff_siso_fusions.diff_siso_line_align_fusion import DiffSiSoFLAFusion
from core.comp.nn.fusion.sivo_fusions.sivo_joint_attn_flat_fusion import SiVoOpMaskJointConcatAttentionFusion
from core.comp.nn.fusion.sivo_fusions.sivo_joint_attn_line_align_fusion import SiVoFlatLineAlignJointConcatAttentionFusion
from core.comp.nn.decoders.auto_regressive_decoder import CcAutoRegressiveSeqDecoder
from core.comp.nn.decoders.transformer_decodernet import TransformerDecoderNet
from core.comp.metric.bleu_norm import BNorm

from core.models.classification.imp_seqin_classifier import ImpCcMsgSeqinClassifier
from core.models.seq2seq.hybird_cc_simple_seq2seq import HybridCcSimpleSeq2Seq
from core.models.seq2seq.hybrid_cc_modular_seq2seq import HybridCcModularSeq2Seq

from core.comp.callbacks import *