File size: 2,146 Bytes
e92022a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# coding=utf-8
# Copyright 2022 shunxing1234 and The HuggingFace Inc. team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
""" Audio configuration """

from transformers.configuration_utils import PretrainedConfig


class GLMAudioConfig(PretrainedConfig):
    model_type = "bailingmm"

    def __init__(
        self,
        audio_encoder_output_size=512,
        audio_decoder_type=None,  # None, "glmaudio", "glmv4audio"
        audio_id_shift=None,
        vocab_size_audio=0,  # audio vocab starts from audio_id_shift and ends at audio_id_shift + vocab_size_audio exclusively.
        use_audio_bpe_token=False,
        ds_conv_type="conv",  # "conv" or "dsconv"
        ds_kernel_size=1,
        ds_stride=1,
        norm_query_embeds=True,
        audio_wav_frontend_config_sanm={},  # SANMEncoder's WavFrontend related configs.
        audio_encoder_config_sanm={},  # SANMEncoder related configs.
        **kwargs
    ):
        # Audio related.
        self.audio_encoder_output_size = audio_encoder_output_size
        self.audio_decoder_type = audio_decoder_type
        self.audio_id_shift = audio_id_shift
        self.vocab_size_audio = vocab_size_audio
        self.use_audio_bpe_token = use_audio_bpe_token

        # Audio feature downsampler related.
        self.ds_conv_type = ds_conv_type
        self.ds_kernel_size = ds_kernel_size
        self.ds_stride = ds_stride
        self.norm_query_embeds = norm_query_embeds

        # Third-party module configs.
        self.audio_wav_frontend_config_sanm = audio_wav_frontend_config_sanm
        self.audio_encoder_config_sanm = audio_encoder_config_sanm