初始化项目,由ModelHub XC社区提供模型
Model: airesearch/wav2vec2-large-xlsr-53-th Source: Original Platform
This commit is contained in:
17
.gitattributes
vendored
Normal file
17
.gitattributes
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
*.bin.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tar.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.model filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||||
199
README.md
Normal file
199
README.md
Normal file
@@ -0,0 +1,199 @@
|
|||||||
|
---
|
||||||
|
language: th
|
||||||
|
datasets:
|
||||||
|
- common_voice
|
||||||
|
tags:
|
||||||
|
- audio
|
||||||
|
- automatic-speech-recognition
|
||||||
|
- hf-asr-leaderboard
|
||||||
|
- robust-speech-event
|
||||||
|
- speech
|
||||||
|
- xlsr-fine-tuning
|
||||||
|
license: cc-by-sa-4.0
|
||||||
|
model-index:
|
||||||
|
- name: XLS-R-53 - Thai
|
||||||
|
results:
|
||||||
|
- task:
|
||||||
|
name: Automatic Speech Recognition
|
||||||
|
type: automatic-speech-recognition
|
||||||
|
dataset:
|
||||||
|
name: Common Voice 7
|
||||||
|
type: mozilla-foundation/common_voice_7_0
|
||||||
|
args: th
|
||||||
|
metrics:
|
||||||
|
- name: Test WER
|
||||||
|
type: wer
|
||||||
|
value: 0.9524
|
||||||
|
- name: Test SER
|
||||||
|
type: ser
|
||||||
|
value: 1.2346
|
||||||
|
- name: Test CER
|
||||||
|
type: cer
|
||||||
|
value: 0.1623
|
||||||
|
- task:
|
||||||
|
name: Automatic Speech Recognition
|
||||||
|
type: automatic-speech-recognition
|
||||||
|
dataset:
|
||||||
|
name: Robust Speech Event - Dev Data
|
||||||
|
type: speech-recognition-community-v2/dev_data
|
||||||
|
args: sv
|
||||||
|
metrics:
|
||||||
|
- name: Test WER
|
||||||
|
type: wer
|
||||||
|
value: null
|
||||||
|
- name: Test SER
|
||||||
|
type: ser
|
||||||
|
value: null
|
||||||
|
- name: Test CER
|
||||||
|
type: cer
|
||||||
|
value: null
|
||||||
|
---
|
||||||
|
|
||||||
|
# `wav2vec2-large-xlsr-53-th`
|
||||||
|
Finetuning `wav2vec2-large-xlsr-53` on Thai [Common Voice 7.0](https://commonvoice.mozilla.org/en/datasets)
|
||||||
|
|
||||||
|
[Read more on our blog](https://medium.com/airesearch-in-th/airesearch-in-th-3c1019a99cd)
|
||||||
|
|
||||||
|
We finetune [wav2vec2-large-xlsr-53](https://huggingface.co/facebook/wav2vec2-large-xlsr-53) based on [Fine-tuning Wav2Vec2 for English ASR](https://colab.research.google.com/github/patrickvonplaten/notebooks/blob/master/Fine_tuning_Wav2Vec2_for_English_ASR.ipynb) using Thai examples of [Common Voice Corpus 7.0](https://commonvoice.mozilla.org/en/datasets). The notebooks and scripts can be found in [vistec-ai/wav2vec2-large-xlsr-53-th](https://github.com/vistec-ai/wav2vec2-large-xlsr-53-th). The pretrained model and processor can be found at [airesearch/wav2vec2-large-xlsr-53-th](https://huggingface.co/airesearch/wav2vec2-large-xlsr-53-th).
|
||||||
|
|
||||||
|
## `robust-speech-event`
|
||||||
|
|
||||||
|
Add `syllable_tokenize`, `word_tokenize` ([PyThaiNLP](https://github.com/PyThaiNLP/pythainlp)) and [deepcut](https://github.com/rkcosmos/deepcut) tokenizers to `eval.py` from [robust-speech-event](https://github.com/huggingface/transformers/tree/master/examples/research_projects/robust-speech-event#evaluation)
|
||||||
|
|
||||||
|
```
|
||||||
|
> python eval.py --model_id ./ --dataset mozilla-foundation/common_voice_7_0 --config th --split test --log_outputs --thai_tokenizer newmm/syllable/deepcut/cer
|
||||||
|
```
|
||||||
|
|
||||||
|
### Eval results on Common Voice 7 "test":
|
||||||
|
|
||||||
|
| | WER PyThaiNLP 2.3.1 | WER deepcut | SER | CER |
|
||||||
|
|---------------------------------|---------------------|-------------|---------|---------|
|
||||||
|
| Only Tokenization | 0.9524% | 2.5316% | 1.2346% | 0.1623% |
|
||||||
|
| Cleaning rules and Tokenization | TBD | TBD | TBD | TBD |
|
||||||
|
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```
|
||||||
|
#load pretrained processor and model
|
||||||
|
processor = Wav2Vec2Processor.from_pretrained("airesearch/wav2vec2-large-xlsr-53-th")
|
||||||
|
model = Wav2Vec2ForCTC.from_pretrained("airesearch/wav2vec2-large-xlsr-53-th")
|
||||||
|
|
||||||
|
#function to resample to 16_000
|
||||||
|
def speech_file_to_array_fn(batch,
|
||||||
|
text_col="sentence",
|
||||||
|
fname_col="path",
|
||||||
|
resampling_to=16000):
|
||||||
|
speech_array, sampling_rate = torchaudio.load(batch[fname_col])
|
||||||
|
resampler=torchaudio.transforms.Resample(sampling_rate, resampling_to)
|
||||||
|
batch["speech"] = resampler(speech_array)[0].numpy()
|
||||||
|
batch["sampling_rate"] = resampling_to
|
||||||
|
batch["target_text"] = batch[text_col]
|
||||||
|
return batch
|
||||||
|
|
||||||
|
#get 2 examples as sample input
|
||||||
|
test_dataset = test_dataset.map(speech_file_to_array_fn)
|
||||||
|
inputs = processor(test_dataset["speech"][:2], sampling_rate=16_000, return_tensors="pt", padding=True)
|
||||||
|
|
||||||
|
#infer
|
||||||
|
with torch.no_grad():
|
||||||
|
logits = model(inputs.input_values,).logits
|
||||||
|
|
||||||
|
predicted_ids = torch.argmax(logits, dim=-1)
|
||||||
|
|
||||||
|
print("Prediction:", processor.batch_decode(predicted_ids))
|
||||||
|
print("Reference:", test_dataset["sentence"][:2])
|
||||||
|
|
||||||
|
>> Prediction: ['และ เขา ก็ สัมผัส ดีบุก', 'คุณ สามารถ รับทราบ เมื่อ ข้อความ นี้ ถูก อ่าน แล้ว']
|
||||||
|
>> Reference: ['และเขาก็สัมผัสดีบุก', 'คุณสามารถรับทราบเมื่อข้อความนี้ถูกอ่านแล้ว']
|
||||||
|
```
|
||||||
|
|
||||||
|
## Datasets
|
||||||
|
|
||||||
|
Common Voice Corpus 7.0](https://commonvoice.mozilla.org/en/datasets) contains 133 validated hours of Thai (255 total hours) at 5GB. We pre-tokenize with `pythainlp.tokenize.word_tokenize`. We preprocess the dataset using cleaning rules described in `notebooks/cv-preprocess.ipynb` by [@tann9949](https://github.com/tann9949). We then deduplicate and split as described in [ekapolc/Thai_commonvoice_split](https://github.com/ekapolc/Thai_commonvoice_split) in order to 1) avoid data leakage due to random splits after cleaning in [Common Voice Corpus 7.0](https://commonvoice.mozilla.org/en/datasets) and 2) preserve the majority of the data for the training set. The dataset loading script is `scripts/th_common_voice_70.py`. You can use this scripts together with `train_cleand.tsv`, `validation_cleaned.tsv` and `test_cleaned.tsv` to have the same splits as we do. The resulting dataset is as follows:
|
||||||
|
|
||||||
|
```
|
||||||
|
DatasetDict({
|
||||||
|
train: Dataset({
|
||||||
|
features: ['path', 'sentence'],
|
||||||
|
num_rows: 86586
|
||||||
|
})
|
||||||
|
test: Dataset({
|
||||||
|
features: ['path', 'sentence'],
|
||||||
|
num_rows: 2502
|
||||||
|
})
|
||||||
|
validation: Dataset({
|
||||||
|
features: ['path', 'sentence'],
|
||||||
|
num_rows: 3027
|
||||||
|
})
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
## Training
|
||||||
|
|
||||||
|
We fintuned using the following configuration on a single V100 GPU and chose the checkpoint with the lowest validation loss. The finetuning script is `scripts/wav2vec2_finetune.py`
|
||||||
|
|
||||||
|
```
|
||||||
|
# create model
|
||||||
|
model = Wav2Vec2ForCTC.from_pretrained(
|
||||||
|
"facebook/wav2vec2-large-xlsr-53",
|
||||||
|
attention_dropout=0.1,
|
||||||
|
hidden_dropout=0.1,
|
||||||
|
feat_proj_dropout=0.0,
|
||||||
|
mask_time_prob=0.05,
|
||||||
|
layerdrop=0.1,
|
||||||
|
gradient_checkpointing=True,
|
||||||
|
ctc_loss_reduction="mean",
|
||||||
|
pad_token_id=processor.tokenizer.pad_token_id,
|
||||||
|
vocab_size=len(processor.tokenizer)
|
||||||
|
)
|
||||||
|
model.freeze_feature_extractor()
|
||||||
|
training_args = TrainingArguments(
|
||||||
|
output_dir="../data/wav2vec2-large-xlsr-53-thai",
|
||||||
|
group_by_length=True,
|
||||||
|
per_device_train_batch_size=32,
|
||||||
|
gradient_accumulation_steps=1,
|
||||||
|
per_device_eval_batch_size=16,
|
||||||
|
metric_for_best_model='wer',
|
||||||
|
evaluation_strategy="steps",
|
||||||
|
eval_steps=1000,
|
||||||
|
logging_strategy="steps",
|
||||||
|
logging_steps=1000,
|
||||||
|
save_strategy="steps",
|
||||||
|
save_steps=1000,
|
||||||
|
num_train_epochs=100,
|
||||||
|
fp16=True,
|
||||||
|
learning_rate=1e-4,
|
||||||
|
warmup_steps=1000,
|
||||||
|
save_total_limit=3,
|
||||||
|
report_to="tensorboard"
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Evaluation
|
||||||
|
|
||||||
|
We benchmark on the test set using WER with words tokenized by [PyThaiNLP](https://github.com/PyThaiNLP/pythainlp) 2.3.1 and [deepcut](https://github.com/rkcosmos/deepcut), and CER. We also measure performance when spell correction using [TNC](http://www.arts.chula.ac.th/ling/tnc/) ngrams is applied. Evaluation codes can be found in `notebooks/wav2vec2_finetuning_tutorial.ipynb`. Benchmark is performed on `test-unique` split.
|
||||||
|
|
||||||
|
| | WER PyThaiNLP 2.3.1 | WER deepcut | CER |
|
||||||
|
|--------------------------------|---------------------|----------------|----------------|
|
||||||
|
| [Kaldi from scratch](https://github.com/vistec-AI/commonvoice-th) | 23.04 | | 7.57 |
|
||||||
|
| Ours without spell correction | 13.634024 | **8.152052** | **2.813019** |
|
||||||
|
| Ours with spell correction | 17.996397 | 14.167975 | 5.225761 |
|
||||||
|
| Google Web Speech API※ | 13.711234 | 10.860058 | 7.357340 |
|
||||||
|
| Microsoft Bing Speech API※ | **12.578819** | 9.620991 | 5.016620 |
|
||||||
|
| Amazon Transcribe※ | 21.86334 | 14.487553 | 7.077562 |
|
||||||
|
| NECTEC AI for Thai Partii API※ | 20.105887 | 15.515631 | 9.551027 |
|
||||||
|
|
||||||
|
※ APIs are not finetuned with Common Voice 7.0 data
|
||||||
|
|
||||||
|
## LICENSE
|
||||||
|
|
||||||
|
[cc-by-sa 4.0](https://github.com/vistec-AI/wav2vec2-large-xlsr-53-th/blob/main/LICENSE)
|
||||||
|
|
||||||
|
## Ackowledgements
|
||||||
|
* model training and validation notebooks/scripts [@cstorm125](https://github.com/cstorm125/)
|
||||||
|
* dataset cleaning scripts [@tann9949](https://github.com/tann9949)
|
||||||
|
* dataset splits [@ekapolc](https://github.com/ekapolc/) and [@14mss](https://github.com/14mss)
|
||||||
|
* running the training [@mrpeerat](https://github.com/mrpeerat)
|
||||||
|
* spell correction [@wannaphong](https://github.com/wannaphong)
|
||||||
|
|
||||||
85
config.json
Normal file
85
config.json
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
{
|
||||||
|
"_name_or_path": "facebook/wav2vec2-large-xlsr-53",
|
||||||
|
"activation_dropout": 0.0,
|
||||||
|
"apply_spec_augment": true,
|
||||||
|
"architectures": [
|
||||||
|
"Wav2Vec2ForCTC"
|
||||||
|
],
|
||||||
|
"attention_dropout": 0.1,
|
||||||
|
"bos_token_id": 1,
|
||||||
|
"codevector_dim": 768,
|
||||||
|
"contrastive_logits_temperature": 0.1,
|
||||||
|
"conv_bias": true,
|
||||||
|
"conv_dim": [
|
||||||
|
512,
|
||||||
|
512,
|
||||||
|
512,
|
||||||
|
512,
|
||||||
|
512,
|
||||||
|
512,
|
||||||
|
512
|
||||||
|
],
|
||||||
|
"conv_kernel": [
|
||||||
|
10,
|
||||||
|
3,
|
||||||
|
3,
|
||||||
|
3,
|
||||||
|
3,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"conv_stride": [
|
||||||
|
5,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"ctc_loss_reduction": "mean",
|
||||||
|
"ctc_zero_infinity": false,
|
||||||
|
"diversity_loss_weight": 0.1,
|
||||||
|
"do_stable_layer_norm": true,
|
||||||
|
"eos_token_id": 2,
|
||||||
|
"feat_extract_activation": "gelu",
|
||||||
|
"feat_extract_dropout": 0.0,
|
||||||
|
"feat_extract_norm": "layer",
|
||||||
|
"feat_proj_dropout": 0.0,
|
||||||
|
"feat_quantizer_dropout": 0.0,
|
||||||
|
"final_dropout": 0.0,
|
||||||
|
"gradient_checkpointing": true,
|
||||||
|
"hidden_act": "gelu",
|
||||||
|
"hidden_dropout": 0.1,
|
||||||
|
"hidden_size": 1024,
|
||||||
|
"initializer_range": 0.02,
|
||||||
|
"intermediate_size": 4096,
|
||||||
|
"layer_norm_eps": 1e-05,
|
||||||
|
"layerdrop": 0.1,
|
||||||
|
"mask_channel_length": 10,
|
||||||
|
"mask_channel_min_space": 1,
|
||||||
|
"mask_channel_other": 0.0,
|
||||||
|
"mask_channel_prob": 0.0,
|
||||||
|
"mask_channel_selection": "static",
|
||||||
|
"mask_feature_length": 10,
|
||||||
|
"mask_feature_prob": 0.0,
|
||||||
|
"mask_time_length": 10,
|
||||||
|
"mask_time_min_space": 1,
|
||||||
|
"mask_time_other": 0.0,
|
||||||
|
"mask_time_prob": 0.05,
|
||||||
|
"mask_time_selection": "static",
|
||||||
|
"model_type": "wav2vec2",
|
||||||
|
"num_attention_heads": 16,
|
||||||
|
"num_codevector_groups": 2,
|
||||||
|
"num_codevectors_per_group": 320,
|
||||||
|
"num_conv_pos_embedding_groups": 16,
|
||||||
|
"num_conv_pos_embeddings": 128,
|
||||||
|
"num_feat_extract_layers": 7,
|
||||||
|
"num_hidden_layers": 24,
|
||||||
|
"num_negatives": 100,
|
||||||
|
"pad_token_id": 69,
|
||||||
|
"proj_codevector_dim": 768,
|
||||||
|
"torch_dtype": "float32",
|
||||||
|
"transformers_version": "4.9.1",
|
||||||
|
"vocab_size": 70
|
||||||
|
}
|
||||||
154
eval.py
Normal file
154
eval.py
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import argparse
|
||||||
|
import re
|
||||||
|
from typing import Dict
|
||||||
|
|
||||||
|
from datasets import Audio, Dataset, load_dataset, load_metric
|
||||||
|
|
||||||
|
from transformers import AutoFeatureExtractor, pipeline
|
||||||
|
|
||||||
|
from pythainlp.tokenize import word_tokenize, syllable_tokenize
|
||||||
|
from deepcut import tokenize as deepcut_word_tokenize
|
||||||
|
from functools import partial
|
||||||
|
|
||||||
|
|
||||||
|
def log_results(result: Dataset, args: Dict[str, str]):
|
||||||
|
"""DO NOT CHANGE. This function computes and logs the result metrics."""
|
||||||
|
|
||||||
|
log_outputs = args.log_outputs
|
||||||
|
dataset_id = "_".join(args.dataset.split("/") + [args.config, args.split])
|
||||||
|
|
||||||
|
# load metric
|
||||||
|
wer = load_metric("wer")
|
||||||
|
cer = load_metric("cer")
|
||||||
|
|
||||||
|
# compute metrics
|
||||||
|
wer_result = wer.compute(references=result["target"], predictions=result["prediction"])
|
||||||
|
cer_result = cer.compute(references=result["target"], predictions=result["prediction"])
|
||||||
|
|
||||||
|
# print & log results
|
||||||
|
result_str = f"WER: {wer_result}\n" f"CER: {cer_result}"
|
||||||
|
print(result_str)
|
||||||
|
|
||||||
|
with open(f"robust-speech-event/{dataset_id}_eval_results_{args.thai_tokenizer}.txt", "w") as f:
|
||||||
|
f.write(result_str)
|
||||||
|
|
||||||
|
# log all results in text file. Possibly interesting for analysis
|
||||||
|
if log_outputs is not None:
|
||||||
|
pred_file = f"robust-speech-event/log_{dataset_id}_predictions_{args.thai_tokenizer}.txt"
|
||||||
|
target_file = f"robust-speech-event/log_{dataset_id}_targets_{args.thai_tokenizer}.txt"
|
||||||
|
|
||||||
|
with open(pred_file, "w") as p, open(target_file, "w") as t:
|
||||||
|
|
||||||
|
# mapping function to write output
|
||||||
|
def write_to_file(batch, i):
|
||||||
|
p.write(f"{i}" + "\n")
|
||||||
|
p.write(batch["prediction"] + "\n")
|
||||||
|
t.write(f"{i}" + "\n")
|
||||||
|
t.write(batch["target"] + "\n")
|
||||||
|
|
||||||
|
result.map(write_to_file, with_indices=True)
|
||||||
|
|
||||||
|
|
||||||
|
def normalize_text(text: str, tok_func) -> str:
|
||||||
|
"""DO ADAPT FOR YOUR USE CASE. this function normalizes the target text."""
|
||||||
|
|
||||||
|
chars_to_ignore_regex = '[,?.!\-\;\:"“%‘”<EFBFBD>—’…–]' # noqa: W605 IMPORTANT: this should correspond to the chars that were ignored during training
|
||||||
|
|
||||||
|
text = re.sub(chars_to_ignore_regex, "", text.lower())
|
||||||
|
|
||||||
|
# In addition, we can normalize the target text, e.g. removing new lines characters etc...
|
||||||
|
# note that order is important here!
|
||||||
|
token_sequences_to_ignore = ["\n\n", "\n", " ", " "]
|
||||||
|
|
||||||
|
for t in token_sequences_to_ignore:
|
||||||
|
text = " ".join(text.split(t))
|
||||||
|
|
||||||
|
#thai tokenize
|
||||||
|
text = " ".join(tok_func(text))
|
||||||
|
|
||||||
|
return text
|
||||||
|
|
||||||
|
def retokenize(text:str, tok_func) -> str:
|
||||||
|
"""tokenize and rejoin prediction outputs without cleaning"""
|
||||||
|
return " ".join(tok_func("".join(text.split())))
|
||||||
|
|
||||||
|
|
||||||
|
def main(args):
|
||||||
|
# load dataset
|
||||||
|
dataset = load_dataset(args.dataset, args.config, split=args.split, use_auth_token=True)
|
||||||
|
|
||||||
|
# for testing: only process the first two examples as a test
|
||||||
|
dataset = dataset.select(range(10))
|
||||||
|
|
||||||
|
# load processor
|
||||||
|
feature_extractor = AutoFeatureExtractor.from_pretrained(args.model_id)
|
||||||
|
sampling_rate = feature_extractor.sampling_rate
|
||||||
|
|
||||||
|
# resample audio
|
||||||
|
dataset = dataset.cast_column("audio", Audio(sampling_rate=sampling_rate))
|
||||||
|
|
||||||
|
# load eval pipeline
|
||||||
|
asr = pipeline("automatic-speech-recognition", model=args.model_id)
|
||||||
|
|
||||||
|
#select tokenizer
|
||||||
|
if args.thai_tokenizer=='deepcut':
|
||||||
|
tok_func = deepcut_word_tokenize
|
||||||
|
elif args.thai_tokenizer=='newmm':
|
||||||
|
tok_func = word_tokenize
|
||||||
|
elif args.thai_tokenizer=='syllable':
|
||||||
|
tok_func = syllable_tokenize
|
||||||
|
else:
|
||||||
|
tok_func = lambda x: x.replace(' ','')
|
||||||
|
|
||||||
|
# map function to decode audio
|
||||||
|
def map_to_pred(batch, tok_func):
|
||||||
|
prediction = asr(
|
||||||
|
batch["audio"]["array"], chunk_length_s=args.chunk_length_s, stride_length_s=args.stride_length_s
|
||||||
|
)
|
||||||
|
|
||||||
|
batch["prediction"] = retokenize(prediction["text"], tok_func)
|
||||||
|
batch["target"] = normalize_text(batch["sentence"], tok_func)
|
||||||
|
return batch
|
||||||
|
|
||||||
|
# run inference on all examples
|
||||||
|
result = dataset.map(partial(map_to_pred, tok_func=tok_func),
|
||||||
|
remove_columns=dataset.column_names)
|
||||||
|
|
||||||
|
# compute and log_results
|
||||||
|
# do not change function below
|
||||||
|
log_results(result, args)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
|
||||||
|
parser.add_argument(
|
||||||
|
"--model_id", type=str, required=True, help="Model identifier. Should be loadable with 🤗 Transformers"
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--thai_tokenizer", type=str, default="newmm",
|
||||||
|
required=True, help="newmm, syllable, or deepcut; if not specified, remove all spaces (used for CER calculation)"
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--dataset",
|
||||||
|
type=str,
|
||||||
|
required=True,
|
||||||
|
help="Dataset name to evaluate the `model_id`. Should be loadable with 🤗 Datasets",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--config", type=str, required=True, help="Config of the dataset. *E.g.* `'en'` for Common Voice"
|
||||||
|
)
|
||||||
|
parser.add_argument("--split", type=str, required=True, help="Split of the dataset. *E.g.* `'test'`")
|
||||||
|
parser.add_argument(
|
||||||
|
"--chunk_length_s", type=float, default=None, help="Chunk length in seconds. Defaults to 5 seconds."
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--stride_length_s", type=float, default=None, help="Stride of the audio chunks. Defaults to 1 second."
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--log_outputs", action="store_true", help="If defined, write outputs to log file for analysis."
|
||||||
|
)
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
main(args)
|
||||||
9
preprocessor_config.json
Normal file
9
preprocessor_config.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"do_normalize": true,
|
||||||
|
"feature_extractor_type": "Wav2Vec2FeatureExtractor",
|
||||||
|
"feature_size": 1,
|
||||||
|
"padding_side": "right",
|
||||||
|
"padding_value": 0.0,
|
||||||
|
"return_attention_mask": false,
|
||||||
|
"sampling_rate": 16000
|
||||||
|
}
|
||||||
3
pytorch_model.bin
Normal file
3
pytorch_model.bin
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:54824f24eb41e1b095bcc1d1b735da40b344ed24e484abccfd0795d0036418b8
|
||||||
|
size 1262210673
|
||||||
3
rng_state.pth
Normal file
3
rng_state.pth
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:040892c8367ed2663b43590614fcaee20e683cc064af55f65e3baf94db0473d8
|
||||||
|
size 15587
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
0
|
||||||
|
เ ร า เ ร ิ ่ ม ต ้ น ด ้ ว ย ว ิ ธ ี น ี ้
|
||||||
|
1
|
||||||
|
ส ่ ง ใ ห ้ ต ร ง น ี ้ แ ห ล ะ โ ด โ ด ้ บ อ ก
|
||||||
|
2
|
||||||
|
ห น ท า ง ท ี ่ ด ี ท ี ่ ส ุ ด ไ ป ส ู ่ ค ว า ม ม ุ ่ ง ห ว ั ง ข อ ง ฉ ั น ค ื อ อ ะ ไ ร
|
||||||
|
3
|
||||||
|
ค ุ ณ ค ง ว ่ า ง ม า ก เ ล ย ส ิ น ะ
|
||||||
|
4
|
||||||
|
พ ร ุ ่ ง น ี ้ เ ข า จ ะ ม า ท ำ ถ น น ห น ้ า บ ้ า น น ะ อ า จ จ ะ เ ส ี ย ง ด ั ง ห น ่ อ ย
|
||||||
|
5
|
||||||
|
ฉ ั น พ ิ น ิ จ ใ น จ ิ น ต น า ก า ร ข อ ง ฉ ั น
|
||||||
|
6
|
||||||
|
เ ร า ม า จ า ก จ ั ง ห ว ั ด ล ะ ย อ ง
|
||||||
|
7
|
||||||
|
เ ค ล ว ิ น ฟ า เ ร น ไ ฮ ต ์ ห ร ื อ เ ซ ล เ ซ ี ย ส ซ ึ ่ ง เ ป ็ น ห น ่ ว ย อ ุ ณ ห ภ ู ม ิ ท ี ่ ด ี ท ี ่ ส ุ ด
|
||||||
|
8
|
||||||
|
แ ล ะ ม ั น ก ็ เ ป ็ น ค ว า ม จ ร ิ ง
|
||||||
|
9
|
||||||
|
ว ิ ธ ี ก า ร ส ร ้ า ง ช ่ อ ด อ ก ไ ม ้ ท ี ่ ก ิ น ไ ด ้
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
0
|
||||||
|
เรา เริ่มต้น ด้วย วิธี นี้
|
||||||
|
1
|
||||||
|
ส่ง ให้ ตรง นี้ แหละ โดโด้ บอก
|
||||||
|
2
|
||||||
|
หนทาง ที่ ดี ที่สุด ไป สู่ ความ มุ่ง หวัง ของ ฉัน คือ อะไร
|
||||||
|
3
|
||||||
|
คุณคง ว่าง มาก เลย สิ นะ
|
||||||
|
4
|
||||||
|
พรุ่ง นี้ เขา จะ มา ทำ ถนน หน้า บ้าน นะ อาจ จะ เสียง ดัง หน่อย
|
||||||
|
5
|
||||||
|
ฉัน พินิจ ใน จินตนาการ ของ ฉัน
|
||||||
|
6
|
||||||
|
เรา มา จาก จังหวัดละยอง
|
||||||
|
7
|
||||||
|
เคลวินฟาเรนไฮต์ หรือ เซลเซียส ซึ่ง เป็น หน่วย อุณหภูมิ ที่ ดี ที่สุด
|
||||||
|
8
|
||||||
|
และ มัน ก็ เป็น ความ จริง
|
||||||
|
9
|
||||||
|
วิธี การ สร้าง ช่อ ดอก ไม้ ที่ กิน ได้
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
0
|
||||||
|
เรา เริ่มต้น ด้วย วิธี นี้
|
||||||
|
1
|
||||||
|
ส่ง ให้ ตรง นี้แหละ โด โด้ บอก
|
||||||
|
2
|
||||||
|
หนทาง ที่ ดี ที่สุด ไป สู่ ความ มุ่งหวัง ของ ฉัน คือ อะไร
|
||||||
|
3
|
||||||
|
คุณ คง ว่าง มาก เลย สิ นะ
|
||||||
|
4
|
||||||
|
พรุ่งนี้ เขา จะ มา ทำ ถนน หน้าบ้าน นะ อาจจะ เสียงดัง หน่อย
|
||||||
|
5
|
||||||
|
ฉัน พินิจ ในจินตนาการ ของ ฉัน
|
||||||
|
6
|
||||||
|
เรา มาจาก จังหวัด ละ ยอง
|
||||||
|
7
|
||||||
|
เค ล วิน ฟา เร น ไฮ ต์ หรือ เซลเซียส ซึ่ง เป็น หน่วย อุณหภูมิ ที่ ดี ที่สุด
|
||||||
|
8
|
||||||
|
และ มัน ก็ เป็น ความจริง
|
||||||
|
9
|
||||||
|
วิธีการ สร้าง ช่อดอกไม้ ที่ กิน ได้
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
0
|
||||||
|
เ ร า เ ร ิ ่ ม ต ้ น ด ้ ว ย ว ิ ธ ี น ี ้
|
||||||
|
1
|
||||||
|
ส ่ ง ใ ห ้ ต ร ง น ี ้ แ ห ล ะ โ ด โ ด ้ บ อ ก
|
||||||
|
2
|
||||||
|
ห น ท า ง ท ี ่ ด ี ท ี ่ ส ุ ด ไ ป ส ู ่ ค ว า ม ม ุ ่ ง ห ว ั ง ข อ ง ฉ ั น ค ื อ อ ะ ไ ร
|
||||||
|
3
|
||||||
|
ค ุ ณ ค ง ว ่ า ง ม า ก เ ล ย ส ิ น ะ
|
||||||
|
4
|
||||||
|
พ ร ุ ่ ง น ี ้ เ ข า จ ะ ม า ท ำ ถ น น ห น ้ า บ ้ า น น ะ อ า จ จ ะ เ ส ี ย ง ด ั ง ห น ่ อ ย
|
||||||
|
5
|
||||||
|
ฉ ั น พ ิ น ิ จ ใ น จ ิ น ต น า ก า ร ข อ ง ฉ ั น
|
||||||
|
6
|
||||||
|
เ ร า ม า จ า ก จ ั ง ห ว ั ด ร ะ ย อ ง
|
||||||
|
7
|
||||||
|
เ ค ล ว ิ น ฟ า เ ร น ไ ฮ ต ์ ห ร ื อ เ ซ ล เ ซ ี ย ส ซ ึ ่ ง เ ป ็ น ห น ่ ว ย อ ุ ณ ห ภ ู ม ิ ท ี ่ ด ี ท ี ่ ส ุ ด
|
||||||
|
8
|
||||||
|
แ ล ะ ม ั น ก ็ เ ป ็ น ค ว า ม จ ร ิ ง
|
||||||
|
9
|
||||||
|
ว ิ ธ ี ก า ร ส ร ้ า ง ช ่ อ ด อ ก ไ ม ้ ท ี ่ ก ิ น ไ ด ้
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
0
|
||||||
|
เรา เริ่มต้น ด้วย วิธี นี้
|
||||||
|
1
|
||||||
|
ส่ง ให้ ตรง นี้ แหละ โดโด้ บอก
|
||||||
|
2
|
||||||
|
หนทาง ที่ ดี ที่สุด ไป สู่ ความ มุ่ง หวัง ของ ฉัน คือ อะไร
|
||||||
|
3
|
||||||
|
คุณคง ว่าง มาก เลย สิ นะ
|
||||||
|
4
|
||||||
|
พรุ่ง นี้ เขา จะ มา ทำ ถนน หน้า บ้าน นะ อาจ จะ เสียง ดัง หน่อย
|
||||||
|
5
|
||||||
|
ฉัน พินิจ ใน จินตนาการ ของ ฉัน
|
||||||
|
6
|
||||||
|
เรา มา จาก จังหวัดระยอง
|
||||||
|
7
|
||||||
|
เคลวินฟาเรนไฮต์ หรือ เซลเซียส ซึ่ง เป็น หน่วย อุณหภูมิ ที่ ดี ที่สุด
|
||||||
|
8
|
||||||
|
และ มัน ก็ เป็น ความ จริง
|
||||||
|
9
|
||||||
|
วิธี การ สร้าง ช่อ ดอก ไม้ ที่ กิน ได้
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
0
|
||||||
|
เรา เริ่มต้น ด้วย วิธี นี้
|
||||||
|
1
|
||||||
|
ส่ง ให้ ตรง นี้แหละ โด โด้ บอก
|
||||||
|
2
|
||||||
|
หนทาง ที่ ดี ที่สุด ไป สู่ ความ มุ่งหวัง ของ ฉัน คือ อะไร
|
||||||
|
3
|
||||||
|
คุณ คง ว่าง มาก เลย สิ นะ
|
||||||
|
4
|
||||||
|
พรุ่งนี้ เขา จะ มา ทำ ถนน หน้าบ้าน นะ อาจจะ เสียงดัง หน่อย
|
||||||
|
5
|
||||||
|
ฉัน พินิจ ในจินตนาการ ของ ฉัน
|
||||||
|
6
|
||||||
|
เรา มาจาก จังหวัด ระยอง
|
||||||
|
7
|
||||||
|
เค ล วิน ฟา เร น ไฮ ต์ หรือ เซลเซียส ซึ่ง เป็น หน่วย อุณหภูมิ ที่ ดี ที่สุด
|
||||||
|
8
|
||||||
|
และ มัน ก็ เป็น ความจริง
|
||||||
|
9
|
||||||
|
วิธีการ สร้าง ช่อดอกไม้ ที่ กิน ได้
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
0
|
||||||
|
เ ร า เ ร ิ ่ ม ต ้ น ด ้ ว ย ว ิ ธ ี น ี ้
|
||||||
|
1
|
||||||
|
ส ่ ง ใ ห ้ ต ร ง น ี ้ แ ห ล ะ โ ด โ ด ้ บ อ ก
|
||||||
|
2
|
||||||
|
ห น ท า ง ท ี ่ ด ี ท ี ่ ส ุ ด ไ ป ส ู ่ ค ว า ม ม ุ ่ ง ห ว ั ง ข อ ง ฉ ั น ค ื อ อ ะ ไ ร
|
||||||
|
3
|
||||||
|
ค ุ ณ ค ง ว ่ า ง ม า ก เ ล ย ส ิ น ะ
|
||||||
|
4
|
||||||
|
พ ร ุ ่ ง น ี ้ เ ข า จ ะ ม า ท ำ ถ น น ห น ้ า บ ้ า น น ะ อ า จ จ ะ เ ส ี ย ง ด ั ง ห น ่ อ ย
|
||||||
|
5
|
||||||
|
ฉ ั น พ ิ น ิ จ ใ น จ ิ น ต น า ก า ร ข อ ง ฉ ั น
|
||||||
|
6
|
||||||
|
เ ร า ม า จ า ก จ ั ง ห ว ั ด ล ะ ย อ ง
|
||||||
|
7
|
||||||
|
เ ค ล ว ิ น ฟ า เ ร น ไ ฮ ต ์ ห ร ื อ เ ซ ล เ ซ ี ย ส ซ ึ ่ ง เ ป ็ น ห น ่ ว ย อ ุ ณ ห ภ ู ม ิ ท ี ่ ด ี ท ี ่ ส ุ ด
|
||||||
|
8
|
||||||
|
แ ล ะ ม ั น ก ็ เ ป ็ น ค ว า ม จ ร ิ ง
|
||||||
|
9
|
||||||
|
ว ิ ธ ี ก า ร ส ร ้ า ง ช ่ อ ด อ ก ไ ม ้ ท ี ่ ก ิ น ไ ด ้
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
0
|
||||||
|
เรา เริ่มต้น ด้วย วิธี นี้
|
||||||
|
1
|
||||||
|
ส่ง ให้ ตรง นี้ แหละ โดโด้ บอก
|
||||||
|
2
|
||||||
|
หนทาง ที่ ดี ที่สุด ไป สู่ ความ มุ่ง หวัง ของ ฉัน คือ อะไร
|
||||||
|
3
|
||||||
|
คุณคง ว่าง มาก เลย สิ นะ
|
||||||
|
4
|
||||||
|
พรุ่ง นี้ เขา จะ มา ทำ ถนน หน้า บ้าน นะ อาจ จะ เสียง ดัง หน่อย
|
||||||
|
5
|
||||||
|
ฉัน พินิจ ใน จินตนาการ ของ ฉัน
|
||||||
|
6
|
||||||
|
เรา มา จาก จังหวัดละยอง
|
||||||
|
7
|
||||||
|
เคลวินฟาเรนไฮต์ หรือ เซลเซียส ซึ่ง เป็น หน่วย อุณหภูมิ ที่ ดี ที่สุด
|
||||||
|
8
|
||||||
|
และ มัน ก็ เป็น ความ จริง
|
||||||
|
9
|
||||||
|
วิธี การ สร้าง ช่อ ดอก ไม้ ที่ กิน ได้
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
0
|
||||||
|
เรา เริ่มต้น ด้วย วิธี นี้
|
||||||
|
1
|
||||||
|
ส่ง ให้ ตรง นี้แหละ โด โด้ บอก
|
||||||
|
2
|
||||||
|
หนทาง ที่ ดี ที่สุด ไป สู่ ความ มุ่งหวัง ของ ฉัน คือ อะไร
|
||||||
|
3
|
||||||
|
คุณ คง ว่าง มาก เลย สิ นะ
|
||||||
|
4
|
||||||
|
พรุ่งนี้ เขา จะ มา ทำ ถนน หน้าบ้าน นะ อาจจะ เสียงดัง หน่อย
|
||||||
|
5
|
||||||
|
ฉัน พินิจ ในจินตนาการ ของ ฉัน
|
||||||
|
6
|
||||||
|
เรา มาจาก จังหวัด ละ ยอง
|
||||||
|
7
|
||||||
|
เค ล วิน ฟา เร น ไฮ ต์ หรือ เซลเซียส ซึ่ง เป็น หน่วย อุณหภูมิ ที่ ดี ที่สุด
|
||||||
|
8
|
||||||
|
และ มัน ก็ เป็น ความจริง
|
||||||
|
9
|
||||||
|
วิธีการ สร้าง ช่อดอกไม้ ที่ กิน ได้
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
0
|
||||||
|
เรา เริ่ม ต้น ด้วย วิ ธี นี้
|
||||||
|
1
|
||||||
|
ส่ง ให้ ตรง นี้ แหละ โด โด้ บอก
|
||||||
|
2
|
||||||
|
หน ทาง ที่ ดี ที่ สุด ไป สู่ ความ มุ่ง หวัง ของ ฉัน คือ อะ ไร
|
||||||
|
3
|
||||||
|
คุณ คง ว่าง มาก เลย สิ นะ
|
||||||
|
4
|
||||||
|
พรุ่ง นี้ เขา จะ มา ทำ ถนน หน้า บ้าน นะ อาจ จะ เสียง ดัง หน่อย
|
||||||
|
5
|
||||||
|
ฉัน พิ นิจ ใน จินต นา การ ของ ฉัน
|
||||||
|
6
|
||||||
|
เรา มา จาก จัง หวัด ละ ยอง
|
||||||
|
7
|
||||||
|
เค ล วิน ฟา เร น ไฮ ต์ หรือ เซล เซียส ซึ่ง เป็น หน่วย อุณห ภูมิ ที่ ดี ที่ สุด
|
||||||
|
8
|
||||||
|
และ มัน ก็ เป็น ความ จริง
|
||||||
|
9
|
||||||
|
วิ ธี การ สร้าง ช่อ ดอก ไม้ ที่ กิน ได้
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
0
|
||||||
|
เ ร า เ ร ิ ่ ม ต ้ น ด ้ ว ย ว ิ ธ ี น ี ้
|
||||||
|
1
|
||||||
|
ส ่ ง ใ ห ้ ต ร ง น ี ้ แ ห ล ะ โ ด โ ด ้ บ อ ก
|
||||||
|
2
|
||||||
|
ห น ท า ง ท ี ่ ด ี ท ี ่ ส ุ ด ไ ป ส ู ่ ค ว า ม ม ุ ่ ง ห ว ั ง ข อ ง ฉ ั น ค ื อ อ ะ ไ ร
|
||||||
|
3
|
||||||
|
ค ุ ณ ค ง ว ่ า ง ม า ก เ ล ย ส ิ น ะ
|
||||||
|
4
|
||||||
|
พ ร ุ ่ ง น ี ้ เ ข า จ ะ ม า ท ำ ถ น น ห น ้ า บ ้ า น น ะ อ า จ จ ะ เ ส ี ย ง ด ั ง ห น ่ อ ย
|
||||||
|
5
|
||||||
|
ฉ ั น พ ิ น ิ จ ใ น จ ิ น ต น า ก า ร ข อ ง ฉ ั น
|
||||||
|
6
|
||||||
|
เ ร า ม า จ า ก จ ั ง ห ว ั ด ร ะ ย อ ง
|
||||||
|
7
|
||||||
|
เ ค ล ว ิ น ฟ า เ ร น ไ ฮ ต ์ ห ร ื อ เ ซ ล เ ซ ี ย ส ซ ึ ่ ง เ ป ็ น ห น ่ ว ย อ ุ ณ ห ภ ู ม ิ ท ี ่ ด ี ท ี ่ ส ุ ด
|
||||||
|
8
|
||||||
|
แ ล ะ ม ั น ก ็ เ ป ็ น ค ว า ม จ ร ิ ง
|
||||||
|
9
|
||||||
|
ว ิ ธ ี ก า ร ส ร ้ า ง ช ่ อ ด อ ก ไ ม ้ ท ี ่ ก ิ น ไ ด ้
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
0
|
||||||
|
เรา เริ่มต้น ด้วย วิธี นี้
|
||||||
|
1
|
||||||
|
ส่ง ให้ ตรง นี้ แหละ โดโด้ บอก
|
||||||
|
2
|
||||||
|
หนทาง ที่ ดี ที่สุด ไป สู่ ความ มุ่ง หวัง ของ ฉัน คือ อะไร
|
||||||
|
3
|
||||||
|
คุณคง ว่าง มาก เลย สิ นะ
|
||||||
|
4
|
||||||
|
พรุ่ง นี้ เขา จะ มา ทำ ถนน หน้า บ้าน นะ อาจ จะ เสียง ดัง หน่อย
|
||||||
|
5
|
||||||
|
ฉัน พินิจ ใน จินตนาการ ของ ฉัน
|
||||||
|
6
|
||||||
|
เรา มา จาก จังหวัดระยอง
|
||||||
|
7
|
||||||
|
เคลวินฟาเรนไฮต์ หรือ เซลเซียส ซึ่ง เป็น หน่วย อุณหภูมิ ที่ ดี ที่สุด
|
||||||
|
8
|
||||||
|
และ มัน ก็ เป็น ความ จริง
|
||||||
|
9
|
||||||
|
วิธี การ สร้าง ช่อ ดอก ไม้ ที่ กิน ได้
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
0
|
||||||
|
เรา เริ่มต้น ด้วย วิธี นี้
|
||||||
|
1
|
||||||
|
ส่ง ให้ ตรง นี้แหละ โด โด้ บอก
|
||||||
|
2
|
||||||
|
หนทาง ที่ ดี ที่สุด ไป สู่ ความ มุ่งหวัง ของ ฉัน คือ อะไร
|
||||||
|
3
|
||||||
|
คุณ คง ว่าง มาก เลย สิ นะ
|
||||||
|
4
|
||||||
|
พรุ่งนี้ เขา จะ มา ทำ ถนน หน้าบ้าน นะ อาจจะ เสียงดัง หน่อย
|
||||||
|
5
|
||||||
|
ฉัน พินิจ ในจินตนาการ ของ ฉัน
|
||||||
|
6
|
||||||
|
เรา มาจาก จังหวัด ระยอง
|
||||||
|
7
|
||||||
|
เค ล วิน ฟา เร น ไฮ ต์ หรือ เซลเซียส ซึ่ง เป็น หน่วย อุณหภูมิ ที่ ดี ที่สุด
|
||||||
|
8
|
||||||
|
และ มัน ก็ เป็น ความจริง
|
||||||
|
9
|
||||||
|
วิธีการ สร้าง ช่อดอกไม้ ที่ กิน ได้
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
0
|
||||||
|
เรา เริ่ม ต้น ด้วย วิ ธี นี้
|
||||||
|
1
|
||||||
|
ส่ง ให้ ตรง นี้ แหละ โด โด้ บอก
|
||||||
|
2
|
||||||
|
หน ทาง ที่ ดี ที่ สุด ไป สู่ ความ มุ่ง หวัง ของ ฉัน คือ อะ ไร
|
||||||
|
3
|
||||||
|
คุณ คง ว่าง มาก เลย สิ นะ
|
||||||
|
4
|
||||||
|
พรุ่ง นี้ เขา จะ มา ทำ ถนน หน้า บ้าน นะ อาจ จะ เสียง ดัง หน่อย
|
||||||
|
5
|
||||||
|
ฉัน พิ นิจ ใน จินต นา การ ของ ฉัน
|
||||||
|
6
|
||||||
|
เรา มา จาก จัง หวัด ระ ยอง
|
||||||
|
7
|
||||||
|
เค ล วิน ฟา เร น ไฮ ต์ หรือ เซล เซียส ซึ่ง เป็น หน่วย อุณห ภูมิ ที่ ดี ที่ สุด
|
||||||
|
8
|
||||||
|
และ มัน ก็ เป็น ความ จริง
|
||||||
|
9
|
||||||
|
วิ ธี การ สร้าง ช่อ ดอก ไม้ ที่ กิน ได้
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
WER: 0.003194888178913738
|
||||||
|
CER: 0.0016233766233766235
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
WER: 0.012345679012345678
|
||||||
|
CER: 0.0026041666666666665
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
WER: 0.02531645569620253
|
||||||
|
CER: 0.005235602094240838
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
WER: 0.009523809523809525
|
||||||
|
CER: 0.0024509803921568627
|
||||||
3
scaler.pt
Normal file
3
scaler.pt
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:eaad0a550aad796c00c2715fb3dd07c74e5ca1520507a15a505e4faf0123239f
|
||||||
|
size 559
|
||||||
3
scheduler.pt
Normal file
3
scheduler.pt
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:bb118fee7b3cd82205b90d8e4ffc01eee7dfb1f3f32f5210cf6b36e69150bc49
|
||||||
|
size 623
|
||||||
1
special_tokens_map.json
Normal file
1
special_tokens_map.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"bos_token": "<s>", "eos_token": "</s>", "unk_token": "[UNK]", "pad_token": "[PAD]"}
|
||||||
1
tokenizer_config.json
Normal file
1
tokenizer_config.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"unk_token": "[UNK]", "bos_token": "<s>", "eos_token": "</s>", "pad_token": "[PAD]", "do_lower_case": false, "word_delimiter_token": "|", "tokenizer_class": "Wav2Vec2CTCTokenizer"}
|
||||||
2041
trainer_state.json
Normal file
2041
trainer_state.json
Normal file
File diff suppressed because it is too large
Load Diff
3
training_args.bin
Normal file
3
training_args.bin
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:9b84fdc2b5205eb905d41c1c2102380221b9f615acfe849482ef528e3e37c723
|
||||||
|
size 2671
|
||||||
1
vocab.json
Normal file
1
vocab.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"ฑ": 0, "ๅ": 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, "พ": 43, "ฆ": 44, "ั": 45, "ค": 46, "ว": 47, "ฏ": 48, "จ": 49, "แ": 50, "ม": 51, "ฎ": 52, "ฉ": 53, "์": 54, "ษ": 55, "ำ": 56, "ผ": 57, "ข": 58, "ไ": 59, "ู": 60, "ื": 61, "น": 62, "ช": 63, "ิ": 64, "ธ": 65, "ฃ": 66, "ส": 67, "|": 42, "[UNK]": 68, "[PAD]": 69}
|
||||||
Reference in New Issue
Block a user