Transformers documentation
Speech2Text
이 모델은 2020-10-11에 HF papers에 게시되었으며, 2021-03-10에 Hugging Face Transformers에 기여되었습니다.
Speech2Text
개요
Speech2Text 모델은 Changhan Wang, Yun Tang, Xutai Ma, Anne Wu, Dmytro Okhonko, Juan Pino가 fairseq S2T: Fast Speech-to-Text Modeling with fairseq에서 제안했습니다. 이는 end-to-end Automatic Speech Recognition(ASR) 및 Speech Translation(ST)을 위해 설계된 transformer 기반 seq2seq(인코더-디코더) 모델입니다. 이 모델은 convolutional downsampler를 사용하여 음성 입력의 길이를 3/4로 줄인 후 인코더에 전달합니다. 모델은 표준 autoregressive cross-entropy loss로 학습되며, autoregressive 방식으로 전사/번역 결과를 생성합니다. Speech2Text는 ASR 및 ST를 위해 여러 데이터셋에서 fine-tuning되었습니다: LibriSpeech, CoVoST 2, MuST-C.
이 모델은 valhalla에 의해 기여되었습니다. 원본 코드는 여기에서 찾을 수 있습니다.
추론
Speech2Text는 음성 신호에서 추출한 log-mel filter-bank feature의 float tensor를 입력으로 받는 음성 모델입니다. transformer 기반의 seq2seq 모델이므로, 전사/번역 결과는 자기회귀적으로 생성됩니다. 추론에는 generate() 메서드를 사용할 수 있습니다.
Speech2TextFeatureExtractor 클래스는 log-mel filter-bank 특징을 추출하는 역할을 합니다. Speech2TextProcessor는 Speech2TextFeatureExtractor와 Speech2TextTokenizer를 단일 인스턴스로 묶어 입력 특징을 추출하고 예측된 토큰 ID를 디코딩합니다.
feature extractor는 torchaudio에, tokenizer는 sentencepiece에 의존하므로 예제를 실행하기 전에 해당 패키지를 설치해야 합니다. pip install transformers"[speech, sentencepiece]"를 사용하여 추가 음성 의존성으로 설치하거나, pip install torchaudio sentencepiece를 사용하여 패키지를 별도로 설치할 수 있습니다. 또한 torchaudio는 시스템 패키지 관리자를 통해 설치할 수 있는 libsndfile 패키지의 개발 버전을 요구합니다. Ubuntu에서는 다음과 같이 설치할 수 있습니다: apt install libsndfile1-dev
- ASR 및 음성 번역
from datasets import load_dataset
from transformers import Speech2TextForConditionalGeneration, Speech2TextProcessor
model = Speech2TextForConditionalGeneration.from_pretrained("facebook/s2t-small-librispeech-asr", device_map="auto")
processor = Speech2TextProcessor.from_pretrained("facebook/s2t-small-librispeech-asr")
ds = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")
inputs = processor(ds[0]["audio"]["array"], sampling_rate=ds[0]["audio"]["sampling_rate"], return_tensors="pt").to(model.device)
generated_ids = model.generate(inputs["input_features"], attention_mask=inputs["attention_mask"])
transcription = processor.batch_decode(generated_ids, skip_special_tokens=True)
transcription
['mister quilter is the apostle of the middle classes and we are glad to welcome his gospel']다국어 음성 번역
다국어 음성 번역 모델의 경우,
eos_token_id가decoder_start_token_id로 사용되며, 대상 언어 id가 첫 번째 생성 토큰으로 강제됩니다. 대상 언어 id를 첫 번째 생성 토큰으로 강제하려면forced_bos_token_id매개변수를generate()메서드에 전달합니다. 다음 예제는 facebook/s2t-medium-mustc-multilingual-st 체크포인트를 사용하여 영어 음성을 프랑스어 텍스트로 번역하는 방법을 보여줍니다.
from datasets import load_dataset
from transformers import Speech2TextForConditionalGeneration, Speech2TextProcessor
model = Speech2TextForConditionalGeneration.from_pretrained("facebook/s2t-medium-mustc-multilingual-st", device_map="auto")
processor = Speech2TextProcessor.from_pretrained("facebook/s2t-medium-mustc-multilingual-st")
ds = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")
inputs = processor(ds[0]["audio"]["array"], sampling_rate=ds[0]["audio"]["sampling_rate"], return_tensors="pt").to(model.device)
generated_ids = model.generate(
inputs["input_features"],
attention_mask=inputs["attention_mask"],
forced_bos_token_id=processor.tokenizer.lang_code_to_id["fr"],
)
translation = processor.batch_decode(generated_ids, skip_special_tokens=True)
translation
["(Vidéo) Si M. Kilder est l'apossible des classes moyennes, et nous sommes heureux d'être accueillis dans son évangile."]Speech2Text 체크포인트를 찾으려면 모델 허브를 확인하세요.
Speech2TextConfig
class transformers.Speech2TextConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0id2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneis_encoder_decoder: bool = Truevocab_size: int = 10000encoder_layers: int = 12encoder_ffn_dim: int = 2048encoder_attention_heads: int = 4decoder_layers: int = 6decoder_ffn_dim: int = 2048decoder_attention_heads: int = 4encoder_layerdrop: float | int = 0.0decoder_layerdrop: float | int = 0.0use_cache: bool = Trueactivation_function: str = 'relu'd_model: int = 256dropout: float | int = 0.1attention_dropout: float | int = 0.0activation_dropout: float | int = 0.0init_std: float = 0.02decoder_start_token_id: int = 2scale_embedding: bool = Truepad_token_id: int | None = 1bos_token_id: int | None = 0eos_token_id: int | list[int] | None = 2max_source_positions: int = 6000max_target_positions: int = 1024num_conv_layers: int = 2conv_kernel_sizes: list[int] | tuple[int, ...] = (5, 5)conv_channels: int = 1024input_feat_per_channel: int = 80input_channels: int = 1tie_word_embeddings: bool = True )
매개변수
- is_encoder_decoder (
bool, 선택 사항, 기본값True) — 모델이 인코더/디코더로 사용되는지 여부를 나타냅니다. - vocab_size (
int, 선택 사항, 기본값10000) — 모델의 어휘 크기입니다.input_ids로 표현할 수 있는 서로 다른 토큰의 수를 정의합니다. - encoder_layers (
int, 선택 사항, 기본값12) — Transformer 인코더의 숨겨진 레이어 수입니다. 설정하지 않으면num_layers와 동일한 값을 사용합니다. - encoder_ffn_dim (
int, 선택 사항, 기본값2048) — 인코더의 “중간” 레이어(일반적으로 feed-forward 레이어라고도 함)의 차원입니다. - encoder_attention_heads (
int, 선택 사항, 기본값4) — Transformer 인코더의 각 어텐션 레이어에 사용할 어텐션 헤드 수입니다. - decoder_layers (
int, 선택 사항, 기본값6) — Transformer decoder의 hidden layer 수입니다. 설정하지 않으면num_layers와 동일한 값을 사용합니다. - decoder_ffn_dim (
int, 선택 사항, 기본값2048) — decoder의 “intermediate”(일반적으로 feed-forward라고도 함) 레이어의 차원입니다. - decoder_attention_heads (
int, 선택 사항, 기본값4) — Transformer decoder의 각 attention layer에 사용할 attention head의 수입니다. - encoder_layerdrop (
Union[float, int], 선택 사항, 기본값0.0) — 인코더의 LayerDrop 확률입니다. 자세한 내용은 [LayerDrop 논문](https://huggingface.co/papers/1909.11556 참조)을 참고하세요. - decoder_layerdrop (
Union[float, int], 선택 사항, 기본값0.0) — 디코더의 LayerDrop 확률입니다. 자세한 내용은 [LayerDrop 논문](https://huggingface.co/papers/1909.11556 참조)을 참고하세요. - use_cache (
bool, 선택 사항, 기본값True) — 모델이 마지막 key/values attention을 반환할지 여부입니다(모든 모델에서 사용되지 않음).config.is_decoder=True인 경우 또는 모델이 decoder-only 생성 모델인 경우에만 관련이 있습니다. - activation_function (
str, 선택 사항, 기본값relu) — 디코더에서 사용되는 비선형 활성화 함수(함수 또는 문자열)입니다. 예를 들어,"gelu","relu","silu"등이 있습니다. - d_model (
int, 선택 사항, 기본값256) — 인코더 레이어와 풀러 레이어의 크기입니다. - dropout (
Union[float, int], 선택 사항, 기본값0.1) — 모든 dropout 레이어에 적용할 비율입니다. - attention_dropout (
Union[float, int], 선택 사항, 기본값0.0) — Attention 확률에 적용할 dropout 비율입니다. - activation_dropout (
Union[float, int], 선택 사항, 기본값0.0) — 완전 연결 레이어 내부 활성화에 적용할 dropout 비율입니다. - init_std (
float, 선택 사항, 기본값0.02) — 모든 가중치 행렬을 초기화하는 truncated_normal_initializer의 표준 편차입니다. - decoder_start_token_id (
int, 선택 사항, 기본값2) — 인코더-디코더 모델이bos와 다른 토큰으로 디코딩을 시작하는 경우, 해당 토큰의 id입니다. - scale_embedding (
bool, 선택 사항, 기본값True) — 임베딩을 sqrt(d_model)로 나누어 스케일링할지 여부입니다. - pad_token_id (
int, 선택 사항, 기본값1) — 어휘에서 패딩에 사용되는 토큰 ID입니다. - bos_token_id (
int, 선택 사항, 기본값0) — 어휘에서 스트림 시작에 사용되는 토큰 id입니다. - eos_token_id (
Union[int, list[int]], 선택 사항, 기본값2) — 어휘에서 스트림 종료에 사용되는 토큰 ID입니다. - max_source_positions (
int, 선택 사항, 기본값 6000) — 이 모델이 사용될 수 있는 log-mel filter-bank feature의 최대 시퀀스 길이입니다. - max_target_positions (
int, 선택 사항, 기본값 1024) — 이 모델이 사용될 수 있는 최대 시퀀스 길이입니다. 일반적으로 512, 1024, 2048과 같이 여유 있게 큰 값으로 설정하는 것이 좋습니다. - num_conv_layers (
int, 선택 사항, 기본값 2) — conv 모듈에 포함된 1D 컨볼루션 레이어의 개수입니다. - conv_kernel_sizes (
tuple[int], 선택 사항, 기본값(5, 5)) — conv 모듈의 각 1D 컨볼루션 레이어의 커널 크기를 정의하는 정수 튜플입니다.conv_kernel_sizes의 길이는num_conv_layers와 일치해야 합니다. - conv_channels (
int, 선택 사항, 기본값 1024) — conv 모듈의 마지막 레이어를 제외한 각 convolution 레이어의 출력 채널 수를 정의하는 정수입니다. - input_feat_per_channel (
int, 선택 사항, 기본값 80) — 피처 벡터의 크기를 지정하는 정수입니다. 이는 log-mel filter-bank 피처의 차원과도 동일합니다. - input_channels (
int, 선택 사항, 기본값1) — 입력 채널의 수입니다. - tie_word_embeddings (
bool, 선택, 기본값True) — 모델의tied_weights_keys매핑에 따라 가중치 임베딩을 묶을지 여부.
이것은 Speech2TextModel의 설정을 저장하기 위한 설정 클래스입니다. 지정된 인자에 따라 Speech To Text 모델을 인스턴스화하고 모델 아키텍처를 정의하는 데 사용됩니다. 기본값으로 설정을 인스턴스화하면 facebook/s2t-small-librispeech-asr와 유사한 설정이 생성됩니다.
Configuration 객체는 PreTrainedConfig를 상속하며 모델 출력을 제어하는 데 사용할 수 있습니다. 자세한 내용은 PreTrainedConfig의 문서를 참고하세요.
예:
>>> from transformers import Speech2TextConfig, Speech2TextModel
>>> # Initializing a Speech2Text s2t_transformer_s style configuration
>>> configuration = Speech2TextConfig()
>>> # Initializing a model (with random weights) from the s2t_transformer_s style configuration
>>> model = Speech2TextModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configSpeech2TextTokenizer
클래스 transformers.Speech2TextTokenizer
< source >( vocab_filespm_filebos_token = '<s>'eos_token = '</s>'pad_token = '<pad>'unk_token = '<unk>'do_upper_case = Falsedo_lower_case = Falsetgt_lang = Nonelang_codes = Noneadditional_special_tokens = Nonesp_model_kwargs: dict[str, typing.Any] | None = None**kwargs )
매개변수
- vocab_file (
str) — 어휘를 포함하는 파일. - spm_file (
str) — SentencePiece 모델 파일의 경로 - bos_token (
str, 선택, 기본값"<s>") — 문장 시작 토큰입니다. - eos_token (
str, 선택 사항, 기본값"</s>") — 문장 종료 토큰입니다. - unk_token (
str, 선택 사항, 기본값"<unk>") — 미지의 토큰입니다. 어휘에 없는 토큰은 ID로 변환할 수 없으므로, 대신 이 토큰으로 설정됩니다. - pad_token (
str, 선택 사항, 기본값"<pad>") — 패딩에 사용되는 토큰입니다. 예를 들어, 길이가 다른 시퀀스를 배치(batching)할 때 사용됩니다. - do_upper_case (
bool, 선택 사항, 기본값False) — 디코딩 시 출력을 대문자로 변환할지 여부입니다. - do_lower_case (
bool, 선택 사항, 기본값False) — 토큰화할 때 입력을 소문자로 변환할지 여부. - tgt_lang (
str, 선택) — 대상 언어를 나타내는 문자열입니다. - sp_model_kwargs (
dict, 선택 사항) — 다음 메서드에 전달됩니다.SentencePieceProcessor.__init__()SentencePiece의 Python 래퍼 를 사용하여 다음을 설정할 수 있습니다:-
enable_sampling: 서브워드 정규화를 활성화합니다. -
nbest_size: unigram의 샘플링 파라미터입니다. BPE-Dropout에는 사용할 수 없습니다.nbest_size = {0,1}: 샘플링이 수행되지 않습니다.nbest_size > 1: nbest_size 결과에서 샘플링합니다.nbest_size < 0: nbest_size가 무한하다고 가정하고, forward-filtering-and-backward-sampling 알고리즘을 사용하여 모든 가설(lattice)에서 샘플링합니다.
-
alpha: unigram 샘플링의 smoothing parameter 및 BPE-dropout의 merge 작업 dropout 확률
-
- **kwargs — PreTrainedTokenizer에 전달되는 추가 키워드 인자
Speech2Text 토크나이저를 구성합니다.
이 tokenizer는 PreTrainedTokenizer를 상속하며, 이 클래스에는 주요 메서드 일부가 포함되어 있습니다. 해당 메서드에 대한 자세한 내용은 상위 클래스를 참고하세요.
시퀀스에서 eos_token_id를 추가하여 모델 입력을 구성합니다.
get_special_tokens_mask
< source >( token_ids_0: listtoken_ids_1: list[int] | None = Nonealready_has_special_tokens: bool = False ) → list[int]
특수 토큰이 추가되지 않은 토큰 목록에서 시퀀스 ID를 가져옵니다. 이 메서드는 토크나이저의 prepare_for_model 메서드를 사용하여 특수 토큰을 추가할 때 호출됩니다.
create_token_type_ids_from_sequences
< source >( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]
시퀀스-페어 분류 작업에 사용될 마스크를 전달된 두 시퀀스에서 생성합니다.
이 메서드는 토크나이저의 구성 속성을 기반으로 토큰 유형 ID를 동적으로 생성합니다:
token_type_ids_pattern: 사용할 패턴(“all_zeros” 또는 “bert_style”)token_type_ids_include_special_tokens: 길이 계산에 특수 토큰을 포함할지 여부
예:
# All zeros pattern (default, used by RoBERTa, BART, etc.)
tokenizer.token_type_ids_pattern = "all_zeros"
# Returns: [0, 0, 0, ...] for both sequences
# BERT-style pattern (first sequence gets 0s, second gets 1s)
tokenizer.token_type_ids_pattern = "bert_style"
# Returns: [0, 0, 0, ..., 1, 1, 1, ...] for sequence pairsSpeech2TextFeatureExtractor
class transformers.Speech2TextFeatureExtractor
< source >( feature_size = 80sampling_rate = 16000num_mel_bins = 80padding_value = 0.0dither = 0.0do_ceptral_normalize = Truenormalize_means = Truenormalize_vars = True**kwargs )
매개변수
- feature_size (
int, 선택 사항, 기본값 80) — 추출된 특징의 차원입니다. - sampling_rate (
int, 선택 사항, 기본값 16000) — 오디오 파일을 디지털화할 때 사용할 샘플링 주파수(Hz). - num_mel_bins (
int, 선택 사항, 기본값 80) — Mel 주파수 빈의 수입니다. - padding_value (
float, 선택 사항, 기본값 0.0) — 패딩 벡터를 채우는 데 사용되는 값입니다. - dither (
float, 선택 사항, 기본값 0.0) — 디더링을 추가합니다. 즉, 각 프레임에 작은 가우시안 노이즈를 추가합니다. 예를 들어, 4.0을 사용하면 0.0을 중심으로 표준편차가 4.0인 정규 분포의 디더링을 추가합니다 (kaldi 웨이브폼의 [-32k,+32k] 범위를 가정). 0.0 값은 디더링을 사용하지 않음을 의미합니다. 디더링은mel_floor와 유사한 효과를 가집니다. 신호에 VAD 컷오프가 존재할 때, 하드 제로 구간이 있는 신호의 높은 log_mel_fbank 값을 줄여줍니다. - do_ceptral_normalize (
bool, 선택 사항, 기본값True) — 추출된 특징에 발화 수준의 cepstral mean and variance normalization을 적용할지 여부. - normalize_means (
bool, 선택 사항, 기본값True) — 추출된 특징을 평균 0으로 정규화할지 여부입니다. - normalize_vars (
bool, 선택 사항, 기본값True) — 추출된 특징을 단위 분산 정규화할지 여부입니다.
Speech2Text feature extractor를 생성합니다.
이 feature extractor는 대부분의 주요 메서드를 포함하고 있는 Speech2TextFeatureExtractor를 상속합니다. 해당 메서드에 대한 자세한 내용은 이 상위 클래스를 참고하세요.
이 클래스는 설치된 경우 TorchAudio를, 그렇지 않은 경우 numpy를 사용하여 원시 음성에서 mel-filter bank features를 추출하고, 추출된 features에 utterance-level cepstral mean and variance normalization을 적용합니다.
__call__
< source >( raw_speech: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]]padding: bool | str | transformers.utils.generic.PaddingStrategy = Falsemax_length: int | None = Nonetruncation: bool = Falsepad_to_multiple_of: int | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = Nonesampling_rate: int | None = Nonereturn_attention_mask: bool | None = None**kwargs )
매개변수
- raw_speech (
np.ndarray,list[float],list[np.ndarray],list[list[float]]) — 패딩할 시퀀스 또는 시퀀스 배치입니다. 각 시퀀스는 numpy 배열, float 값의 리스트, numpy 배열의 리스트, 또는 float 값의 리스트의 리스트일 수 있습니다. 스테레오가 아닌 모노 채널 오디오여야 하며, 즉 각 타임스텝당 float 값이 하나만 있어야 합니다. - padding (
bool,str또는 PaddingStrategy, 선택 사항, 기본값은True) — 모델의 패딩 방향과 패딩 인덱스에 따라 반환된 시퀀스에 적용할 패딩 전략을 다음 중 선택합니다:True또는'longest': 배치 내 가장 긴 시퀀스 길이에 맞게 패딩을 수행합니다(단일 시퀀스만 제공된 경우 패딩을 하지 않음).'max_length':max_length인수로 지정된 최대 길이로 패딩하거나, 해당 인수가 제공되지 않으면 모델이 허용하는 최대 입력 길이로 패딩합니다.False또는'do_not_pad'(기본값): 패딩을 하지 않습니다(즉, 서로 다른 길이의 시퀀스로 구성된 배치로 출력할 수 있습니다).
- max_length (
int, 선택 사항) — 반환되는 목록의 최대 길이 및 선택적으로 패딩 길이(위 참조). - truncation (
bool) — 입력 시퀀스가 max_length보다 길 경우 max_length로 잘라내는 truncation을 활성화합니다. - pad_to_multiple_of (
int, 선택 사항) — 설정하면 시퀀스를 제공된 값의 배수로 패딩합니다.이 기능은 NVIDIA 하드웨어에서 Tensor Cores 사용을 활성화하는 데 특히 유용하며, 이는 compute capability가
>= 7.5(Volta)인 하드웨어나, 시퀀스 길이가 128의 배수일 때 성능 향상을 얻는 TPU에서 해당됩니다. - return_attention_mask (
bool, 선택 사항) — attention mask를 반환할지 여부. 기본값을 그대로 두면 해당 feature_extractor의 기본 설정에 따라 attention mask를 반환합니다.Speech2TextTransformer 모델의 경우, 미묘한 버그를 방지하기 위해 배치 추론 시
attention_mask를 항상 전달해야 합니다. - return_tensors (
str또는 TensorType, 선택 사항) — 설정된 경우, Python 정수 목록 대신 텐서를 반환합니다. 허용되는 값은 다음과 같습니다:'pt': PyTorchtorch.Tensor객체를 반환합니다.'np': Numpynp.ndarray객체를 반환합니다.
- sampling_rate (
int, 선택 사항) —raw_speech입력이 샘플링된 샘플링 레이트입니다. 조용한 오류를 방지하려면 forward 호출 시sampling_rate를 전달하는 것이 강력히 권장됩니다. - padding_value (
float, 선택 사항, 기본값 0.0) — 패딩 값/벡터를 채우는 데 사용되는 값입니다.
하나 이상의 시퀀스를 특징화(featurize)하고 모델에 맞게 준비하는 주요 메서드입니다.
Speech2TextProcessor
클래스 transformers.Speech2TextProcessor
< source >( feature_extractortokenizer )
feature extractor와 tokenizer를 단일 processor로 감싸는 Speech2TextProcessor를 생성합니다.
Speech2TextProcessor는 Speech2TextFeatureExtractor와 Speech2TextTokenizer의 모든 기능을 제공합니다. 자세한 내용은 ~Speech2TextFeatureExtractor와 ~Speech2TextTokenizer를 참고하세요.
__call__
< source >( *args**kwargs )
매개변수
- return_tensors (
str또는 TensorType, 선택 사항) — 설정된 경우, 특정 프레임워크의 텐서를 반환합니다. 허용되는 값은 다음과 같습니다:'pt': PyTorchtorch.Tensor객체를 반환합니다.'np': NumPynp.ndarray객체를 반환합니다.
from_pretrained
< source >( pretrained_model_name_or_path: str | os.PathLikecache_dir: str | os.PathLike | None = Noneforce_download: bool = Falselocal_files_only: bool = Falsetoken: str | bool | None = Nonerevision: str = 'main'**kwargs )
매개변수
- pretrained_model_name_or_path (
str또는os.PathLike) — 다음 중 하나일 수 있습니다:- 문자열이며, huggingface.co의 모델 저장소에 호스팅된 사전 학습된 feature_extractor의 model id입니다.
- save_pretrained() 메서드를 사용하여 feature extractor 파일을 저장한 디렉터리의 경로, 예:
./my_model_directory/. - 저장된 feature extractor JSON 파일의 경로, 예:
./my_model_directory/preprocessor_config.json.
- **kwargs —
from_pretrained()와
~tokenization_utils_base.PreTrainedTokenizer.from_pretrained에 함께 전달되는 추가 키워드 인자입니다.
과(와) 연관된 를 초기화합니다.
이 클래스 메서드는 단순히 feature extractor의 from_pretrained(), image processor의 ImageProcessingMixin 및 tokenizer의
~tokenization_utils_base.PreTrainedTokenizer.from_pretrained메서드를 호출합니다. 자세한 내용은 위 메서드들의 docstring을 참고하세요.
save_pretrained
< source >( save_directorypush_to_hub: bool = False**kwargs )
매개변수
- save_directory (
str또는os.PathLike) — feature extractor JSON 파일과 tokenizer 파일이 저장될 디렉터리입니다(존재하지 않는 경우 생성됩니다). - push_to_hub (
bool, 선택 사항, 기본값False) — 모델을 저장한 후 Hugging Face 모델 허브에 푸시할지 여부입니다.repo_id를 사용하여 푸시할 저장소를 지정할 수 있으며, 지정하지 않으면 네임스페이스 내save_directory의 이름이 기본값으로 사용됩니다. - kwargs (
dict[str, Any], 선택) — push_to_hub() 메서드에 함께 전달되는 추가 키워드 인자입니다.
이 프로세서(feature extractor, tokenizer 등)의 속성을 지정된 디렉터리에 저장하여 from_pretrained() 메서드를 사용해 다시 로드할 수 있도록 합니다.
이 클래스 메서드는 단순히 save_pretrained()와 save_pretrained()를 호출합니다. 자세한 내용은 위 메서드의 docstring을 참고하세요.
이 메서드는 모든 인수를 PreTrainedTokenizer의 batch_decode()로 전달합니다. 자세한 내용은 해당 메서드의 docstring을 참고하세요.
이 메서드는 모든 인수를 PreTrainedTokenizer의 decode()로 전달합니다. 자세한 내용은 해당 메서드의 docstring을 참조하세요.
Speech2TextModel
클래스 transformers.Speech2TextModel
< source >( config: Speech2TextConfig )
매개변수
- config (Speech2TextConfig) — 모델의 모든 매개변수를 포함하는 모델 구성 클래스입니다. 구성 파일로 초기화하는 것은 모델과 관련된 가중치를 로드하지 않으며, 구성 정보만 로드합니다. 모델 가중치를 로드하려면 from_pretrained() 메서드를 확인하세요.
특정 헤드가 위에 없는 상태에서 원시 hidden-states를 출력하는 기본 Speech To Text Text Model입니다.
이 모델은 PreTrainedModel에서 상속됩니다. 라이브러리가 모든 모델에 대해 구현하는 일반적 메서드(다운로드 또는 저장, 입력 임베딩 크기 조정, 헤드 프루닝 등)에 대한 세부 사항은 상위 클래스 문서를 확인하세요.
이 모델은 또한 PyTorch torch.nn.Module의 하위 클래스입니다. 일반적인 PyTorch Module처럼 사용하며, 일반적인 사용법 및 동작과 관련된 모든 사항은 PyTorch 문서를 참조하세요.
forward
< source >( input_features: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.Tensor]] | None = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonedecoder_inputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Seq2SeqLMOutput or tuple(torch.Tensor)
매개변수
- input_features (
torch.LongTensor, shape(batch_size, sequence_length, feature_dim), 선택 사항) — 입력 오디오 특징에 해당하는 텐서입니다. 오디오 특징은 Speech2TextFeatureExtractor를 사용하여 얻을 수 있습니다. 자세한 내용은 Speech2TextFeatureExtractor.call()를 참조하세요 (Speech2TextProcessor는 오디오 처리에 Speech2TextFeatureExtractor를 사용합니다). - attention_mask (
torch.Tensor형상이(batch_size, sequence_length), 선택 사항) — 패딩 토큰 인덱스에 대한 attention을 수행하지 않도록 방지하는 마스크. [0, 1]에서 선택된 마스크 값: 마스크되지 않은 토큰은 1, 마스크된 토큰은 0. attention mask란 무엇인가요?[0, 1]:- 마스크되지 않은 토큰에 대해 1
- 마스크된 토큰에 대해 0
- decoder_input_ids (
torch.LongTensor형태(batch_size, target_sequence_length), 선택 사항) — 어휘에서 디코더 입력 시퀀스 토큰의 인덱스입니다. 인덱스는 SpeechToTextTokenizer를 사용하여 얻을 수 있습니다. 자세한 내용은 PreTrainedTokenizer.encode() 및 PreTrainedTokenizer.call()을 참조하세요. 디코더 입력 ID란 무엇인가요? SpeechToText는 decoder_input_ids 생성의 시작 토큰으로 eos_token_id를 사용합니다. past_key_values를 사용하는 경우, 선택적으로 마지막 decoder_input_ids만 입력하면 됩니다(past_key_values 참조).SpeechToTextTokenizer를 사용하여 인덱스를 얻을 수 있습니다. 자세한 내용은 PreTrainedTokenizer.encode() 및 PreTrainedTokenizer.call()를 참고하세요.SpeechToText는
decoder_input_ids생성의 시작 토큰으로eos_token_id를 사용합니다.past_key_values를 사용하는 경우, 선택적으로 마지막decoder_input_ids만 입력하면 됩니다(past_key_values참조). - decoder_attention_mask (
torch.LongTensor다음 형태의(batch_size, target_sequence_length), 선택 사항) — 기본 동작:decoder_input_ids. 의 pad 토큰을 무시하는 텐서를 생성합니다. 기본값으로 Causal mask도 사용됩니다. 패딩 동작을 변경하려면 modeling_speech_to_text._prepare_decoder_attention_mask를 읽고 필요에 맞게 수정해야 합니다. 기본 전략에 대한 자세한 내용은 논문에서 다이어그램 1을 참고하세요.패딩 동작을 변경하려면
modeling_speech_to_text._prepare_decoder_attention_mask를 읽고 필요에 맞게 수정해야 합니다. 기본 전략에 대한 자세한 내용은 논문의 다이어그램 1을 참고하세요. - encoder_outputs (
tuple[tuple[torch.Tensor]], 선택 사항) — (last_hidden_state, 선택 사항:hidden_states, 선택 사항:attentions)으로 구성된 Tuple입니다.last_hidden_state의 shape은(batch_size, sequence_length, hidden_size), 선택 사항)이며, 인코더의 마지막 레이어 출력에서 생성된 hidden-states의 시퀀스입니다. 디코더의 cross-attention에 사용됩니다. - past_key_values (
~cache_utils.Cache, 선택 사항) — 순차적 디코딩을 가속화할 수 있는 사전 계산된 hidden-states(self-attention 블록과 cross-attention 블록의 key 및 value). 일반적으로 이는past_key_values디코딩의 이전 단계에서 모델이 반환한use_cache=True또는config.use_cache=True.입력으로 Cache 인스턴스만 허용되며, kv cache 가이드를 참고하세요.
past_key_values가 전달되지 않으면 기본적으로 DynamicCache가 초기화됩니다.모델은 입력으로 제공된 것과 동일한 캐시 형식을 출력합니다.
past_key_values를 사용하는 경우, 이 모델에 과거 키 값 상태가 제공되지 않은input_ids만 입력해야 하며, 이때의 shape은(batch_size, unprocessed_length)입니다. shape이(batch_size, sequence_length)인 전체input_ids를 입력하지 않습니다. - decoder_inputs_embeds (
torch.Tensor형상(batch_size, target_sequence_length, hidden_size), 선택 사항) — 선택적으로,decoder_input_ids대신에 임베딩된 표현을 직접 전달할 수 있습니다.past_key_values이 사용되면, 선택적으로 마지막decoder_inputs_embeds만 입력하면 됩니다(참고:past_key_values). 이는decoder_input_ids인덱스를 관련 벡터로 변환하는 방식을 모델의 내부 임베딩 조회 행렬보다 더 세밀하게 제어하려는 경우에 유용합니다.decoder_input_ids와decoder_inputs_embeds가 모두 설정되지 않은 경우,decoder_inputs_embeds는inputs_embeds의 값을 가져옵니다. - use_cache (
bool, 선택 사항) —True로 설정하면past_key_values키 값 상태가 반환되며, 디코딩 속도를 높이는 데 사용할 수 있습니다(past_key_values참조).
반환값
Seq2SeqLMOutput 또는 tuple(torch.Tensor)
torch.Tensor의 튜플 또는 Seq2SeqLMOutput입니다. return_dict=False가 전달되거나 config.return_dict=False인 경우, 구성(Speech2TextConfig)과 입력에 따라 다양한 요소를 포함합니다.
Speech2TextModel의 forward 메서드는 __call__ 특수 메서드를 오버라이드합니다.
이 함수 내에서 forward pass의 레시피를 정의해야 하지만, 이후에는 이 함수 대신
Module인스턴스를 호출해야 합니다. 전자는 전처리 및 후처리 단계를 실행하는 것을 처리하는 반면, 후자는 이를 조용히 무시하기 때문입니다.
loss (
torch.Tensor, shape(1,), 선택 사항,labels이 제공될 때 반환됨) — 언어 모델링 손실.logits (
torch.Tensor, shape(batch_size, sequence_length, config.vocab_size)) — 언어 모델링 헤드에서 생성된 예측 점수(SoftMax 적용 전 각 어휘 토큰에 대한 점수).past_key_values (
EncoderDecoderCache, 선택 사항,use_cache=True가 전달되었거나config.use_cache=True인 경우 반환됨) — EncoderDecoderCache 인스턴스입니다. 자세한 내용은 kv 캐시 가이드를 참고하세요.순차적 디코딩을 가속화하는 데 사용할 수 있는 사전 계산된 hidden-states(셀프 어텐션 블록과 크로스 어텐션 블록의 key 및 value)를 포함합니다(입력
past_key_values참조).decoder_hidden_states (
tuple(torch.Tensor), 선택 사항,output_hidden_states=True가 전달되거나config.output_hidden_states=True인 경우 반환됨) —torch.Tensor의 튜플(모델에 임베딩 레이어가 있는 경우 임베딩의 출력에 대한 것 1개 + 각 레이어의 출력에 대한 것 1개)로, 모양은(batch_size, sequence_length, hidden_size)입니다.각 레이어의 출력에서 디코더의 Hidden-states와 초기 임베딩 출력을 더한 값.
decoder_attentions (
tuple(torch.Tensor), 선택 사항,output_attentions=True가 전달되거나config.output_attentions=True인 경우 반환됨) — 각 레이어마다 하나씩 포함된torch.Tensor의 튜플로, 모양은(batch_size, num_heads, sequence_length, sequence_length)입니다.self-attention 헤드에서 가중 평균을 계산하는 데 사용되는, attention softmax 이후의 decoder의 attention 가중치입니다.
cross_attentions (
tuple(torch.Tensor), 선택 사항,output_attentions=True가 전달되었거나config.output_attentions=True인 경우 반환됨) — 각 레이어마다 하나씩 포함된torch.Tensor의 튜플로, 모양은(batch_size, num_heads, sequence_length, sequence_length)입니다.decoder의 cross-attention 레이어에서 attention softmax를 적용한 후, cross-attention 헤드에서 가중 평균을 계산하는 데 사용되는 attention 가중치입니다.
encoder_last_hidden_state (
torch.Tensor, shape(batch_size, sequence_length, hidden_size), 선택 사항) — 모델 인코더의 마지막 레이어 출력에서 생성된 hidden-state 시퀀스입니다.encoder_hidden_states (
tuple(torch.Tensor), 선택 사항,output_hidden_states=True가 전달되었거나config.output_hidden_states=True인 경우 반환됨) —torch.Tensor의 튜플(모델에 임베딩 레이어가 있는 경우 임베딩의 출력에 대한 것 1개 + 각 레이어의 출력에 대한 것 1개)로, 모양은(batch_size, sequence_length, hidden_size)입니다.각 레이어의 출력에서 인코더의 Hidden-states와 초기 임베딩 출력을 더한 값.
encoder_attentions (
tuple(torch.Tensor), 선택 사항,output_attentions=True가 전달되거나config.output_attentions=True인 경우 반환됨) — 각 레이어마다 하나씩 포함된torch.Tensor의 튜플로, 모양은(batch_size, num_heads, sequence_length, sequence_length)입니다.self-attention 헤드에서 가중 평균을 계산하는 데 사용되는, attention softmax 이후의 인코더 attention 가중치입니다.
예:
>>> import torch
>>> from transformers import Speech2TextModel, AutoFeatureExtractor
>>> from datasets import load_dataset
>>> model = Speech2TextModel.from_pretrained("facebook/s2t-small-librispeech-asr")
>>> feature_extractor = AutoFeatureExtractor.from_pretrained("facebook/s2t-small-librispeech-asr")
>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> inputs = feature_extractor(
... ds[0]["audio"]["array"], sampling_rate=ds[0]["audio"]["sampling_rate"], return_tensors="pt"
... )
>>> input_features = inputs.input_features
>>> decoder_input_ids = torch.tensor([[1, 1]]) * model.config.decoder_start_token_id
>>> last_hidden_state = model(input_features, decoder_input_ids=decoder_input_ids).last_hidden_state
>>> list(last_hidden_state.shape)
[1, 2, 256]Speech2TextForConditionalGeneration
class transformers.Speech2TextForConditionalGeneration
< source >( config: Speech2TextConfig )
매개변수
- config (Speech2TextConfig) — 모델의 모든 매개변수를 포함하는 모델 구성 클래스입니다. 구성 파일로 초기화하는 것은 모델과 관련된 가중치를 로드하지 않으며, 구성 정보만 로드합니다. 모델 가중치를 로드하려면 from_pretrained() 메서드를 확인하세요.
언어 모델링 헤드를 갖춘 Speech2Text 모델. 요약에 사용할 수 있습니다.
이 모델은 PreTrainedModel에서 상속됩니다. 라이브러리가 모든 모델에 대해 구현하는 일반적 메서드(다운로드 또는 저장, 입력 임베딩 크기 조정, 헤드 프루닝 등)에 대한 세부 사항은 상위 클래스 문서를 확인하세요.
이 모델은 또한 PyTorch torch.nn.Module의 하위 클래스입니다. 일반적인 PyTorch Module처럼 사용하며, 일반적인 사용법 및 동작과 관련된 모든 사항은 PyTorch 문서를 참조하세요.
forward
< source >( input_features: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.Tensor]] | None = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonedecoder_inputs_embeds: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneuse_cache: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Seq2SeqLMOutput or tuple(torch.Tensor)
매개변수
- input_features (
torch.LongTensor, shape(batch_size, sequence_length, feature_dim), 선택 사항) — 입력 오디오 특징에 해당하는 텐서입니다. 오디오 특징은 Speech2TextFeatureExtractor를 사용하여 얻을 수 있습니다. 자세한 내용은 Speech2TextFeatureExtractor.call()를 참조하세요 (Speech2TextProcessor는 오디오 처리에 Speech2TextFeatureExtractor를 사용합니다). - attention_mask (
torch.Tensor형상이(batch_size, sequence_length), 선택 사항) — 패딩 토큰 인덱스에 대한 attention을 수행하지 않도록 방지하는 마스크. [0, 1]에서 선택된 마스크 값: 마스크되지 않은 토큰은 1, 마스크된 토큰은 0. attention mask란 무엇인가요?[0, 1]:- 마스크되지 않은 토큰에 대해 1
- 마스크된 토큰에 대해 0
- decoder_input_ids (
torch.LongTensor형태(batch_size, target_sequence_length), 선택 사항) — 어휘에서 디코더 입력 시퀀스 토큰의 인덱스입니다. 인덱스는 SpeechToTextTokenizer를 사용하여 얻을 수 있습니다. 자세한 내용은 PreTrainedTokenizer.encode() 및 PreTrainedTokenizer.call()을 참조하세요. 디코더 입력 ID란 무엇인가요? SpeechToText는 decoder_input_ids 생성의 시작 토큰으로 eos_token_id를 사용합니다. past_key_values를 사용하는 경우, 선택적으로 마지막 decoder_input_ids만 입력하면 됩니다(past_key_values 참조).SpeechToTextTokenizer를 사용하여 인덱스를 얻을 수 있습니다. 자세한 내용은 PreTrainedTokenizer.encode() 및 PreTrainedTokenizer.call()를 참고하세요.SpeechToText는
decoder_input_ids생성의 시작 토큰으로eos_token_id를 사용합니다.past_key_values를 사용하는 경우, 선택적으로 마지막decoder_input_ids만 입력하면 됩니다(past_key_values참조). - decoder_attention_mask (
torch.LongTensor다음 형태의(batch_size, target_sequence_length), 선택 사항) — 기본 동작:decoder_input_ids. 의 pad 토큰을 무시하는 텐서를 생성합니다. 기본값으로 Causal mask도 사용됩니다. 패딩 동작을 변경하려면 modeling_speech_to_text._prepare_decoder_attention_mask를 읽고 필요에 맞게 수정해야 합니다. 기본 전략에 대한 자세한 내용은 논문에서 다이어그램 1을 참고하세요.패딩 동작을 변경하려면
modeling_speech_to_text._prepare_decoder_attention_mask를 읽고 필요에 맞게 수정해야 합니다. 기본 전략에 대한 자세한 내용은 논문의 다이어그램 1을 참고하세요. - encoder_outputs (
tuple[tuple[torch.Tensor]], 선택 사항) — (last_hidden_state, 선택 사항:hidden_states, 선택 사항:attentions)으로 구성된 Tuple입니다.last_hidden_state의 shape은(batch_size, sequence_length, hidden_size), 선택 사항)이며, 인코더의 마지막 레이어 출력에서 생성된 hidden-states의 시퀀스입니다. 디코더의 cross-attention에 사용됩니다. - past_key_values (
~cache_utils.Cache, 선택 사항) — 순차적 디코딩을 가속화할 수 있는 사전 계산된 hidden-states(self-attention 블록과 cross-attention 블록의 key 및 value). 일반적으로 이는past_key_values디코딩의 이전 단계에서 모델이 반환한use_cache=True또는config.use_cache=True.입력으로 Cache 인스턴스만 허용되며, kv cache 가이드를 참고하세요.
past_key_values가 전달되지 않으면 기본적으로 DynamicCache가 초기화됩니다.모델은 입력으로 제공된 것과 동일한 캐시 형식을 출력합니다.
past_key_values를 사용하는 경우, 이 모델에 과거 키 값 상태가 제공되지 않은input_ids만 입력해야 하며, 이때의 shape은(batch_size, unprocessed_length)입니다. shape이(batch_size, sequence_length)인 전체input_ids를 입력하지 않습니다. - decoder_inputs_embeds (
torch.Tensor형상(batch_size, target_sequence_length, hidden_size), 선택 사항) — 선택적으로,decoder_input_ids대신에 임베딩된 표현을 직접 전달할 수 있습니다.past_key_values이 사용되면, 선택적으로 마지막decoder_inputs_embeds만 입력하면 됩니다(참고:past_key_values). 이는decoder_input_ids인덱스를 관련 벡터로 변환하는 방식을 모델의 내부 임베딩 조회 행렬보다 더 세밀하게 제어하려는 경우에 유용합니다.decoder_input_ids와decoder_inputs_embeds가 모두 설정되지 않은 경우,decoder_inputs_embeds는inputs_embeds의 값을 가져옵니다. - labels (
torch.LongTensor, shape(batch_size, sequence_length), 선택 사항) — 언어 모델링 손실을 계산하는 데 사용되는 라벨입니다. 인덱스는[0, ..., config.vocab_size]범위 내의 값이거나 -100이어야 합니다(input_idsdocstring 참조). 인덱스가-100으로 설정된 토큰은 무시(마스크)되며, 손실은 라벨이[0, ..., config.vocab_size]범위에 있는 토큰에 대해서만 계산됩니다. - use_cache (
bool, 선택 사항) —True로 설정하면past_key_values키 값 상태가 반환되며, 디코딩 속도를 높이는 데 사용할 수 있습니다(past_key_values참조).
반환값
Seq2SeqLMOutput 또는 tuple(torch.Tensor)
torch.Tensor의 튜플 또는 Seq2SeqLMOutput입니다. return_dict=False가 전달되거나 config.return_dict=False인 경우, 구성(Speech2TextConfig)과 입력에 따라 다양한 요소를 포함합니다.
Speech2TextForConditionalGeneration의 forward 메서드는 __call__ 특수 메서드를 오버라이드합니다.
이 함수 내에서 forward pass의 레시피를 정의해야 하지만, 이후에는 이 함수 대신
Module인스턴스를 호출해야 합니다. 전자는 전처리 및 후처리 단계를 실행하는 것을 처리하는 반면, 후자는 이를 조용히 무시하기 때문입니다.
loss (
torch.Tensor, shape(1,), 선택 사항,labels이 제공될 때 반환됨) — 언어 모델링 손실.logits (
torch.Tensor, shape(batch_size, sequence_length, config.vocab_size)) — 언어 모델링 헤드에서 생성된 예측 점수(SoftMax 적용 전 각 어휘 토큰에 대한 점수).past_key_values (
EncoderDecoderCache, 선택 사항,use_cache=True가 전달되었거나config.use_cache=True인 경우 반환됨) — EncoderDecoderCache 인스턴스입니다. 자세한 내용은 kv 캐시 가이드를 참고하세요.순차적 디코딩을 가속화하는 데 사용할 수 있는 사전 계산된 hidden-states(셀프 어텐션 블록과 크로스 어텐션 블록의 key 및 value)를 포함합니다(입력
past_key_values참조).decoder_hidden_states (
tuple(torch.Tensor), 선택 사항,output_hidden_states=True가 전달되거나config.output_hidden_states=True인 경우 반환됨) —torch.Tensor의 튜플(모델에 임베딩 레이어가 있는 경우 임베딩의 출력에 대한 것 1개 + 각 레이어의 출력에 대한 것 1개)로, 모양은(batch_size, sequence_length, hidden_size)입니다.각 레이어의 출력에서 디코더의 Hidden-states와 초기 임베딩 출력을 더한 값.
decoder_attentions (
tuple(torch.Tensor), 선택 사항,output_attentions=True가 전달되거나config.output_attentions=True인 경우 반환됨) — 각 레이어마다 하나씩 포함된torch.Tensor의 튜플로, 모양은(batch_size, num_heads, sequence_length, sequence_length)입니다.self-attention 헤드에서 가중 평균을 계산하는 데 사용되는, attention softmax 이후의 decoder의 attention 가중치입니다.
cross_attentions (
tuple(torch.Tensor), 선택 사항,output_attentions=True가 전달되었거나config.output_attentions=True인 경우 반환됨) — 각 레이어마다 하나씩 포함된torch.Tensor의 튜플로, 모양은(batch_size, num_heads, sequence_length, sequence_length)입니다.decoder의 cross-attention 레이어에서 attention softmax를 적용한 후, cross-attention 헤드에서 가중 평균을 계산하는 데 사용되는 attention 가중치입니다.
encoder_last_hidden_state (
torch.Tensor, shape(batch_size, sequence_length, hidden_size), 선택 사항) — 모델 인코더의 마지막 레이어 출력에서 생성된 hidden-state 시퀀스입니다.encoder_hidden_states (
tuple(torch.Tensor), 선택 사항,output_hidden_states=True가 전달되었거나config.output_hidden_states=True인 경우 반환됨) —torch.Tensor의 튜플(모델에 임베딩 레이어가 있는 경우 임베딩의 출력에 대한 것 1개 + 각 레이어의 출력에 대한 것 1개)로, 모양은(batch_size, sequence_length, hidden_size)입니다.각 레이어의 출력에서 인코더의 Hidden-states와 초기 임베딩 출력을 더한 값.
encoder_attentions (
tuple(torch.Tensor), 선택 사항,output_attentions=True가 전달되거나config.output_attentions=True인 경우 반환됨) — 각 레이어마다 하나씩 포함된torch.Tensor의 튜플로, 모양은(batch_size, num_heads, sequence_length, sequence_length)입니다.self-attention 헤드에서 가중 평균을 계산하는 데 사용되는, attention softmax 이후의 인코더 attention 가중치입니다.
예:
>>> import torch
>>> from transformers import Speech2TextProcessor, Speech2TextForConditionalGeneration
>>> from datasets import load_dataset
>>> model = Speech2TextForConditionalGeneration.from_pretrained("facebook/s2t-small-librispeech-asr")
>>> processor = Speech2TextProcessor.from_pretrained("facebook/s2t-small-librispeech-asr")
>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> inputs = processor(
... ds[0]["audio"]["array"], sampling_rate=ds[0]["audio"]["sampling_rate"], return_tensors="pt"
... )
>>> input_features = inputs.input_features
>>> generated_ids = model.generate(inputs=input_features)
>>> transcription = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
>>> transcription
'mister quilter is the apostle of the middle classes and we are glad to welcome his gospel'