|
@@ -1,8 +1,8 @@
|
|
|
import torch
|
|
import torch
|
|
|
from torch.nn import functional as F
|
|
from torch.nn import functional as F
|
|
|
|
|
+from funasr.models.encoder.abs_encoder import AbsEncoder
|
|
|
from typing import Tuple, Optional
|
|
from typing import Tuple, Optional
|
|
|
from funasr.models.pooling.statistic_pooling import statistic_pooling, windowed_statistic_pooling
|
|
from funasr.models.pooling.statistic_pooling import statistic_pooling, windowed_statistic_pooling
|
|
|
-from funasr.models.encoder.abs_encoder import AbsEncoder
|
|
|
|
|
from collections import OrderedDict
|
|
from collections import OrderedDict
|
|
|
import logging
|
|
import logging
|
|
|
import numpy as np
|
|
import numpy as np
|
|
@@ -76,7 +76,7 @@ class BasicBlock(torch.nn.Module):
|
|
|
return xs_pad, ilens
|
|
return xs_pad, ilens
|
|
|
|
|
|
|
|
|
|
|
|
|
-class ResNet34(torch.nn.Module):
|
|
|
|
|
|
|
+class ResNet34(AbsEncoder):
|
|
|
def __init__(
|
|
def __init__(
|
|
|
self,
|
|
self,
|
|
|
input_size,
|
|
input_size,
|
|
@@ -406,6 +406,12 @@ class ResNet34Diar(ResNet34):
|
|
|
tf2torch_tensor_name_prefix_torch="encoder",
|
|
tf2torch_tensor_name_prefix_torch="encoder",
|
|
|
tf2torch_tensor_name_prefix_tf="seq2seq/speech_encoder"
|
|
tf2torch_tensor_name_prefix_tf="seq2seq/speech_encoder"
|
|
|
):
|
|
):
|
|
|
|
|
+ """
|
|
|
|
|
+ Author: Speech Lab, Alibaba Group, China
|
|
|
|
|
+ SOND: Speaker Overlap-aware Neural Diarization for Multi-party Meeting Analysis
|
|
|
|
|
+ https://arxiv.org/abs/2211.10243
|
|
|
|
|
+ """
|
|
|
|
|
+
|
|
|
super(ResNet34Diar, self).__init__(
|
|
super(ResNet34Diar, self).__init__(
|
|
|
input_size,
|
|
input_size,
|
|
|
use_head_conv=use_head_conv,
|
|
use_head_conv=use_head_conv,
|
|
@@ -633,6 +639,12 @@ class ResNet34SpL2RegDiar(ResNet34_SP_L2Reg):
|
|
|
tf2torch_tensor_name_prefix_torch="encoder",
|
|
tf2torch_tensor_name_prefix_torch="encoder",
|
|
|
tf2torch_tensor_name_prefix_tf="seq2seq/speech_encoder"
|
|
tf2torch_tensor_name_prefix_tf="seq2seq/speech_encoder"
|
|
|
):
|
|
):
|
|
|
|
|
+ """
|
|
|
|
|
+ Author: Speech Lab, Alibaba Group, China
|
|
|
|
|
+ TOLD: A Novel Two-Stage Overlap-Aware Framework for Speaker Diarization
|
|
|
|
|
+ https://arxiv.org/abs/2303.05397
|
|
|
|
|
+ """
|
|
|
|
|
+
|
|
|
super(ResNet34SpL2RegDiar, self).__init__(
|
|
super(ResNet34SpL2RegDiar, self).__init__(
|
|
|
input_size,
|
|
input_size,
|
|
|
use_head_conv=use_head_conv,
|
|
use_head_conv=use_head_conv,
|
|
@@ -838,4 +850,4 @@ class ResNet34SpL2RegDiar(ResNet34_SP_L2Reg):
|
|
|
else:
|
|
else:
|
|
|
logging.warning("{} is missed from tf checkpoint".format(name))
|
|
logging.warning("{} is missed from tf checkpoint".format(name))
|
|
|
|
|
|
|
|
- return var_dict_torch_update
|
|
|
|
|
|
|
+ return var_dict_torch_update
|