init_dummy_model.py 1.52 KB
Newer Older
1
2
from stable_speech import StableSpeechConfig, StableSpeechForCausalLM, StableSpeechForConditionalGeneration, StableSpeechDecoderConfig
from transformers import T5Config, EncodecConfig
Yoach Lacombe's avatar
Yoach Lacombe committed
3
from transformers import AutoConfig
4
5

decoder_config = StableSpeechDecoderConfig(
Yoach Lacombe's avatar
Yoach Lacombe committed
6
    max_position_embeddings=2048,
Yoach Lacombe's avatar
Yoach Lacombe committed
7
8
9
    num_hidden_layers=4,
    ffn_dim=512,
    num_attention_heads=8,
10
11
12
    layerdrop=0.0,
    use_cache=True,
    activation_function="gelu",
Yoach Lacombe's avatar
Yoach Lacombe committed
13
14
15
16
    hidden_size=512,
    dropout=0.0,
    attention_dropout=0.0,
    activation_dropout=0.0,
17
18
19
20
21
22
23
24
25
26
)
# TODO: ?? how to make it stop ?
        

        
decoder = StableSpeechForCausalLM(decoder_config)

decoder.save_pretrained("/home/yoach/dataspeech/artefacts/decoder/")


Yoach Lacombe's avatar
Yoach Lacombe committed
27
t5 = AutoConfig.from_pretrained("t5-base")
28
29
30
31
32

model = StableSpeechForConditionalGeneration.from_sub_models_pretrained(
    text_encoder_pretrained_model_name_or_path="t5-base",
    audio_encoder_pretrained_model_name_or_path="facebook/encodec_32khz",
    decoder_pretrained_model_name_or_path="/home/yoach/dataspeech/artefacts/decoder/",
Yoach Lacombe's avatar
Yoach Lacombe committed
33
    vocab_size = t5.vocab_size
34
35
36
37
)

# set the appropriate bos/pad token ids
model.generation_config.decoder_start_token_id = 2048
Yoach Lacombe's avatar
Yoach Lacombe committed
38
model.generation_config.pad_token_id = 2050
Yoach Lacombe's avatar
Yoach Lacombe committed
39
model.generation_config.eos_token_id = 2049
40
41
42

# set other default generation config params
model.generation_config.max_length = int(30 * model.audio_encoder.config.frame_rate)
Yoach Lacombe's avatar
Yoach Lacombe committed
43
44
model.generation_config.do_sample = False # True
model.generation_config.guidance_scale = 1 # 3.0
45
46

model.save_pretrained("/home/yoach/dataspeech/artefacts/tiny-model/")