diff --git "a/galician_training_script.ipynb" "b/galician_training_script.ipynb"
new file mode 100644--- /dev/null
+++ "b/galician_training_script.ipynb"
@@ -0,0 +1,2143 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# HuggingFace challenge - Debugger notebook\n",
+ "Run this notebook to verify your libraries versions, check GPU config and run a quick training"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "id": "T2utsYSKszvv"
+ },
+ "outputs": [],
+ "source": [
+ "import platform\n",
+ "import multiprocessing\n",
+ "\n",
+ "import torch\n",
+ "import transformers\n",
+ "import datasets\n",
+ "\n",
+ "import soundfile"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Print main infos"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "5P6I-W9ts-kR",
+ "outputId": "939bd550-1486-46a6-8371-e82ada0f448c"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Platform: Linux-5.11.0-37-generic-x86_64-with-glibc2.10\n",
+ "CPU cores: 60\n",
+ "Python version: 3.8.8\n",
+ "PyTorch version: 1.10.1+cu102\n",
+ "GPU is visible: True\n",
+ "Transformers version: 4.16.0.dev0\n",
+ "Datasets version: 1.17.1.dev0\n",
+ "soundfile version: 0.10.3\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(f\"Platform: {platform.platform()}\")\n",
+ "print(f\"CPU cores: {multiprocessing.cpu_count()}\")\n",
+ "\n",
+ "print(f\"Python version: {platform.python_version()}\")\n",
+ "\n",
+ "print(f\"PyTorch version: {torch.__version__}\")\n",
+ "print(f\"GPU is visible: {torch.cuda.is_available()}\")\n",
+ "\n",
+ "print(f\"Transformers version: {transformers.__version__}\")\n",
+ "print(f\"Datasets version: {datasets.__version__}\")\n",
+ "\n",
+ "print(f\"soundfile version: {soundfile.__version__}\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Check your GPU informations (if any)\n",
+ "If you launched an AI Training job with GPU resources, they should be listed below (Tesla V100s 32GB).\n",
+ "Driver and CUDA version "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "YT7fRnKctggU",
+ "outputId": "f355a3e0-20da-489f-bd1f-5e508e792a68"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Thu Jan 27 07:23:09 2022 \n",
+ "+-----------------------------------------------------------------------------+\n",
+ "| NVIDIA-SMI 470.57.02 Driver Version: 470.57.02 CUDA Version: 11.4 |\n",
+ "|-------------------------------+----------------------+----------------------+\n",
+ "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n",
+ "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n",
+ "| | | MIG M. |\n",
+ "|===============================+======================+======================|\n",
+ "| 0 Tesla V100S-PCI... Off | 00000000:00:06.0 Off | 0 |\n",
+ "| N/A 34C P0 25W / 250W | 4MiB / 32510MiB | 0% Default |\n",
+ "| | | N/A |\n",
+ "+-------------------------------+----------------------+----------------------+\n",
+ " \n",
+ "+-----------------------------------------------------------------------------+\n",
+ "| Processes: |\n",
+ "| GPU GI CI PID Type Process name GPU Memory |\n",
+ "| ID ID Usage |\n",
+ "|=============================================================================|\n",
+ "| No running processes found |\n",
+ "+-----------------------------------------------------------------------------+\n"
+ ]
+ }
+ ],
+ "source": [
+ "!nvidia-smi"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "2fa897b4afc049229144599af9e3f807",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "VBox(children=(HTML(value='
\\n] 29.64K --.-KB/s in 0.001s \n",
+ "\n",
+ "2022-01-22 15:01:09 (20.1 MB/s) - ‘run_speech_recognition_ctc.py’ saved [30348/30348]\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "!wget -O run_speech_recognition_ctc.py https://raw.githubusercontent.com/huggingface/transformers/master/examples/pytorch/speech-recognition/run_speech_recognition_ctc.py"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# \t--learning_rate=\"7.5e-5\" \\\n",
+ "# 84.5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 51,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "Mz4bubhxxsad",
+ "outputId": "23398525-cc19-43c2-9fec-497e06214f29"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "01/27/2022 09:23:57 - WARNING - __main__ - Process rank: -1, device: cuda:0, n_gpu: 1distributed training: False, 16-bits training: True\n",
+ "01/27/2022 09:23:57 - INFO - __main__ - Training/evaluation parameters TrainingArguments(\n",
+ "_n_gpu=1,\n",
+ "adafactor=False,\n",
+ "adam_beta1=0.9,\n",
+ "adam_beta2=0.999,\n",
+ "adam_epsilon=1e-08,\n",
+ "bf16=False,\n",
+ "bf16_full_eval=False,\n",
+ "dataloader_drop_last=False,\n",
+ "dataloader_num_workers=0,\n",
+ "dataloader_pin_memory=True,\n",
+ "ddp_bucket_cap_mb=None,\n",
+ "ddp_find_unused_parameters=None,\n",
+ "debug=[],\n",
+ "deepspeed=None,\n",
+ "disable_tqdm=False,\n",
+ "do_eval=True,\n",
+ "do_predict=False,\n",
+ "do_train=True,\n",
+ "eval_accumulation_steps=None,\n",
+ "eval_steps=500,\n",
+ "evaluation_strategy=IntervalStrategy.STEPS,\n",
+ "fp16=True,\n",
+ "fp16_backend=auto,\n",
+ "fp16_full_eval=False,\n",
+ "fp16_opt_level=O1,\n",
+ "gradient_accumulation_steps=1,\n",
+ "gradient_checkpointing=True,\n",
+ "greater_is_better=None,\n",
+ "group_by_length=True,\n",
+ "half_precision_backend=auto,\n",
+ "hub_model_id=None,\n",
+ "hub_strategy=HubStrategy.EVERY_SAVE,\n",
+ "hub_token=,\n",
+ "ignore_data_skip=False,\n",
+ "label_names=None,\n",
+ "label_smoothing_factor=0.0,\n",
+ "learning_rate=7e-05,\n",
+ "length_column_name=input_length,\n",
+ "load_best_model_at_end=False,\n",
+ "local_rank=-1,\n",
+ "log_level=-1,\n",
+ "log_level_replica=-1,\n",
+ "log_on_each_node=True,\n",
+ "logging_dir=./wav2vec2-large-xls-r-300m-galician/runs/Jan27_09-23-57_job-8be8b741-e32e-4579-bbec-1e00d9824b4f,\n",
+ "logging_first_step=False,\n",
+ "logging_nan_inf_filter=True,\n",
+ "logging_steps=100,\n",
+ "logging_strategy=IntervalStrategy.STEPS,\n",
+ "lr_scheduler_type=SchedulerType.LINEAR,\n",
+ "max_grad_norm=1.0,\n",
+ "max_steps=-1,\n",
+ "metric_for_best_model=None,\n",
+ "mp_parameters=,\n",
+ "no_cuda=False,\n",
+ "num_train_epochs=20.0,\n",
+ "optim=OptimizerNames.ADAMW_HF,\n",
+ "output_dir=./wav2vec2-large-xls-r-300m-galician,\n",
+ "overwrite_output_dir=True,\n",
+ "past_index=-1,\n",
+ "per_device_eval_batch_size=32,\n",
+ "per_device_train_batch_size=32,\n",
+ "prediction_loss_only=False,\n",
+ "push_to_hub=True,\n",
+ "push_to_hub_model_id=None,\n",
+ "push_to_hub_organization=None,\n",
+ "push_to_hub_token=,\n",
+ "remove_unused_columns=True,\n",
+ "report_to=[],\n",
+ "resume_from_checkpoint=None,\n",
+ "run_name=./wav2vec2-large-xls-r-300m-galician,\n",
+ "save_on_each_node=False,\n",
+ "save_steps=500,\n",
+ "save_strategy=IntervalStrategy.STEPS,\n",
+ "save_total_limit=2,\n",
+ "seed=42,\n",
+ "sharded_ddp=[],\n",
+ "skip_memory_metrics=True,\n",
+ "tf32=None,\n",
+ "tpu_metrics_debug=False,\n",
+ "tpu_num_cores=None,\n",
+ "use_legacy_prediction_loop=False,\n",
+ "warmup_ratio=0.0,\n",
+ "warmup_steps=500,\n",
+ "weight_decay=0.0,\n",
+ "xpu_backend=None,\n",
+ ")\n",
+ "01/27/2022 09:24:00 - WARNING - datasets.builder - Reusing dataset common_voice (/workspace/.cache/huggingface/datasets/mozilla-foundation___common_voice/gl/7.0.0/fe20cac47c166e25b1f096ab661832e3da7cf298ed4a91dcaa1343ad972d175b)\n",
+ "01/27/2022 09:24:02 - WARNING - datasets.builder - Reusing dataset common_voice (/workspace/.cache/huggingface/datasets/mozilla-foundation___common_voice/gl/7.0.0/fe20cac47c166e25b1f096ab661832e3da7cf298ed4a91dcaa1343ad972d175b)\n",
+ "01/27/2022 09:24:02 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /workspace/.cache/huggingface/datasets/mozilla-foundation___common_voice/gl/7.0.0/fe20cac47c166e25b1f096ab661832e3da7cf298ed4a91dcaa1343ad972d175b/cache-0553300b2837812b.arrow\n",
+ "01/27/2022 09:24:02 - WARNING - datasets.arrow_dataset - Loading cached processed dataset at /workspace/.cache/huggingface/datasets/mozilla-foundation___common_voice/gl/7.0.0/fe20cac47c166e25b1f096ab661832e3da7cf298ed4a91dcaa1343ad972d175b/cache-46e9370bf6879933.arrow\n",
+ "loading configuration file https://huggingface.co/facebook/wav2vec2-xls-r-300m/resolve/main/config.json from cache at /workspace/.cache/huggingface/transformers/dabc27df63e37bd2a7a221c7774e35f36a280fbdf917cf54cadfc7df8c786f6f.a3e4c3c967d9985881e0ae550a5f6f668f897db5ab2e0802f9b97973b15970e6\n",
+ "Model config Wav2Vec2Config {\n",
+ " \"_name_or_path\": \"facebook/wav2vec2-xls-r-300m\",\n",
+ " \"activation_dropout\": 0.0,\n",
+ " \"adapter_kernel_size\": 3,\n",
+ " \"adapter_stride\": 2,\n",
+ " \"add_adapter\": false,\n",
+ " \"apply_spec_augment\": true,\n",
+ " \"architectures\": [\n",
+ " \"Wav2Vec2ForPreTraining\"\n",
+ " ],\n",
+ " \"attention_dropout\": 0.1,\n",
+ " \"bos_token_id\": 1,\n",
+ " \"classifier_proj_size\": 256,\n",
+ " \"codevector_dim\": 768,\n",
+ " \"contrastive_logits_temperature\": 0.1,\n",
+ " \"conv_bias\": true,\n",
+ " \"conv_dim\": [\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 512\n",
+ " ],\n",
+ " \"conv_kernel\": [\n",
+ " 10,\n",
+ " 3,\n",
+ " 3,\n",
+ " 3,\n",
+ " 3,\n",
+ " 2,\n",
+ " 2\n",
+ " ],\n",
+ " \"conv_stride\": [\n",
+ " 5,\n",
+ " 2,\n",
+ " 2,\n",
+ " 2,\n",
+ " 2,\n",
+ " 2,\n",
+ " 2\n",
+ " ],\n",
+ " \"ctc_loss_reduction\": \"sum\",\n",
+ " \"ctc_zero_infinity\": false,\n",
+ " \"diversity_loss_weight\": 0.1,\n",
+ " \"do_stable_layer_norm\": true,\n",
+ " \"eos_token_id\": 2,\n",
+ " \"feat_extract_activation\": \"gelu\",\n",
+ " \"feat_extract_dropout\": 0.0,\n",
+ " \"feat_extract_norm\": \"layer\",\n",
+ " \"feat_proj_dropout\": 0.1,\n",
+ " \"feat_quantizer_dropout\": 0.0,\n",
+ " \"final_dropout\": 0.0,\n",
+ " \"gradient_checkpointing\": false,\n",
+ " \"hidden_act\": \"gelu\",\n",
+ " \"hidden_dropout\": 0.1,\n",
+ " \"hidden_size\": 1024,\n",
+ " \"initializer_range\": 0.02,\n",
+ " \"intermediate_size\": 4096,\n",
+ " \"layer_norm_eps\": 1e-05,\n",
+ " \"layerdrop\": 0.1,\n",
+ " \"mask_feature_length\": 10,\n",
+ " \"mask_feature_min_masks\": 0,\n",
+ " \"mask_feature_prob\": 0.0,\n",
+ " \"mask_time_length\": 10,\n",
+ " \"mask_time_min_masks\": 2,\n",
+ " \"mask_time_prob\": 0.075,\n",
+ " \"model_type\": \"wav2vec2\",\n",
+ " \"num_adapter_layers\": 3,\n",
+ " \"num_attention_heads\": 16,\n",
+ " \"num_codevector_groups\": 2,\n",
+ " \"num_codevectors_per_group\": 320,\n",
+ " \"num_conv_pos_embedding_groups\": 16,\n",
+ " \"num_conv_pos_embeddings\": 128,\n",
+ " \"num_feat_extract_layers\": 7,\n",
+ " \"num_hidden_layers\": 24,\n",
+ " \"num_negatives\": 100,\n",
+ " \"output_hidden_size\": 1024,\n",
+ " \"pad_token_id\": 0,\n",
+ " \"proj_codevector_dim\": 768,\n",
+ " \"tdnn_dilation\": [\n",
+ " 1,\n",
+ " 2,\n",
+ " 3,\n",
+ " 1,\n",
+ " 1\n",
+ " ],\n",
+ " \"tdnn_dim\": [\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 1500\n",
+ " ],\n",
+ " \"tdnn_kernel\": [\n",
+ " 5,\n",
+ " 3,\n",
+ " 3,\n",
+ " 1,\n",
+ " 1\n",
+ " ],\n",
+ " \"torch_dtype\": \"float32\",\n",
+ " \"transformers_version\": \"4.16.0.dev0\",\n",
+ " \"use_weighted_layer_sum\": false,\n",
+ " \"vocab_size\": 32,\n",
+ " \"xvector_output_dim\": 512\n",
+ "}\n",
+ "\n",
+ "100%|█████████████████████████████████████████████| 1/1 [00:00<00:00, 5.38ba/s]\n",
+ "100%|█████████████████████████████████████████████| 1/1 [00:00<00:00, 20.52ba/s]\n",
+ "Didn't find file ./wav2vec2-large-xls-r-300m-galician/tokenizer_config.json. We won't load it.\n",
+ "Didn't find file ./wav2vec2-large-xls-r-300m-galician/added_tokens.json. We won't load it.\n",
+ "Didn't find file ./wav2vec2-large-xls-r-300m-galician/special_tokens_map.json. We won't load it.\n",
+ "Didn't find file ./wav2vec2-large-xls-r-300m-galician/tokenizer.json. We won't load it.\n",
+ "loading file ./wav2vec2-large-xls-r-300m-galician/vocab.json\n",
+ "loading file None\n",
+ "loading file None\n",
+ "loading file None\n",
+ "loading file None\n",
+ "file ./wav2vec2-large-xls-r-300m-galician/config.json not found\n",
+ "Adding to the vocabulary\n",
+ "Adding to the vocabulary\n",
+ "Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.\n",
+ "loading configuration file https://huggingface.co/facebook/wav2vec2-xls-r-300m/resolve/main/config.json from cache at /workspace/.cache/huggingface/transformers/dabc27df63e37bd2a7a221c7774e35f36a280fbdf917cf54cadfc7df8c786f6f.a3e4c3c967d9985881e0ae550a5f6f668f897db5ab2e0802f9b97973b15970e6\n",
+ "Model config Wav2Vec2Config {\n",
+ " \"_name_or_path\": \"facebook/wav2vec2-xls-r-300m\",\n",
+ " \"activation_dropout\": 0.0,\n",
+ " \"adapter_kernel_size\": 3,\n",
+ " \"adapter_stride\": 2,\n",
+ " \"add_adapter\": false,\n",
+ " \"apply_spec_augment\": true,\n",
+ " \"architectures\": [\n",
+ " \"Wav2Vec2ForPreTraining\"\n",
+ " ],\n",
+ " \"attention_dropout\": 0.1,\n",
+ " \"bos_token_id\": 1,\n",
+ " \"classifier_proj_size\": 256,\n",
+ " \"codevector_dim\": 768,\n",
+ " \"contrastive_logits_temperature\": 0.1,\n",
+ " \"conv_bias\": true,\n",
+ " \"conv_dim\": [\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 512\n",
+ " ],\n",
+ " \"conv_kernel\": [\n",
+ " 10,\n",
+ " 3,\n",
+ " 3,\n",
+ " 3,\n",
+ " 3,\n",
+ " 2,\n",
+ " 2\n",
+ " ],\n",
+ " \"conv_stride\": [\n",
+ " 5,\n",
+ " 2,\n",
+ " 2,\n",
+ " 2,\n",
+ " 2,\n",
+ " 2,\n",
+ " 2\n",
+ " ],\n",
+ " \"ctc_loss_reduction\": \"sum\",\n",
+ " \"ctc_zero_infinity\": false,\n",
+ " \"diversity_loss_weight\": 0.1,\n",
+ " \"do_stable_layer_norm\": true,\n",
+ " \"eos_token_id\": 2,\n",
+ " \"feat_extract_activation\": \"gelu\",\n",
+ " \"feat_extract_dropout\": 0.0,\n",
+ " \"feat_extract_norm\": \"layer\",\n",
+ " \"feat_proj_dropout\": 0.1,\n",
+ " \"feat_quantizer_dropout\": 0.0,\n",
+ " \"final_dropout\": 0.0,\n",
+ " \"gradient_checkpointing\": false,\n",
+ " \"hidden_act\": \"gelu\",\n",
+ " \"hidden_dropout\": 0.1,\n",
+ " \"hidden_size\": 1024,\n",
+ " \"initializer_range\": 0.02,\n",
+ " \"intermediate_size\": 4096,\n",
+ " \"layer_norm_eps\": 1e-05,\n",
+ " \"layerdrop\": 0.1,\n",
+ " \"mask_feature_length\": 10,\n",
+ " \"mask_feature_min_masks\": 0,\n",
+ " \"mask_feature_prob\": 0.0,\n",
+ " \"mask_time_length\": 10,\n",
+ " \"mask_time_min_masks\": 2,\n",
+ " \"mask_time_prob\": 0.075,\n",
+ " \"model_type\": \"wav2vec2\",\n",
+ " \"num_adapter_layers\": 3,\n",
+ " \"num_attention_heads\": 16,\n",
+ " \"num_codevector_groups\": 2,\n",
+ " \"num_codevectors_per_group\": 320,\n",
+ " \"num_conv_pos_embedding_groups\": 16,\n",
+ " \"num_conv_pos_embeddings\": 128,\n",
+ " \"num_feat_extract_layers\": 7,\n",
+ " \"num_hidden_layers\": 24,\n",
+ " \"num_negatives\": 100,\n",
+ " \"output_hidden_size\": 1024,\n",
+ " \"pad_token_id\": 0,\n",
+ " \"proj_codevector_dim\": 768,\n",
+ " \"tdnn_dilation\": [\n",
+ " 1,\n",
+ " 2,\n",
+ " 3,\n",
+ " 1,\n",
+ " 1\n",
+ " ],\n",
+ " \"tdnn_dim\": [\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 1500\n",
+ " ],\n",
+ " \"tdnn_kernel\": [\n",
+ " 5,\n",
+ " 3,\n",
+ " 3,\n",
+ " 1,\n",
+ " 1\n",
+ " ],\n",
+ " \"torch_dtype\": \"float32\",\n",
+ " \"transformers_version\": \"4.16.0.dev0\",\n",
+ " \"use_weighted_layer_sum\": false,\n",
+ " \"vocab_size\": 32,\n",
+ " \"xvector_output_dim\": 512\n",
+ "}\n",
+ "\n",
+ "loading feature extractor configuration file https://huggingface.co/facebook/wav2vec2-xls-r-300m/resolve/main/preprocessor_config.json from cache at /workspace/.cache/huggingface/transformers/6fb028b95b394059e7d3b367bbca2382b576c66aebe896f04d2cd34e1b575f5b.d4484dc1c81456a2461485e7168b04347a7b9a4e3b1ef3aba723323b33e12326\n",
+ "Feature extractor Wav2Vec2FeatureExtractor {\n",
+ " \"do_normalize\": true,\n",
+ " \"feature_extractor_type\": \"Wav2Vec2FeatureExtractor\",\n",
+ " \"feature_size\": 1,\n",
+ " \"padding_side\": \"right\",\n",
+ " \"padding_value\": 0,\n",
+ " \"return_attention_mask\": true,\n",
+ " \"sampling_rate\": 16000\n",
+ "}\n",
+ "\n",
+ "loading weights file https://huggingface.co/facebook/wav2vec2-xls-r-300m/resolve/main/pytorch_model.bin from cache at /workspace/.cache/huggingface/transformers/1e6a6507f3b689035cd4b247e2a37c154e27f39143f31357a49b4e38baeccc36.1edb32803799e27ed554eb7dd935f6745b1a0b17b0ea256442fe24db6eb546cd\n",
+ "Some weights of the model checkpoint at facebook/wav2vec2-xls-r-300m were not used when initializing Wav2Vec2ForCTC: ['project_q.bias', 'project_hid.weight', 'quantizer.codevectors', 'project_q.weight', 'project_hid.bias', 'quantizer.weight_proj.weight', 'quantizer.weight_proj.bias']\n",
+ "- This IS expected if you are initializing Wav2Vec2ForCTC from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).\n",
+ "- This IS NOT expected if you are initializing Wav2Vec2ForCTC from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).\n",
+ "Some weights of Wav2Vec2ForCTC were not initialized from the model checkpoint at facebook/wav2vec2-xls-r-300m and are newly initialized: ['lm_head.bias', 'lm_head.weight']\n",
+ "You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n",
+ "preprocess datasets: 100%|█████████████████| 3670/3670 [00:27<00:00, 133.09ex/s]\n",
+ "preprocess datasets: 100%|█████████████████| 1716/1716 [00:13<00:00, 124.03ex/s]\n",
+ "100%|████████████████████████████████████████████| 4/4 [00:00<00:00, 797.24ba/s]\n",
+ "100%|████████████████████████████████████████████| 2/2 [00:00<00:00, 765.80ba/s]\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/preprocessor_config.json\n",
+ "tokenizer config file saved in ./wav2vec2-large-xls-r-300m-galician/tokenizer_config.json\n",
+ "Special tokens file saved in ./wav2vec2-large-xls-r-300m-galician/special_tokens_map.json\n",
+ "added tokens file saved in ./wav2vec2-large-xls-r-300m-galician/added_tokens.json\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/config.json\n",
+ "loading feature extractor configuration file ./wav2vec2-large-xls-r-300m-galician/preprocessor_config.json\n",
+ "loading configuration file ./wav2vec2-large-xls-r-300m-galician/config.json\n",
+ "Model config Wav2Vec2Config {\n",
+ " \"_name_or_path\": \"./wav2vec2-large-xls-r-300m-galician\",\n",
+ " \"activation_dropout\": 0.1,\n",
+ " \"adapter_kernel_size\": 3,\n",
+ " \"adapter_stride\": 2,\n",
+ " \"add_adapter\": false,\n",
+ " \"apply_spec_augment\": true,\n",
+ " \"architectures\": [\n",
+ " \"Wav2Vec2ForPreTraining\"\n",
+ " ],\n",
+ " \"attention_dropout\": 0.0,\n",
+ " \"bos_token_id\": 1,\n",
+ " \"classifier_proj_size\": 256,\n",
+ " \"codevector_dim\": 768,\n",
+ " \"contrastive_logits_temperature\": 0.1,\n",
+ " \"conv_bias\": true,\n",
+ " \"conv_dim\": [\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 512\n",
+ " ],\n",
+ " \"conv_kernel\": [\n",
+ " 10,\n",
+ " 3,\n",
+ " 3,\n",
+ " 3,\n",
+ " 3,\n",
+ " 2,\n",
+ " 2\n",
+ " ],\n",
+ " \"conv_stride\": [\n",
+ " 5,\n",
+ " 2,\n",
+ " 2,\n",
+ " 2,\n",
+ " 2,\n",
+ " 2,\n",
+ " 2\n",
+ " ],\n",
+ " \"ctc_loss_reduction\": \"mean\",\n",
+ " \"ctc_zero_infinity\": false,\n",
+ " \"diversity_loss_weight\": 0.1,\n",
+ " \"do_stable_layer_norm\": true,\n",
+ " \"eos_token_id\": 2,\n",
+ " \"feat_extract_activation\": \"gelu\",\n",
+ " \"feat_extract_dropout\": 0.0,\n",
+ " \"feat_extract_norm\": \"layer\",\n",
+ " \"feat_proj_dropout\": 0.0,\n",
+ " \"feat_quantizer_dropout\": 0.0,\n",
+ " \"final_dropout\": 0.0,\n",
+ " \"hidden_act\": \"gelu\",\n",
+ " \"hidden_dropout\": 0.0,\n",
+ " \"hidden_size\": 1024,\n",
+ " \"initializer_range\": 0.02,\n",
+ " \"intermediate_size\": 4096,\n",
+ " \"layer_norm_eps\": 1e-05,\n",
+ " \"layerdrop\": 0.0,\n",
+ " \"mask_feature_length\": 64,\n",
+ " \"mask_feature_min_masks\": 0,\n",
+ " \"mask_feature_prob\": 0.25,\n",
+ " \"mask_time_length\": 10,\n",
+ " \"mask_time_min_masks\": 2,\n",
+ " \"mask_time_prob\": 0.75,\n",
+ " \"model_type\": \"wav2vec2\",\n",
+ " \"num_adapter_layers\": 3,\n",
+ " \"num_attention_heads\": 16,\n",
+ " \"num_codevector_groups\": 2,\n",
+ " \"num_codevectors_per_group\": 320,\n",
+ " \"num_conv_pos_embedding_groups\": 16,\n",
+ " \"num_conv_pos_embeddings\": 128,\n",
+ " \"num_feat_extract_layers\": 7,\n",
+ " \"num_hidden_layers\": 24,\n",
+ " \"num_negatives\": 100,\n",
+ " \"output_hidden_size\": 1024,\n",
+ " \"pad_token_id\": 41,\n",
+ " \"proj_codevector_dim\": 768,\n",
+ " \"tdnn_dilation\": [\n",
+ " 1,\n",
+ " 2,\n",
+ " 3,\n",
+ " 1,\n",
+ " 1\n",
+ " ],\n",
+ " \"tdnn_dim\": [\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 512,\n",
+ " 1500\n",
+ " ],\n",
+ " \"tdnn_kernel\": [\n",
+ " 5,\n",
+ " 3,\n",
+ " 3,\n",
+ " 1,\n",
+ " 1\n",
+ " ],\n",
+ " \"torch_dtype\": \"float32\",\n",
+ " \"transformers_version\": \"4.16.0.dev0\",\n",
+ " \"use_weighted_layer_sum\": false,\n",
+ " \"vocab_size\": 44,\n",
+ " \"xvector_output_dim\": 512\n",
+ "}\n",
+ "\n",
+ "loading feature extractor configuration file ./wav2vec2-large-xls-r-300m-galician/preprocessor_config.json\n",
+ "Feature extractor Wav2Vec2FeatureExtractor {\n",
+ " \"do_normalize\": true,\n",
+ " \"feature_extractor_type\": \"Wav2Vec2FeatureExtractor\",\n",
+ " \"feature_size\": 1,\n",
+ " \"padding_side\": \"right\",\n",
+ " \"padding_value\": 0,\n",
+ " \"return_attention_mask\": true,\n",
+ " \"sampling_rate\": 16000\n",
+ "}\n",
+ "\n",
+ "Didn't find file ./wav2vec2-large-xls-r-300m-galician/tokenizer.json. We won't load it.\n",
+ "loading file ./wav2vec2-large-xls-r-300m-galician/vocab.json\n",
+ "loading file ./wav2vec2-large-xls-r-300m-galician/tokenizer_config.json\n",
+ "loading file ./wav2vec2-large-xls-r-300m-galician/added_tokens.json\n",
+ "loading file ./wav2vec2-large-xls-r-300m-galician/special_tokens_map.json\n",
+ "loading file None\n",
+ "Adding to the vocabulary\n",
+ "Adding to the vocabulary\n",
+ "Cloning https://huggingface.co/infinitejoy/wav2vec2-large-xls-r-300m-galician into local empty directory.\n",
+ "01/27/2022 09:25:02 - WARNING - huggingface_hub.repository - Cloning https://huggingface.co/infinitejoy/wav2vec2-large-xls-r-300m-galician into local empty directory.\n",
+ "Download file pytorch_model.bin: 0%| | 3.47k/1.18G [00:00, ?B/s]\n",
+ "Download file training_args.bin: 100%|█████████████| 2.98k/2.98k [00:00, ?B/s]\u001b[A\n",
+ "\n",
+ "Download file pytorch_model.bin: 97%|████▊| 1.14G/1.18G [00:33<00:01, 30.7MB/s]\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 0%| | 1.00k/1.18G [00:00, ?B/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 1%| | 17.1M/1.18G [00:01<01:10, 17.7MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 5%|▍ | 60.1M/1.18G [00:02<00:35, 33.6MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 9%|▊ | 107M/1.18G [00:03<00:28, 40.7MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 13%|█▏ | 154M/1.18G [00:04<00:25, 43.6MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 17%|█▍ | 200M/1.18G [00:05<00:23, 45.2MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 20%|█▊ | 245M/1.18G [00:06<00:21, 45.7MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 24%|██▏ | 290M/1.18G [00:07<00:20, 45.9MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 28%|██▍ | 333M/1.18G [00:08<00:20, 45.5MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 31%|██▊ | 379M/1.18G [00:09<00:18, 46.1MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 35%|███▏ | 423M/1.18G [00:10<00:17, 46.2MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 39%|███▌ | 469M/1.18G [00:11<00:16, 46.5MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Download file pytorch_model.bin: 100%|█████| 1.18G/1.18G [00:47<00:00, 30.7MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 46%|████▏ | 559M/1.18G [00:13<00:14, 46.6MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 50%|████▌ | 605M/1.18G [00:14<00:13, 46.8MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 54%|████▊ | 649M/1.18G [00:15<00:12, 46.5MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 58%|█████▏ | 695M/1.18G [00:16<00:11, 47.0MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 62%|█████▌ | 741M/1.18G [00:17<00:10, 47.0MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 65%|█████▉ | 786M/1.18G [00:18<00:09, 47.1MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 69%|██████▏ | 831M/1.18G [00:19<00:08, 46.7MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 73%|██████▌ | 876M/1.18G [00:20<00:07, 46.9MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 77%|██████▉ | 921M/1.18G [00:21<00:06, 46.8MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 80%|███████▏ | 966M/1.18G [00:22<00:05, 46.8MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 84%|██████▋ | 0.99G/1.18G [00:23<00:04, 46.8MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 88%|███████ | 1.03G/1.18G [00:24<00:03, 47.0MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 92%|███████▎| 1.08G/1.18G [00:25<00:02, 47.2MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Download file pytorch_model.bin: 100%|█████| 1.18G/1.18G [01:02<00:00, 20.1MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "Download file training_args.bin: 100%|█████████████| 2.98k/2.98k [01:02, ?B/s]\u001b[A\n",
+ "Download file training_args.bin: 100%|█████████████| 2.98k/2.98k [01:02, ?B/s]\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file training_args.bin: 100%|█████████| 2.98k/2.98k [01:02<00:00, 32.3B/s]\u001b[A\u001b[A\n",
+ "\n",
+ "Clean file training_args.bin: 100%|█████████| 2.98k/2.98k [01:02<00:00, 32.3B/s]\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 100%|████████| 1.18G/1.18G [00:27<00:00, 50.1MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "\n",
+ "\n",
+ "Clean file pytorch_model.bin: 100%|████████| 1.18G/1.18G [00:27<00:00, 46.2MB/s]\u001b[A\u001b[A\u001b[A\n",
+ "Using amp half precision backend\n",
+ "The following columns in the training set don't have a corresponding argument in `Wav2Vec2ForCTC.forward` and have been ignored: input_length.\n",
+ "/opt/conda/lib/python3.8/site-packages/transformers/optimization.py:306: FutureWarning: This implementation of AdamW is deprecated and will be removed in a future version. Use thePyTorch implementation torch.optim.AdamW instead, or set `no_deprecation_warning=True` to disable this warning\n",
+ " warnings.warn(\n",
+ "***** Running training *****\n",
+ " Num examples = 3670\n",
+ " Num Epochs = 20\n",
+ " Instantaneous batch size per device = 32\n",
+ " Total train batch size (w. parallel, distributed & accumulation) = 32\n",
+ " Gradient Accumulation steps = 1\n",
+ " Total optimization steps = 2300\n",
+ "{'loss': 12.0308, 'learning_rate': 1.3439999999999998e-05, 'epoch': 0.87} \n",
+ "{'loss': 4.6075, 'learning_rate': 2.7439999999999998e-05, 'epoch': 1.74} \n",
+ "{'loss': 3.4071, 'learning_rate': 4.1439999999999996e-05, 'epoch': 2.61} \n",
+ "{'loss': 3.0602, 'learning_rate': 5.544e-05, 'epoch': 3.48} \n",
+ "{'loss': 3.0067, 'learning_rate': 6.944e-05, 'epoch': 4.35} \n",
+ " 22%|████████▋ | 500/2300 [14:00<55:34, 1.85s/it]The following columns in the evaluation set don't have a corresponding argument in `Wav2Vec2ForCTC.forward` and have been ignored: input_length.\n",
+ "***** Running Evaluation *****\n",
+ " Num examples = 1716\n",
+ " Batch size = 32\n",
+ "\n",
+ " 0%| | 0/54 [00:00, ?it/s]\u001b[A\n",
+ " 4%|█▋ | 2/54 [00:01<00:37, 1.40it/s]\u001b[A\n",
+ " 6%|██▍ | 3/54 [00:02<00:49, 1.04it/s]\u001b[A\n",
+ " 7%|███▎ | 4/54 [00:03<00:51, 1.03s/it]\u001b[A\n",
+ " 9%|████ | 5/54 [00:05<01:02, 1.27s/it]\u001b[A\n",
+ " 11%|████▉ | 6/54 [00:07<01:04, 1.35s/it]\u001b[A\n",
+ " 13%|█████▋ | 7/54 [00:08<01:05, 1.40s/it]\u001b[A\n",
+ " 15%|██████▌ | 8/54 [00:09<01:01, 1.33s/it]\u001b[A\n",
+ " 17%|███████▎ | 9/54 [00:11<01:03, 1.40s/it]\u001b[A\n",
+ " 19%|███████▉ | 10/54 [00:12<01:02, 1.43s/it]\u001b[A\n",
+ " 20%|████████▊ | 11/54 [00:14<01:00, 1.40s/it]\u001b[A\n",
+ " 22%|█████████▌ | 12/54 [00:15<01:01, 1.47s/it]\u001b[A\n",
+ " 24%|██████████▎ | 13/54 [00:17<00:59, 1.46s/it]\u001b[A\n",
+ " 26%|███████████▏ | 14/54 [00:18<00:55, 1.39s/it]\u001b[A\n",
+ " 28%|███████████▉ | 15/54 [00:19<00:53, 1.36s/it]\u001b[A\n",
+ " 30%|████████████▋ | 16/54 [00:21<00:53, 1.41s/it]\u001b[A\n",
+ " 31%|█████████████▌ | 17/54 [00:22<00:50, 1.36s/it]\u001b[A\n",
+ " 33%|██████████████▎ | 18/54 [00:23<00:48, 1.36s/it]\u001b[A\n",
+ " 35%|███████████████▏ | 19/54 [00:25<00:47, 1.36s/it]\u001b[A\n",
+ " 37%|███████████████▉ | 20/54 [00:26<00:48, 1.42s/it]\u001b[A\n",
+ " 39%|████████████████▋ | 21/54 [00:28<00:46, 1.40s/it]\u001b[A\n",
+ " 41%|█████████████████▌ | 22/54 [00:29<00:45, 1.41s/it]\u001b[A\n",
+ " 43%|██████████████████▎ | 23/54 [00:30<00:42, 1.36s/it]\u001b[A\n",
+ " 44%|███████████████████ | 24/54 [00:32<00:41, 1.39s/it]\u001b[A\n",
+ " 46%|███████████████████▉ | 25/54 [00:33<00:40, 1.40s/it]\u001b[A\n",
+ " 48%|████████████████████▋ | 26/54 [00:35<00:38, 1.37s/it]\u001b[A\n",
+ " 50%|█████████████████████▌ | 27/54 [00:36<00:38, 1.43s/it]\u001b[A\n",
+ " 52%|██████████████████████▎ | 28/54 [00:37<00:36, 1.41s/it]\u001b[A\n",
+ " 54%|███████████████████████ | 29/54 [00:39<00:33, 1.36s/it]\u001b[A\n",
+ " 56%|███████████████████████▉ | 30/54 [00:40<00:31, 1.33s/it]\u001b[A\n",
+ " 57%|████████████████████████▋ | 31/54 [00:41<00:31, 1.36s/it]\u001b[A\n",
+ " 59%|█████████████████████████▍ | 32/54 [00:43<00:30, 1.41s/it]\u001b[A\n",
+ " 61%|██████████████████████████▎ | 33/54 [00:44<00:29, 1.41s/it]\u001b[A\n",
+ " 63%|███████████████████████████ | 34/54 [00:46<00:28, 1.42s/it]\u001b[A\n",
+ " 65%|███████████████████████████▊ | 35/54 [00:47<00:28, 1.49s/it]\u001b[A\n",
+ " 67%|████████████████████████████▋ | 36/54 [00:49<00:26, 1.45s/it]\u001b[A\n",
+ " 69%|█████████████████████████████▍ | 37/54 [00:50<00:23, 1.36s/it]\u001b[A\n",
+ " 70%|██████████████████████████���███▎ | 38/54 [00:51<00:20, 1.30s/it]\u001b[A\n",
+ " 72%|███████████████████████████████ | 39/54 [00:52<00:19, 1.31s/it]\u001b[A\n",
+ " 74%|███████████████████████████████▊ | 40/54 [00:54<00:17, 1.26s/it]\u001b[A\n",
+ " 76%|████████████████████████████████▋ | 41/54 [00:55<00:15, 1.22s/it]\u001b[A\n",
+ " 78%|█████████████████████████████████▍ | 42/54 [00:56<00:15, 1.29s/it]\u001b[A\n",
+ " 80%|██████████████████████████████████▏ | 43/54 [00:58<00:15, 1.41s/it]\u001b[A\n",
+ " 81%|███████████████████████████████████ | 44/54 [00:59<00:14, 1.47s/it]\u001b[A\n",
+ " 83%|███████████████████████████████████▊ | 45/54 [01:01<00:13, 1.50s/it]\u001b[A\n",
+ " 85%|████████████████████████████████████▋ | 46/54 [01:03<00:12, 1.53s/it]\u001b[A\n",
+ " 87%|█████████████████████████████████████▍ | 47/54 [01:04<00:11, 1.58s/it]\u001b[A\n",
+ " 89%|██████████████████████████████████████▏ | 48/54 [01:06<00:09, 1.52s/it]\u001b[A\n",
+ " 91%|███████████████████████████████████████ | 49/54 [01:07<00:07, 1.43s/it]\u001b[A\n",
+ " 93%|███████████████████████████████████████▊ | 50/54 [01:08<00:05, 1.35s/it]\u001b[A\n",
+ " 94%|████████████████████████████████████████▌ | 51/54 [01:09<00:03, 1.31s/it]\u001b[A\n",
+ " 96%|█████████████████████████████████████████▍ | 52/54 [01:10<00:02, 1.27s/it]\u001b[A\n",
+ " 98%|██████████████████████████████████████████▏| 53/54 [01:12<00:01, 1.32s/it]\u001b[A\n",
+ "100%|███████████████████████████████████████████| 54/54 [01:13<00:00, 1.20s/it]\u001b[A\n",
+ "{'eval_loss': 2.9632411003112793, 'eval_wer': 1.0, 'eval_runtime': 75.847, 'eval_samples_per_second': 22.624, 'eval_steps_per_second': 0.712, 'epoch': 4.35}\n",
+ "\n",
+ " 22%|████████▋ | 500/2300 [15:15<55:34, 1.85s/it]\u001b[A\n",
+ " \u001b[ASaving model checkpoint to ./wav2vec2-large-xls-r-300m-galician/checkpoint-500\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/checkpoint-500/config.json\n",
+ "Model weights saved in ./wav2vec2-large-xls-r-300m-galician/checkpoint-500/pytorch_model.bin\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/checkpoint-500/preprocessor_config.json\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/preprocessor_config.json\n",
+ "{'loss': 2.9665, 'learning_rate': 6.626666666666666e-05, 'epoch': 5.22} \n",
+ "{'loss': 2.8916, 'learning_rate': 6.237777777777777e-05, 'epoch': 6.09} \n",
+ "{'loss': 2.7907, 'learning_rate': 5.8488888888888886e-05, 'epoch': 6.96} \n",
+ "{'loss': 2.0776, 'learning_rate': 5.46e-05, 'epoch': 7.83} \n",
+ "{'loss': 1.4939, 'learning_rate': 5.0711111111111105e-05, 'epoch': 8.7} \n",
+ " 43%|████████████████▉ | 1000/2300 [30:25<27:05, 1.25s/it]The following columns in the evaluation set don't have a corresponding argument in `Wav2Vec2ForCTC.forward` and have been ignored: input_length.\n",
+ "***** Running Evaluation *****\n",
+ " Num examples = 1716\n",
+ " Batch size = 32\n",
+ "\n",
+ " 0%| | 0/54 [00:00, ?it/s]\u001b[A\n",
+ " 4%|█▋ | 2/54 [00:01<00:36, 1.43it/s]\u001b[A\n",
+ " 6%|██▍ | 3/54 [00:02<00:47, 1.06it/s]\u001b[A\n",
+ " 7%|███▎ | 4/54 [00:03<00:50, 1.01s/it]\u001b[A\n",
+ " 9%|████ | 5/54 [00:05<01:00, 1.24s/it]\u001b[A\n",
+ " 11%|████▉ | 6/54 [00:06<01:03, 1.32s/it]\u001b[A\n",
+ " 13%|█████▋ | 7/54 [00:08<01:04, 1.38s/it]\u001b[A\n",
+ " 15%|██████▌ | 8/54 [00:09<01:00, 1.32s/it]\u001b[A\n",
+ " 17%|███████▎ | 9/54 [00:11<01:02, 1.39s/it]\u001b[A\n",
+ " 19%|███████▉ | 10/54 [00:12<01:02, 1.43s/it]\u001b[A\n",
+ " 20%|████████▊ | 11/54 [00:14<01:00, 1.40s/it]\u001b[A\n",
+ " 22%|█████████▌ | 12/54 [00:15<01:01, 1.47s/it]\u001b[A\n",
+ " 24%|██████████▎ | 13/54 [00:17<01:00, 1.47s/it]\u001b[A\n",
+ " 26%|███████████▏ | 14/54 [00:18<00:55, 1.40s/it]\u001b[A\n",
+ " 28%|███████████▉ | 15/54 [00:19<00:53, 1.37s/it]\u001b[A\n",
+ " 30%|████████████▋ | 16/54 [00:21<00:53, 1.41s/it]\u001b[A\n",
+ " 31%|█████████████▌ | 17/54 [00:22<00:50, 1.37s/it]\u001b[A\n",
+ " 33%|██████████████▎ | 18/54 [00:23<00:49, 1.37s/it]\u001b[A\n",
+ " 35%|███████████████▏ | 19/54 [00:25<00:47, 1.36s/it]\u001b[A\n",
+ " 37%|███████████████▉ | 20/54 [00:26<00:48, 1.42s/it]\u001b[A\n",
+ " 39%|████████████████▋ | 21/54 [00:28<00:46, 1.40s/it]\u001b[A\n",
+ " 41%|█████████████████▌ | 22/54 [00:29<00:45, 1.41s/it]\u001b[A\n",
+ " 43%|██████████████████▎ | 23/54 [00:30<00:42, 1.36s/it]\u001b[A\n",
+ " 44%|███████████████████ | 24/54 [00:32<00:41, 1.39s/it]\u001b[A\n",
+ " 46%|███████████████████▉ | 25/54 [00:33<00:40, 1.39s/it]\u001b[A\n",
+ " 48%|████████████████████▋ | 26/54 [00:34<00:38, 1.37s/it]\u001b[A\n",
+ " 50%|█████████████████████▌ | 27/54 [00:36<00:38, 1.44s/it]\u001b[A\n",
+ " 52%|██████████████████████▎ | 28/54 [00:37<00:36, 1.42s/it]\u001b[A\n",
+ " 54%|███████████████████████ | 29/54 [00:39<00:33, 1.35s/it]\u001b[A\n",
+ " 56%|███████████████████████▉ | 30/54 [00:40<00:31, 1.33s/it]\u001b[A\n",
+ " 57%|████████████████████████▋ | 31/54 [00:41<00:30, 1.34s/it]\u001b[A\n",
+ " 59%|█████████████████████████▍ | 32/54 [00:43<00:30, 1.39s/it]\u001b[A\n",
+ " 61%|██████████████████████████▎ | 33/54 [00:44<00:29, 1.39s/it]\u001b[A\n",
+ " 63%|███████████████████████████ | 34/54 [00:46<00:28, 1.41s/it]\u001b[A\n",
+ " 65%|███████████████████████████▊ | 35/54 [00:47<00:28, 1.50s/it]\u001b[A\n",
+ " 67%|████████████████████████████▋ | 36/54 [00:49<00:26, 1.46s/it]\u001b[A\n",
+ " 69%|█████████████████████████████▍ | 37/54 [00:50<00:23, 1.37s/it]\u001b[A\n",
+ " 70%|██████████████████████████████▎ | 38/54 [00:51<00:20, 1.30s/it]\u001b[A\n",
+ " 72%|███████████████████████████████ | 39/54 [00:52<00:19, 1.32s/it]\u001b[A\n",
+ " 74%|███████████████████████████████▊ | 40/54 [00:53<00:17, 1.27s/it]\u001b[A\n",
+ " 76%|████████████████████████████████▋ | 41/54 [00:55<00:16, 1.23s/it]\u001b[A\n",
+ " 78%|█████████████████��███████████████▍ | 42/54 [00:56<00:15, 1.29s/it]\u001b[A\n",
+ " 80%|██████████████████████████████████▏ | 43/54 [00:58<00:15, 1.41s/it]\u001b[A\n",
+ " 81%|███████████████████████████████████ | 44/54 [00:59<00:14, 1.48s/it]\u001b[A\n",
+ " 83%|███████████████████████████████████▊ | 45/54 [01:01<00:13, 1.50s/it]\u001b[A\n",
+ " 85%|████████████████████████████████████▋ | 46/54 [01:03<00:12, 1.54s/it]\u001b[A\n",
+ " 87%|█████████████████████████████████████▍ | 47/54 [01:04<00:11, 1.60s/it]\u001b[A\n",
+ " 89%|██████████████████████████████████████▏ | 48/54 [01:06<00:09, 1.53s/it]\u001b[A\n",
+ " 91%|███████████████████████████████████████ | 49/54 [01:07<00:07, 1.43s/it]\u001b[A\n",
+ " 93%|███████████████████████████████████████▊ | 50/54 [01:08<00:05, 1.36s/it]\u001b[A\n",
+ " 94%|████████████████████████████████████████▌ | 51/54 [01:09<00:03, 1.31s/it]\u001b[A\n",
+ " 96%|█████████████████████████████████████████▍ | 52/54 [01:10<00:02, 1.27s/it]\u001b[A\n",
+ " 98%|██████████████████████████████████████████▏| 53/54 [01:12<00:01, 1.31s/it]\u001b[A\n",
+ "100%|███████████████████████████████████████████| 54/54 [01:13<00:00, 1.20s/it]\u001b[A\n",
+ "{'eval_loss': 0.5004750490188599, 'eval_wer': 0.41569049578927375, 'eval_runtime': 75.9315, 'eval_samples_per_second': 22.599, 'eval_steps_per_second': 0.711, 'epoch': 8.7}\n",
+ "\n",
+ " 43%|████████████████▉ | 1000/2300 [31:41<27:05, 1.25s/it]\u001b[A\n",
+ " \u001b[ASaving model checkpoint to ./wav2vec2-large-xls-r-300m-galician/checkpoint-1000\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/checkpoint-1000/config.json\n",
+ "Model weights saved in ./wav2vec2-large-xls-r-300m-galician/checkpoint-1000/pytorch_model.bin\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/checkpoint-1000/preprocessor_config.json\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/preprocessor_config.json\n",
+ "{'loss': 1.2841, 'learning_rate': 4.682222222222222e-05, 'epoch': 9.57} \n",
+ "{'loss': 1.1469, 'learning_rate': 4.2933333333333324e-05, 'epoch': 10.43} \n",
+ "{'loss': 1.0776, 'learning_rate': 3.9044444444444444e-05, 'epoch': 11.3} \n",
+ "{'loss': 1.0147, 'learning_rate': 3.515555555555555e-05, 'epoch': 12.17} \n",
+ "{'loss': 0.9982, 'learning_rate': 3.126666666666666e-05, 'epoch': 13.04} \n",
+ " 65%|█████████████████████████▍ | 1500/2300 [47:00<29:32, 2.22s/it]The following columns in the evaluation set don't have a corresponding argument in `Wav2Vec2ForCTC.forward` and have been ignored: input_length.\n",
+ "***** Running Evaluation *****\n",
+ " Num examples = 1716\n",
+ " Batch size = 32\n",
+ "\n",
+ " 0%| | 0/54 [00:00, ?it/s]\u001b[A\n",
+ " 4%|█▋ | 2/54 [00:01<00:36, 1.43it/s]\u001b[A\n",
+ " 6%|██▍ | 3/54 [00:02<00:48, 1.06it/s]\u001b[A\n",
+ " 7%|███▎ | 4/54 [00:03<00:50, 1.01s/it]\u001b[A\n",
+ " 9%|████ | 5/54 [00:05<01:00, 1.23s/it]\u001b[A\n",
+ " 11%|████▉ | 6/54 [00:06<01:03, 1.31s/it]\u001b[A\n",
+ " 13%|█████▋ | 7/54 [00:08<01:04, 1.38s/it]\u001b[A\n",
+ " 15%|██████▌ | 8/54 [00:09<01:00, 1.32s/it]\u001b[A\n",
+ " 17%|███████▎ | 9/54 [00:11<01:02, 1.39s/it]\u001b[A\n",
+ " 19%|███████▉ | 10/54 [00:12<01:02, 1.42s/it]\u001b[A\n",
+ " 20%|████████▊ | 11/54 [00:13<00:59, 1.39s/it]\u001b[A\n",
+ " 22%|█████████▌ | 12/54 [00:15<01:01, 1.47s/it]\u001b[A\n",
+ " 24%|██████████▎ | 13/54 [00:17<00:59, 1.45s/it]\u001b[A\n",
+ " 26%|███████████▏ | 14/54 [00:18<00:55, 1.38s/it]\u001b[A\n",
+ " 28%|███████████▉ | 15/54 [00:19<00:52, 1.36s/it]\u001b[A\n",
+ " 30%|████████████▋ | 16/54 [00:21<00:53, 1.40s/it]\u001b[A\n",
+ " 31%|█████████████▌ | 17/54 [00:22<00:50, 1.36s/it]\u001b[A\n",
+ " 33%|██████████████▎ | 18/54 [00:23<00:48, 1.36s/it]\u001b[A\n",
+ " 35%|███████████████▏ | 19/54 [00:25<00:47, 1.36s/it]\u001b[A\n",
+ " 37%|███████████████▉ | 20/54 [00:26<00:48, 1.41s/it]\u001b[A\n",
+ " 39%|████████████████▋ | 21/54 [00:27<00:46, 1.39s/it]\u001b[A\n",
+ " 41%|█████████████████▌ | 22/54 [00:29<00:45, 1.41s/it]\u001b[A\n",
+ " 43%|██████████████████▎ | 23/54 [00:30<00:42, 1.36s/it]\u001b[A\n",
+ " 44%|███████████████████ | 24/54 [00:32<00:41, 1.38s/it]\u001b[A\n",
+ " 46%|███████████████████▉ | 25/54 [00:33<00:40, 1.39s/it]\u001b[A\n",
+ " 48%|████████████████████▋ | 26/54 [00:34<00:38, 1.37s/it]\u001b[A\n",
+ " 50%|█████████████████████▌ | 27/54 [00:36<00:38, 1.42s/it]\u001b[A\n",
+ " 52%|██████████████████████▎ | 28/54 [00:37<00:36, 1.41s/it]\u001b[A\n",
+ " 54%|███████████████████████ | 29/54 [00:38<00:33, 1.34s/it]\u001b[A\n",
+ " 56%|███████████████████████▉ | 30/54 [00:40<00:31, 1.32s/it]\u001b[A\n",
+ " 57%|████████████████████████▋ | 31/54 [00:41<00:30, 1.33s/it]\u001b[A\n",
+ " 59%|█████████████████████████▍ | 32/54 [00:43<00:30, 1.39s/it]\u001b[A\n",
+ " 61%|██████████████████████████▎ | 33/54 [00:44<00:29, 1.39s/it]\u001b[A\n",
+ " 63%|███████████████████████████ | 34/54 [00:45<00:28, 1.40s/it]\u001b[A\n",
+ " 65%|███████████████████████████▊ | 35/54 [00:47<00:28, 1.49s/it]\u001b[A\n",
+ " 67%|████████████████████████████▋ | 36/54 [00:48<00:26, 1.45s/it]\u001b[A\n",
+ " 69%|█████████████████████████████▍ | 37/54 [00:50<00:23, 1.36s/it]\u001b[A\n",
+ " 70%|██████████████████████████████▎ | 38/54 [00:51<00:20, 1.29s/it]\u001b[A\n",
+ " 72%|███████████████████████████████ | 39/54 [00:52<00:19, 1.30s/it]\u001b[A\n",
+ " 74%|███████████████████████████████▊ | 40/54 [00:53<00:17, 1.25s/it]\u001b[A\n",
+ " 76%|████████████████████████████████▋ | 41/54 [00:54<00:15, 1.21s/it]\u001b[A\n",
+ " 78%|█████████████████████████████████▍ | 42/54 [00:56<00:15, 1.27s/it]\u001b[A\n",
+ " 80%|██████████████████████████████████▏ | 43/54 [00:57<00:15, 1.39s/it]\u001b[A\n",
+ " 81%|███████████████████████████████████ | 44/54 [00:59<00:14, 1.46s/it]\u001b[A\n",
+ " 83%|███████████████████████████████████▊ | 45/54 [01:01<00:13, 1.49s/it]\u001b[A\n",
+ " 85%|████████████████████████████████████▋ | 46/54 [01:02<00:12, 1.52s/it]\u001b[A\n",
+ " 87%|█████████████████████████████████████▍ | 47/54 [01:04<00:11, 1.58s/it]\u001b[A\n",
+ " 89%|██████████████████████████████████████▏ | 48/54 [01:05<00:09, 1.51s/it]\u001b[A\n",
+ " 91%|███████████████████████████████████████ | 49/54 [01:06<00:07, 1.42s/it]\u001b[A\n",
+ " 93%|███████████████████████████████████████▊ | 50/54 [01:08<00:05, 1.34s/it]\u001b[A\n",
+ " 94%|████████████████████████████████████████▌ | 51/54 [01:09<00:03, 1.30s/it]\u001b[A\n",
+ " 96%|█████████████████████████████████████████▍ | 52/54 [01:10<00:02, 1.26s/it]\u001b[A\n",
+ " 98%|██████████████████████████████████████████▏| 53/54 [01:11<00:01, 1.31s/it]\u001b[A\n",
+ "100%|███████████████████████████████████████████| 54/54 [01:12<00:00, 1.20s/it]\u001b[A\n",
+ "{'eval_loss': 0.19668780267238617, 'eval_wer': 0.185651871082125, 'eval_runtime': 75.4326, 'eval_samples_per_second': 22.749, 'eval_steps_per_second': 0.716, 'epoch': 13.04}\n",
+ "\n",
+ " 65%|█████████████████████████▍ | 1500/2300 [48:16<29:32, 2.22s/it]\u001b[A\n",
+ " \u001b[ASaving model checkpoint to ./wav2vec2-large-xls-r-300m-galician/checkpoint-1500\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/checkpoint-1500/config.json\n",
+ "Model weights saved in ./wav2vec2-large-xls-r-300m-galician/checkpoint-1500/pytorch_model.bin\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/checkpoint-1500/preprocessor_config.json\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/preprocessor_config.json\n",
+ "Deleting older checkpoint [wav2vec2-large-xls-r-300m-galician/checkpoint-500] due to args.save_total_limit\n",
+ "{'loss': 0.9517, 'learning_rate': 2.7377777777777776e-05, 'epoch': 13.91} \n",
+ "{'loss': 0.9291, 'learning_rate': 2.3488888888888886e-05, 'epoch': 14.78} \n",
+ "{'loss': 0.8937, 'learning_rate': 1.96e-05, 'epoch': 15.65} \n",
+ "{'loss': 0.8918, 'learning_rate': 1.5711111111111108e-05, 'epoch': 16.52} \n",
+ "{'loss': 0.8726, 'learning_rate': 1.1822222222222221e-05, 'epoch': 17.39} \n",
+ " 87%|████████████████████████████████▏ | 2000/2300 [1:03:45<07:42, 1.54s/it]The following columns in the evaluation set don't have a corresponding argument in `Wav2Vec2ForCTC.forward` and have been ignored: input_length.\n",
+ "***** Running Evaluation *****\n",
+ " Num examples = 1716\n",
+ " Batch size = 32\n",
+ "\n",
+ " 0%| | 0/54 [00:00, ?it/s]\u001b[A\n",
+ " 4%|█▋ | 2/54 [00:01<00:36, 1.43it/s]\u001b[A\n",
+ " 6%|██▍ | 3/54 [00:02<00:48, 1.06it/s]\u001b[A\n",
+ " 7%|███▎ | 4/54 [00:03<00:50, 1.02s/it]\u001b[A\n",
+ " 9%|████ | 5/54 [00:05<01:00, 1.24s/it]\u001b[A\n",
+ " 11%|████▉ | 6/54 [00:06<01:03, 1.32s/it]\u001b[A\n",
+ " 13%|█████▋ | 7/54 [00:08<01:05, 1.39s/it]\u001b[A\n",
+ " 15%|██████▌ | 8/54 [00:09<01:01, 1.33s/it]\u001b[A\n",
+ " 17%|███████▎ | 9/54 [00:11<01:03, 1.40s/it]\u001b[A\n",
+ " 19%|███████▉ | 10/54 [00:12<01:03, 1.44s/it]\u001b[A\n",
+ " 20%|████████▊ | 11/54 [00:14<01:00, 1.41s/it]\u001b[A\n",
+ " 22%|█████████▌ | 12/54 [00:15<01:02, 1.49s/it]\u001b[A\n",
+ " 24%|██████████▎ | 13/54 [00:17<00:59, 1.46s/it]\u001b[A\n",
+ " 26%|███��███████▏ | 14/54 [00:18<00:55, 1.39s/it]\u001b[A\n",
+ " 28%|███████████▉ | 15/54 [00:19<00:53, 1.37s/it]\u001b[A\n",
+ " 30%|████████████▋ | 16/54 [00:21<00:53, 1.41s/it]\u001b[A\n",
+ " 31%|█████████████▌ | 17/54 [00:22<00:50, 1.37s/it]\u001b[A\n",
+ " 33%|██████████████▎ | 18/54 [00:23<00:49, 1.36s/it]\u001b[A\n",
+ " 35%|███████████████▏ | 19/54 [00:25<00:47, 1.37s/it]\u001b[A\n",
+ " 37%|███████████████▉ | 20/54 [00:26<00:48, 1.42s/it]\u001b[A\n",
+ " 39%|████████████████▋ | 21/54 [00:28<00:46, 1.40s/it]\u001b[A\n",
+ " 41%|█████████████████▌ | 22/54 [00:29<00:45, 1.41s/it]\u001b[A\n",
+ " 43%|██████████████████▎ | 23/54 [00:30<00:42, 1.36s/it]\u001b[A\n",
+ " 44%|███████████████████ | 24/54 [00:32<00:41, 1.38s/it]\u001b[A\n",
+ " 46%|███████████████████▉ | 25/54 [00:33<00:40, 1.39s/it]\u001b[A\n",
+ " 48%|████████████████████▋ | 26/54 [00:34<00:38, 1.36s/it]\u001b[A\n",
+ " 50%|█████████████████████▌ | 27/54 [00:36<00:38, 1.43s/it]\u001b[A\n",
+ " 52%|██████████████████████▎ | 28/54 [00:37<00:36, 1.41s/it]\u001b[A\n",
+ " 54%|███████████████████████ | 29/54 [00:39<00:33, 1.35s/it]\u001b[A\n",
+ " 56%|███████████████████████▉ | 30/54 [00:40<00:31, 1.32s/it]\u001b[A\n",
+ " 57%|████████████████████████▋ | 31/54 [00:41<00:30, 1.34s/it]\u001b[A\n",
+ " 59%|█████████████████████████▍ | 32/54 [00:43<00:30, 1.39s/it]\u001b[A\n",
+ " 61%|██████████████████████████▎ | 33/54 [00:44<00:29, 1.39s/it]\u001b[A\n",
+ " 63%|███████████████████████████ | 34/54 [00:46<00:28, 1.41s/it]\u001b[A\n",
+ " 65%|███████████████████████████▊ | 35/54 [00:47<00:28, 1.49s/it]\u001b[A\n",
+ " 67%|████████████████████████████▋ | 36/54 [00:49<00:26, 1.45s/it]\u001b[A\n",
+ " 69%|█████████████████████████████▍ | 37/54 [00:50<00:23, 1.37s/it]\u001b[A\n",
+ " 70%|██████████████████████████████▎ | 38/54 [00:51<00:20, 1.29s/it]\u001b[A\n",
+ " 72%|███████████████████████████████ | 39/54 [00:52<00:19, 1.31s/it]\u001b[A\n",
+ " 74%|███████████████████████████████▊ | 40/54 [00:53<00:17, 1.26s/it]\u001b[A\n",
+ " 76%|████████████████████████████████▋ | 41/54 [00:55<00:15, 1.22s/it]\u001b[A\n",
+ " 78%|█████████████████████████████████▍ | 42/54 [00:56<00:15, 1.28s/it]\u001b[A\n",
+ " 80%|██████████████████████████████████▏ | 43/54 [00:58<00:15, 1.40s/it]\u001b[A\n",
+ " 81%|███████████████████████████████████ | 44/54 [00:59<00:14, 1.48s/it]\u001b[A\n",
+ " 83%|███████████████████████████████████▊ | 45/54 [01:01<00:13, 1.51s/it]\u001b[A\n",
+ " 85%|████████████████████████████████████▋ | 46/54 [01:03<00:12, 1.54s/it]\u001b[A\n",
+ " 87%|█████████████████████████████████████▍ | 47/54 [01:04<00:11, 1.60s/it]\u001b[A\n",
+ " 89%|██████████████████████████████████████▏ | 48/54 [01:06<00:09, 1.54s/it]\u001b[A\n",
+ " 91%|███████████████████████████████████████ | 49/54 [01:07<00:07, 1.43s/it]\u001b[A\n",
+ " 93%|███████████████████████████████████████▊ | 50/54 [01:08<00:05, 1.35s/it]\u001b[A\n",
+ " 94%|████████████████████████████████████████▌ | 51/54 [01:09<00:03, 1.32s/it]\u001b[A\n",
+ " 96%|█████████████████████████████████████████▍ | 52/54 [01:10<00:02, 1.28s/it]\u001b[A\n",
+ " 98%|██████████████████████████████████████████▏| 53/54 [01:12<00:01, 1.31s/it]\u001b[A\n",
+ "100%|███████████████████████████████████████████| 54/54 [01:13<00:00, 1.20s/it]\u001b[A\n",
+ "{'eval_loss': 0.1586812287569046, 'eval_wer': 0.1563984043563604, 'eval_runtime': 75.8623, 'eval_samples_per_second': 22.62, 'eval_steps_per_second': 0.712, 'epoch': 17.39}\n",
+ "\n",
+ " 87%|████████████████████████████████▏ | 2000/2300 [1:05:01<07:42, 1.54s/it]\u001b[A\n",
+ " \u001b[ASaving model checkpoint to ./wav2vec2-large-xls-r-300m-galician/checkpoint-2000\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/checkpoint-2000/config.json\n",
+ "Model weights saved in ./wav2vec2-large-xls-r-300m-galician/checkpoint-2000/pytorch_model.bin\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/checkpoint-2000/preprocessor_config.json\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/preprocessor_config.json\n",
+ "Deleting older checkpoint [wav2vec2-large-xls-r-300m-galician/checkpoint-1000] due to args.save_total_limit\n",
+ "{'loss': 0.8785, 'learning_rate': 7.933333333333332e-06, 'epoch': 18.26} \n",
+ "{'loss': 0.8559, 'learning_rate': 4.044444444444444e-06, 'epoch': 19.13} \n",
+ "{'loss': 0.8653, 'learning_rate': 1.5555555555555554e-07, 'epoch': 20.0} \n",
+ "100%|█████████████████████████████████████| 2300/2300 [1:14:46<00:00, 1.34s/it]\n",
+ "\n",
+ "Training completed. Do not forget to share your model on huggingface.co/models =)\n",
+ "\n",
+ "\n",
+ "{'train_runtime': 4486.5584, 'train_samples_per_second': 16.36, 'train_steps_per_second': 0.513, 'train_loss': 2.2170696955141813, 'epoch': 20.0}\n",
+ "100%|█████████████████████████████████████| 2300/2300 [1:14:46<00:00, 1.95s/it]\n",
+ "Saving model checkpoint to ./wav2vec2-large-xls-r-300m-galician\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/config.json\n",
+ "Model weights saved in ./wav2vec2-large-xls-r-300m-galician/pytorch_model.bin\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/preprocessor_config.json\n",
+ "***** train metrics *****\n",
+ " epoch = 20.0\n",
+ " train_loss = 2.2171\n",
+ " train_runtime = 1:14:46.55\n",
+ " train_samples = 3670\n",
+ " train_samples_per_second = 16.36\n",
+ " train_steps_per_second = 0.513\n",
+ "01/27/2022 10:41:00 - INFO - __main__ - *** Evaluate ***\n",
+ "The following columns in the evaluation set don't have a corresponding argument in `Wav2Vec2ForCTC.forward` and have been ignored: input_length.\n",
+ "***** Running Evaluation *****\n",
+ " Num examples = 1716\n",
+ " Batch size = 32\n",
+ "100%|███████████████████████████████████████████| 54/54 [01:14<00:00, 1.39s/it]\n",
+ "***** eval metrics *****\n",
+ " epoch = 20.0\n",
+ " eval_loss = 0.1525\n",
+ " eval_runtime = 0:01:16.38\n",
+ " eval_samples = 1716\n",
+ " eval_samples_per_second = 22.464\n",
+ " eval_steps_per_second = 0.707\n",
+ " eval_wer = 0.1542\n",
+ "Saving model checkpoint to ./wav2vec2-large-xls-r-300m-galician\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/config.json\n",
+ "Model weights saved in ./wav2vec2-large-xls-r-300m-galician/pytorch_model.bin\n",
+ "Configuration saved in ./wav2vec2-large-xls-r-300m-galician/preprocessor_config.json\n",
+ "Upload file pytorch_model.bin: 100%|██████▉| 1.17G/1.18G [00:52<00:00, 29.1MB/s]To https://huggingface.co/infinitejoy/wav2vec2-large-xls-r-300m-galician\n",
+ " 1485f51..85ab499 main -> main\n",
+ "\n",
+ "01/27/2022 10:44:30 - WARNING - huggingface_hub.repository - To https://huggingface.co/infinitejoy/wav2vec2-large-xls-r-300m-galician\n",
+ " 1485f51..85ab499 main -> main\n",
+ "\n",
+ "Upload file pytorch_model.bin: 100%|███████| 1.18G/1.18G [00:53<00:00, 23.6MB/s]\n",
+ "Dropping the following result as it does not have all the necessary fields:\n",
+ "{'dataset': {'name': 'MOZILLA-FOUNDATION/COMMON_VOICE_7_0 - GL', 'type': 'common_voice', 'args': 'Config: gl, Training split: train+validation, Eval split: test'}}\n",
+ "error: RPC failed; HTTP 504 curl 22 The requested URL returned error: 504 Gateway Time-out\n",
+ "fatal: The remote end hung up unexpectedly\n",
+ "fatal: The remote end hung up unexpectedly\n",
+ "Everything up-to-date\n",
+ "\n",
+ "01/27/2022 10:45:38 - WARNING - huggingface_hub.repository - error: RPC failed; HTTP 504 curl 22 The requested URL returned error: 504 Gateway Time-out\n",
+ "fatal: The remote end hung up unexpectedly\n",
+ "fatal: The remote end hung up unexpectedly\n",
+ "Everything up-to-date\n",
+ "\n",
+ "Error pushing update to the model card. Please read logs and retry.\n",
+ "$error: RPC failed; HTTP 504 curl 22 The requested URL returned error: 504 Gateway Time-out\n",
+ "fatal: The remote end hung up unexpectedly\n",
+ "fatal: The remote end hung up unexpectedly\n",
+ "Everything up-to-date\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "!python run_speech_recognition_ctc.py \\\n",
+ "\t--dataset_name=\"mozilla-foundation/common_voice_7_0\" \\\n",
+ "\t--model_name_or_path=\"facebook/wav2vec2-xls-r-300m\" \\\n",
+ "\t--dataset_config_name=\"gl\" \\\n",
+ "\t--output_dir=\"./wav2vec2-large-xls-r-300m-galician\" \\\n",
+ "\t--overwrite_output_dir \\\n",
+ "\t--num_train_epochs=\"20\" \\\n",
+ "\t--per_device_train_batch_size=\"32\" \\\n",
+ "\t--per_device_eval_batch_size=\"32\" \\\n",
+ "\t--gradient_accumulation_steps=\"1\" \\\n",
+ "\t--learning_rate=\"7e-5\" \\\n",
+ "\t--warmup_steps=\"500\" \\\n",
+ "\t--length_column_name=\"input_length\" \\\n",
+ "\t--evaluation_strategy=\"steps\" \\\n",
+ "\t--text_column_name=\"sentence\" \\\n",
+ "\t--chars_to_ignore , ? . ! \\- \\; \\: \\\" “ % ‘ ” � — ’ … – \\\n",
+ "\t--save_steps=\"500\" \\\n",
+ "\t--eval_steps=\"500\" \\\n",
+ "\t--logging_steps=\"100\" \\\n",
+ "\t--layerdrop=\"0.0\" \\\n",
+ "\t--activation_dropout=\"0.1\" \\\n",
+ "\t--save_total_limit=\"2\" \\\n",
+ "\t--freeze_feature_encoder \\\n",
+ "\t--feat_proj_dropout=\"0.0\" \\\n",
+ "\t--mask_time_prob=\"0.75\" \\\n",
+ "\t--mask_time_length=\"10\" \\\n",
+ "\t--mask_feature_prob=\"0.25\" \\\n",
+ "\t--mask_feature_length=\"64\" \\\n",
+ "\t--gradient_checkpointing \\\n",
+ "\t--use_auth_token \\\n",
+ "\t--fp16 \\\n",
+ "\t--group_by_length \\\n",
+ "\t--do_train --do_eval \\\n",
+ " --push_to_hub"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# !rm -rf wav2vec2-large-xls-r-300m-bashkir"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!ls -ltr"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Filesystem Size Used Avail Use% Mounted on\n",
+ "overlay 3.5T 1.2T 2.2T 34% /\n",
+ "tmpfs 64M 0 64M 0% /dev\n",
+ "tmpfs 87G 0 87G 0% /sys/fs/cgroup\n",
+ "tmpfs 87G 0 87G 0% /dev/shm\n",
+ "/dev/md0 3.5T 1.2T 2.2T 34% /etc/group\n",
+ "tmpfs 87G 12K 87G 1% /proc/driver/nvidia\n",
+ "/dev/vda1 49G 6.5G 42G 14% /usr/bin/nvidia-smi\n",
+ "udev 87G 0 87G 0% /dev/nvidia0\n",
+ "tmpfs 87G 0 87G 0% /proc/acpi\n",
+ "tmpfs 87G 0 87G 0% /proc/scsi\n",
+ "tmpfs 87G 0 87G 0% /sys/firmware\n"
+ ]
+ }
+ ],
+ "source": [
+ "!df -h"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 52,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "Reusing dataset common_voice (/workspace/.cache/huggingface/datasets/mozilla-foundation___common_voice/gl/7.0.0/fe20cac47c166e25b1f096ab661832e3da7cf298ed4a91dcaa1343ad972d175b)\n",
+ "Reusing dataset common_voice (/workspace/.cache/huggingface/datasets/mozilla-foundation___common_voice/gl/7.0.0/fe20cac47c166e25b1f096ab661832e3da7cf298ed4a91dcaa1343ad972d175b)\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "3670\n"
+ ]
+ }
+ ],
+ "source": [
+ "from datasets import load_dataset, load_metric, Audio\n",
+ "\n",
+ "common_voice_train = load_dataset(\"mozilla-foundation/common_voice_7_0\", \"gl\", use_auth_token=True, split=\"train+validation\")\n",
+ "common_voice_test = load_dataset(\"mozilla-foundation/common_voice_7_0\", \"gl\", use_auth_token=True, split=\"test\")\n",
+ "\n",
+ "print(len(common_voice_train))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 53,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "5734.375"
+ ]
+ },
+ "execution_count": 53,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "len(common_voice_train) * 50 / 32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 54,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "common_voice_train = common_voice_train.remove_columns([\"accent\", \"age\", \"client_id\", \"down_votes\", \"gender\", \"locale\", \"segment\", \"up_votes\"])\n",
+ "common_voice_test = common_voice_test.remove_columns([\"accent\", \"age\", \"client_id\", \"down_votes\", \"gender\", \"locale\", \"segment\", \"up_votes\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 55,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from datasets import ClassLabel\n",
+ "import random\n",
+ "import pandas as pd\n",
+ "from IPython.display import display, HTML\n",
+ "\n",
+ "def show_random_elements(dataset, num_examples=10):\n",
+ " assert num_examples <= len(dataset), \"Can't pick more elements than there are in the dataset.\"\n",
+ " picks = []\n",
+ " for _ in range(num_examples):\n",
+ " pick = random.randint(0, len(dataset)-1)\n",
+ " while pick in picks:\n",
+ " pick = random.randint(0, len(dataset)-1)\n",
+ " picks.append(pick)\n",
+ " \n",
+ " df = pd.DataFrame(dataset[picks])\n",
+ " display(HTML(df.to_html()))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 56,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ " \n",
+ " \n",
+ " | \n",
+ " sentence | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " A torre do campanario amosa tres corpos. | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " Viaxou por Inglaterra e Europa. | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " Foi veciño do Concello de Ordes | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " Butch é outro personaxe. | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " Na colmea máis vella había unha alza sen mel | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " Tiña carácter humorístico. | \n",
+ "
\n",
+ " \n",
+ " 6 | \n",
+ " No soto están as salas Thorne. | \n",
+ "
\n",
+ " \n",
+ " 7 | \n",
+ " Alfredo Guisado tamén escribiu poesía usando o pseudónimo de Pedro de Meneses. | \n",
+ "
\n",
+ " \n",
+ " 8 | \n",
+ " Tamén aparece nun dos laterais unha fornela coa imaxe do San Miguel. | \n",
+ "
\n",
+ " \n",
+ " 9 | \n",
+ " A letra provén das coplas típicas. | \n",
+ "
\n",
+ " \n",
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "show_random_elements(common_voice_train.remove_columns([\"path\", \"audio\"]), num_examples=10)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 57,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import re\n",
+ "chars_to_remove_regex = '[\\,\\?\\.\\!\\-\\;\\:\\\"\\“\\%\\‘\\”\\�\\—\\’\\…\\–]'\n",
+ "\n",
+ "def remove_special_characters(batch):\n",
+ " batch[\"sentence\"] = re.sub(chars_to_remove_regex, '', batch[\"sentence\"]).lower()\n",
+ " return batch"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 58,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "02d1d9c1963e44aa9031276fe6495ab9",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ " 0%| | 0/3670 [00:00, ?ex/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "146077caeacd46398c35152f26b0c8ba",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ " 0%| | 0/1716 [00:00, ?ex/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "common_voice_train = common_voice_train.map(remove_special_characters)\n",
+ "common_voice_test = common_voice_test.map(remove_special_characters)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 59,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# start_with_ar = common_voice_train.filter(lambda example: \"−\" in example['sentence'])\n",
+ "# start_with_ar[0]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# start_with_ar"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def replace_hatted_characters(batch):\n",
+ "# batch[\"sentence\"] = re.sub('[â]', 'a', batch[\"sentence\"])\n",
+ "# batch[\"sentence\"] = re.sub('[î]', 'i', batch[\"sentence\"])\n",
+ "# batch[\"sentence\"] = re.sub('[ô]', 'o', batch[\"sentence\"])\n",
+ "# batch[\"sentence\"] = re.sub('[û]', 'u', batch[\"sentence\"])\n",
+ " return batch"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 61,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "97bd448c04fa4fcebfd77c91614c8004",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ " 0%| | 0/3670 [00:00, ?ex/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "d61ba742cd6c40e2a304266e9220284b",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ " 0%| | 0/1716 [00:00, ?ex/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "common_voice_train = common_voice_train.map(replace_hatted_characters)\n",
+ "common_voice_test = common_voice_test.map(replace_hatted_characters)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 62,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def extract_all_chars(batch):\n",
+ " all_text = \" \".join(batch[\"sentence\"])\n",
+ " vocab = list(set(all_text))\n",
+ " return {\"vocab\": [vocab], \"all_text\": [all_text]}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 63,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "5794b701250d4e41b6163d91f9f298bb",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ " 0%| | 0/1 [00:00, ?ba/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "e23e45ea6c0640b59cb5f3adf2db9583",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ " 0%| | 0/1 [00:00, ?ba/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "vocab_train = common_voice_train.map(extract_all_chars, batched=True, batch_size=-1, keep_in_memory=True, remove_columns=common_voice_train.column_names)\n",
+ "vocab_test = common_voice_test.map(extract_all_chars, batched=True, batch_size=-1, keep_in_memory=True, remove_columns=common_voice_test.column_names)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 64,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "vocab_list = list(set(vocab_train[\"vocab\"][0]) | set(vocab_test[\"vocab\"][0]))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 65,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{' ': 0,\n",
+ " \"'\": 1,\n",
+ " '_': 2,\n",
+ " 'a': 3,\n",
+ " 'b': 4,\n",
+ " 'c': 5,\n",
+ " 'd': 6,\n",
+ " 'e': 7,\n",
+ " 'f': 8,\n",
+ " 'g': 9,\n",
+ " 'h': 10,\n",
+ " 'i': 11,\n",
+ " 'j': 12,\n",
+ " 'k': 13,\n",
+ " 'l': 14,\n",
+ " 'm': 15,\n",
+ " 'n': 16,\n",
+ " 'o': 17,\n",
+ " 'p': 18,\n",
+ " 'q': 19,\n",
+ " 'r': 20,\n",
+ " 's': 21,\n",
+ " 't': 22,\n",
+ " 'u': 23,\n",
+ " 'v': 24,\n",
+ " 'w': 25,\n",
+ " 'x': 26,\n",
+ " 'y': 27,\n",
+ " 'z': 28,\n",
+ " '¡': 29,\n",
+ " '«': 30,\n",
+ " '»': 31,\n",
+ " '¿': 32,\n",
+ " 'á': 33,\n",
+ " 'é': 34,\n",
+ " 'í': 35,\n",
+ " 'ñ': 36,\n",
+ " 'ó': 37,\n",
+ " 'ú': 38,\n",
+ " 'ü': 39,\n",
+ " '−': 40}"
+ ]
+ },
+ "execution_count": 65,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "vocab_dict = {v: k for k, v in enumerate(sorted(vocab_list))}\n",
+ "vocab_dict"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 66,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "file ./config.json not found\n",
+ "Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "43\n"
+ ]
+ }
+ ],
+ "source": [
+ "vocab_dict[\"|\"] = vocab_dict[\" \"]\n",
+ "del vocab_dict[\" \"]\n",
+ "\n",
+ "vocab_dict[\"[UNK]\"] = len(vocab_dict)\n",
+ "vocab_dict[\"[PAD]\"] = len(vocab_dict)\n",
+ "print(len(vocab_dict))\n",
+ "\n",
+ "import json\n",
+ "with open('./vocab.json', 'w') as vocab_file:\n",
+ " json.dump(vocab_dict, vocab_file)\n",
+ " \n",
+ "from transformers import Wav2Vec2CTCTokenizer\n",
+ "\n",
+ "tokenizer = Wav2Vec2CTCTokenizer.from_pretrained(\"./\", unk_token=\"[UNK]\", pad_token=\"[PAD]\", word_delimiter_token=\"|\")\n",
+ "\n",
+ "repo_name = \"wav2vec2-large-xls-r-300m-galician\"\n",
+ "\n",
+ "tokenizer.push_to_hub(repo_name)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "--2022-01-27 08:52:26-- https://raw.githubusercontent.com/huggingface/transformers/master/examples/research_projects/robust-speech-event/eval.py\n",
+ "Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.110.133, 185.199.111.133, 185.199.108.133, ...\n",
+ "Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.110.133|:443... connected.\n",
+ "HTTP request sent, awaiting response... 200 OK\n",
+ "Length: 4421 (4.3K) [text/plain]\n",
+ "Saving to: ‘eval.py’\n",
+ "\n",
+ "eval.py 100%[===================>] 4.32K --.-KB/s in 0s \n",
+ "\n",
+ "2022-01-27 08:52:27 (15.4 MB/s) - ‘eval.py’ saved [4421/4421]\n",
+ "\n",
+ "total 1232592\n",
+ "-rw-r--r-- 1 ovh ovh 398 Jan 27 08:09 vocab.json\n",
+ "-rw-r--r-- 1 ovh ovh 260 Jan 27 08:09 tokenizer_config.json\n",
+ "-rw-r--r-- 1 ovh ovh 309 Jan 27 08:09 special_tokens_map.json\n",
+ "-rw-r--r-- 1 ovh ovh 23 Jan 27 08:09 added_tokens.json\n",
+ "drwxr-xr-x 2 ovh ovh 4096 Jan 27 08:22 checkpoint-400\n",
+ "drwxr-xr-x 2 ovh ovh 4096 Jan 27 08:35 checkpoint-800\n",
+ "-rw-r--r-- 1 ovh ovh 2369 Jan 27 08:46 trainer_state.json\n",
+ "-rw-r--r-- 1 ovh ovh 194 Jan 27 08:46 train_results.json\n",
+ "-rw-r--r-- 1 ovh ovh 224 Jan 27 08:47 eval_results.json\n",
+ "-rw-r--r-- 1 ovh ovh 397 Jan 27 08:47 all_results.json\n",
+ "-rw-r--r-- 1 ovh ovh 2033 Jan 27 08:47 config.json\n",
+ "-rw-r--r-- 1 ovh ovh 1262104049 Jan 27 08:47 pytorch_model.bin\n",
+ "-rw-r--r-- 1 ovh ovh 3055 Jan 27 08:47 training_args.bin\n",
+ "-rw-r--r-- 1 ovh ovh 212 Jan 27 08:47 preprocessor_config.json\n",
+ "-rw-r--r-- 1 ovh ovh 1642 Jan 27 08:49 README.md\n",
+ "-rw-r--r-- 1 ovh ovh 4421 Jan 27 08:52 eval.py\n"
+ ]
+ }
+ ],
+ "source": [
+ "!wget -O eval.py https://raw.githubusercontent.com/huggingface/transformers/master/examples/research_projects/robust-speech-event/eval.py\n",
+ "!cp eval.py wav2vec2-large-xls-r-300m-galician\n",
+ "!ls -ltr wav2vec2-large-xls-r-300m-galician"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Downloading: 100%|█████████████████████████| 9.88k/9.88k [00:00<00:00, 4.62MB/s]\n",
+ "Downloading: 100%|█████████████████████████| 2.98k/2.98k [00:00<00:00, 1.68MB/s]\n",
+ "Downloading and preparing dataset common_voice/gl to /workspace/.cache/huggingface/datasets/mozilla-foundation___common_voice/gl/7.0.0/fe20cac47c166e25b1f096ab661832e3da7cf298ed4a91dcaa1343ad972d175b...\n",
+ "Dataset common_voice downloaded and prepared to /workspace/.cache/huggingface/datasets/mozilla-foundation___common_voice/gl/7.0.0/fe20cac47c166e25b1f096ab661832e3da7cf298ed4a91dcaa1343ad972d175b. Subsequent calls will reuse this data.\n",
+ "100%|███████████████████████████████████████| 1716/1716 [15:28<00:00, 1.85ex/s]\n",
+ "WER: 1.0185525232698032\n",
+ "CER: 3.5303200243189132\n",
+ "100%|████████████████████████████████████| 1716/1716 [00:00<00:00, 20749.40ex/s]\n"
+ ]
+ }
+ ],
+ "source": [
+ "!cd wav2vec2-large-xls-r-300m-galician; python eval.py \\\n",
+ " --model_id ./ --dataset mozilla-foundation/common_voice_7_0 --config gl --split test --log_outputs"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "24592b0be30e4eafb1949cf09d1c4fb4",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "Downloading: 0%| | 0.00/260 [00:00, ?B/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "f9bf2ab0d2fa4d3f9235cc6d1ab772f1",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "Downloading: 0%| | 0.00/574 [00:00, ?B/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "b0791474a34043da8057e06741472ade",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "Downloading: 0%| | 0.00/23.0 [00:00, ?B/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "1ccbd582d616458b87c76ac8dc5b6b36",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "Downloading: 0%| | 0.00/309 [00:00, ?B/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# from transformers import AutoModelForCTC, Wav2Vec2Processor\n",
+ "\n",
+ "# model = AutoModelForCTC.from_pretrained(\"infinitejoy/wav2vec2-large-xls-r-300m-bashkir\")\n",
+ "# processor = Wav2Vec2Processor.from_pretrained(\"infinitejoy/wav2vec2-large-xls-r-300m-bashkir\")\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "013fabff2ea243a0a728a79b8f54ae09",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "Downloading: 0%| | 0.00/1.99k [00:00, ?B/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "a8d9ca6d024f46f58301bfbcc475e41a",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "Downloading: 0%| | 0.00/1.18G [00:00, ?B/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "b336e2647c05466d87a11dfa326e30d6",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "Downloading: 0%| | 0.00/212 [00:00, ?B/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "8e6962320ad944439261482617be4869",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "Downloading: 0%| | 0.00/260 [00:00, ?B/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "99de2ef750aa49fd986965d66853a5ea",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "Downloading: 0%| | 0.00/520 [00:00, ?B/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "765670f93e5f4c2e849c98d53e616f38",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "Downloading: 0%| | 0.00/23.0 [00:00, ?B/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "812abafc8f6b49e3a498718d034a379b",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "Downloading: 0%| | 0.00/309 [00:00, ?B/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "ename": "AssertionError",
+ "evalue": "55",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)",
+ "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0mlogits\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minput_values\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlogits\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 12\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0mlogits\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m32\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlogits\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
+ "\u001b[0;31mAssertionError\u001b[0m: 55"
+ ]
+ }
+ ],
+ "source": [
+ "# from transformers import AutoModelForCTC, AutoProcessor\n",
+ "# from datasets import load_dataset\n",
+ "\n",
+ "# model = AutoModelForCTC.from_pretrained(\"infinitejoy/wav2vec2-large-xls-r-300m-bashkir\")\n",
+ "# processor = AutoProcessor.from_pretrained(\"infinitejoy/wav2vec2-large-xls-r-300m-bashkir\")\n",
+ "\n",
+ "# input_values = processor(common_voice_test[0][\"audio\"][\"array\"], return_tensors=\"pt\", sampling_rate=16_000).input_values\n",
+ "# # input_values = input_values.to(\"cuda\")\n",
+ "\n",
+ "# logits = model(input_values).logits\n",
+ "\n",
+ "# assert logits.shape[-1] == 32, logits.shape[-1]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 67,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "Reusing dataset common_voice (/workspace/.cache/huggingface/datasets/mozilla-foundation___common_voice/gl/7.0.0/fe20cac47c166e25b1f096ab661832e3da7cf298ed4a91dcaa1343ad972d175b)\n"
+ ]
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "15f27ed4e1f547229a8e9c441c01dfc5",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "Downloading: 0%| | 0.00/1.18G [00:00, ?B/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "2c0f5833953e4f2aa060f7146b9a0d91",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ " 0%| | 0/10 [00:00, ?ex/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "['[UNK]_[UNK] [UNK]sh[UNK] c[UNK]d ptd[UNK] [UNK]ld[UNK]á[UNK]r [UNK]rd[UNK]m[UNK]cn[UNK]', '[UNK]h[UNK]ln[UNK]r r[UNK]h[UNK]k_[UNK]m[UNK]cd[UNK]h[UNK]q[UNK]n[UNK]r[UNK] [UNK]ad[UNK]h[UNK]ch[UNK]í_[UNK] cn[UNK] [UNK]_[UNK]q[UNK] _[UNK]m[UNK]s[UNK]d[UNK]r [UNK]ptd[UNK] [UNK]d[UNK]rd[UNK] [UNK]qé[UNK]n[UNK] [UNK]n[UNK] [UNK]kd[UNK]u[UNK]d[UNK] [UNK]o[UNK]_[UNK]q_ n[UNK] [UNK]l_[UNK]q[UNK]', '[UNK]r[UNK]d[UNK] [UNK]u_[UNK]r[UNK] [UNK]on[UNK]k_[UNK]r [UNK]ok[UNK]_[UNK]sd[UNK]qé[UNK]_[UNK]r[UNK] [UNK]q[UNK]d[UNK]y_[UNK]q[UNK] [UNK]m_[UNK] [UNK]bn[UNK]q[UNK]s[UNK]h[UNK]bd[UNK]k_[UNK] [UNK]sn[UNK]l_[UNK]q¿[UNK]r _[UNK]t[UNK]fn [UNK]ud[UNK]m[UNK]c[UNK]h[UNK]s_[UNK] [UNK]cn[UNK]r [UNK]b[UNK]_[UNK]a_[UNK]kh[UNK]í[UNK]n[UNK]r[UNK] [UNK]cd[UNK] [UNK]od[UNK]c[UNK]q_[UNK]', '[UNK]t[UNK]mg_ [UNK]ud[UNK]q[UNK]rhñ[UNK]m [UNK]mn[UNK]q[UNK]l_[UNK]k cn[UNK] [UNK]o[UNK]k_[UNK]md[UNK]s_[UNK]', '[UNK]d[UNK]t[UNK] [UNK]o[UNK]d[UNK]q[UNK]c[UNK]é[UNK]m[UNK] [UNK] [UNK]sn[UNK]c_[UNK] [UNK]¿[UNK] [UNK]e_[UNK]lh[UNK]kh[UNK]_ ptd [UNK]sh[UNK]í[UNK]_[UNK]', '[UNK]n[UNK] ld[UNK]t[UNK] [UNK]b[UNK]_[UNK]l[UNK] [UNK]o[UNK]hk[UNK]kn[UNK]t tmg_[UNK] [UNK]ln[UNK]r[UNK]b[UNK]_[UNK]', '[UNK]ptd[UNK] [UNK]wt[UNK]r[UNK]sh[UNK]y_[UNK]', '[UNK]s[UNK]ñ[UNK]l_[UNK]r[UNK]kd n[UNK]t[UNK]s[UNK]q_[UNK]', '[UNK]o_[UNK]r[UNK]_[UNK] [UNK]o_[UNK]r[UNK]_ [UNK]o_[UNK]q_ [UNK]cd[UNK]m[UNK]s[UNK]qn[UNK] [UNK]ptd [UNK]m[UNK]ñ[UNK]r _[UNK]ém[UNK]c_ dr[UNK]s_[UNK]ln[UNK]r [UNK]b[UNK]d[UNK]_[UNK]m[UNK]cn[UNK]', '[UNK]_[UNK]m[UNK]s[UNK]d[UNK]r dr[UNK]s_[UNK]a[UNK]_[UNK] _[UNK]ké[UNK]']\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "'E ti de quen ves sendo?'"
+ ]
+ },
+ "execution_count": 67,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from datasets import Audio, Dataset, load_dataset, load_metric\n",
+ "from transformers import AutoFeatureExtractor, pipeline\n",
+ "\n",
+ "dataset = load_dataset(\"mozilla-foundation/common_voice_7_0\", \"gl\", use_auth_token=True, split=\"train+validation\")\n",
+ "\n",
+ "# for testing: only process the first two examples as a test\n",
+ "dataset = dataset.select(range(10))\n",
+ "\n",
+ "repo_name = 'infinitejoy/wav2vec2-large-xls-r-300m-galician'\n",
+ "\n",
+ "# load processor\n",
+ "feature_extractor = AutoFeatureExtractor.from_pretrained(repo_name)\n",
+ "# feature_extractor = processor_with_lm.feature_extractor\n",
+ "sampling_rate = feature_extractor.sampling_rate\n",
+ "\n",
+ "# resample audio\n",
+ "dataset = dataset.cast_column(\"audio\", Audio(sampling_rate=sampling_rate))\n",
+ "\n",
+ "# load eval pipeline\n",
+ "asr = pipeline(\"automatic-speech-recognition\", model=repo_name, feature_extractor=feature_extractor)\n",
+ "\n",
+ "# map function to decode audio\n",
+ "def map_to_pred(batch):\n",
+ " prediction = asr(\n",
+ " batch[\"audio\"][\"array\"])\n",
+ "\n",
+ " batch[\"prediction\"] = prediction[\"text\"]\n",
+ " batch[\"target\"] = batch[\"sentence\"]\n",
+ " return batch\n",
+ "\n",
+ "# run inference on all examples\n",
+ "result = dataset.map(map_to_pred, remove_columns=dataset.column_names)\n",
+ "print(result[\"prediction\"])\n",
+ "\n",
+ "result[0]['target']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 49,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "\"qtod'sjn qdllhhm u'h ds\""
+ ]
+ },
+ "execution_count": 49,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "result[2]['prediction'].replace('[UNK]', '')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'Rupeatko remmiin, vai et?'"
+ ]
+ },
+ "execution_count": 50,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "result[2]['target'].replace('[UNK]', '')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "accelerator": "GPU",
+ "colab": {
+ "authorship_tag": "ABX9TyM3OaMlm9YQtKpl28c8gBBd",
+ "include_colab_link": true,
+ "name": "DebugOVHTransformers.ipynb",
+ "provenance": []
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.8"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}