{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "c9526c52", "metadata": {}, "outputs": [], "source": [ "import datasets\n", "from datasets import DatasetDict, load_dataset, load_metric" ] }, { "cell_type": "code", "execution_count": 2, "id": "663ff92e", "metadata": {}, "outputs": [], "source": [ "import re" ] }, { "cell_type": "code", "execution_count": 3, "id": "cc9f1c45", "metadata": {}, "outputs": [], "source": [ "dataset_name = \"speech-recognition-community-v2/dev_data\"\n", "dataset_config_name = \"sv\"\n", "train_split_name = \"validation\"\n", "use_auth_token = True" ] }, { "cell_type": "code", "execution_count": 4, "id": "21fd7030", "metadata": {}, "outputs": [], "source": [ "raw_datasets = DatasetDict()" ] }, { "cell_type": "code", "execution_count": 7, "id": "81a27912", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Reusing dataset public_speech (/Users/emiliomarinone/.cache/huggingface/datasets/speech-recognition-community-v2___public_speech/sv/0.0.1/cb0563153e481870405b64e5958c7737342cd74f45ec10838bb69a45e5cc6c76)\n" ] } ], "source": [ "raw_datasets[\"validation\"] = load_dataset(\n", " dataset_name,\n", " dataset_config_name,\n", " split=train_split_name,\n", " use_auth_token=use_auth_token,\n", ")" ] }, { "cell_type": "code", "execution_count": 6, "id": "7945cada", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Reusing dataset public_speech (/Users/emiliomarinone/.cache/huggingface/datasets/speech-recognition-community-v2___public_speech/sv/0.0.1/cb0563153e481870405b64e5958c7737342cd74f45ec10838bb69a45e5cc6c76)\n" ] }, { "ename": "ValueError", "evalue": "Unknown split \"test\". Should be one of ['validation'].", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "Input \u001b[0;32mIn [6]\u001b[0m, in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0m raw_datasets[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtest\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[43mload_dataset\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 2\u001b[0m \u001b[43m \u001b[49m\u001b[43mdataset_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3\u001b[0m \u001b[43m \u001b[49m\u001b[43mdataset_config_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 4\u001b[0m \u001b[43m \u001b[49m\u001b[43msplit\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtest\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 5\u001b[0m \u001b[43m \u001b[49m\u001b[43muse_auth_token\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43muse_auth_token\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 6\u001b[0m \u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/Repos/transformers/rsc-venv/lib/python3.8/site-packages/datasets/load.py:1714\u001b[0m, in \u001b[0;36mload_dataset\u001b[0;34m(path, name, data_dir, data_files, split, cache_dir, features, download_config, download_mode, ignore_verifications, keep_in_memory, save_infos, revision, use_auth_token, task, streaming, script_version, **config_kwargs)\u001b[0m\n\u001b[1;32m 1710\u001b[0m \u001b[38;5;66;03m# Build dataset for splits\u001b[39;00m\n\u001b[1;32m 1711\u001b[0m keep_in_memory \u001b[38;5;241m=\u001b[39m (\n\u001b[1;32m 1712\u001b[0m keep_in_memory \u001b[38;5;28;01mif\u001b[39;00m keep_in_memory \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01melse\u001b[39;00m is_small_dataset(builder_instance\u001b[38;5;241m.\u001b[39minfo\u001b[38;5;241m.\u001b[39mdataset_size)\n\u001b[1;32m 1713\u001b[0m )\n\u001b[0;32m-> 1714\u001b[0m ds \u001b[38;5;241m=\u001b[39m \u001b[43mbuilder_instance\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mas_dataset\u001b[49m\u001b[43m(\u001b[49m\u001b[43msplit\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msplit\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mignore_verifications\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mignore_verifications\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43min_memory\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mkeep_in_memory\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1715\u001b[0m \u001b[38;5;66;03m# Rename and cast features to match task schema\u001b[39;00m\n\u001b[1;32m 1716\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m task \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", "File \u001b[0;32m~/Repos/transformers/rsc-venv/lib/python3.8/site-packages/datasets/builder.py:763\u001b[0m, in \u001b[0;36mDatasetBuilder.as_dataset\u001b[0;34m(self, split, run_post_process, ignore_verifications, in_memory)\u001b[0m\n\u001b[1;32m 760\u001b[0m split \u001b[38;5;241m=\u001b[39m {s: s \u001b[38;5;28;01mfor\u001b[39;00m s \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39minfo\u001b[38;5;241m.\u001b[39msplits}\n\u001b[1;32m 762\u001b[0m \u001b[38;5;66;03m# Create a dataset for each of the given splits\u001b[39;00m\n\u001b[0;32m--> 763\u001b[0m datasets \u001b[38;5;241m=\u001b[39m \u001b[43mutils\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmap_nested\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 764\u001b[0m \u001b[43m \u001b[49m\u001b[43mpartial\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 765\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_build_single_dataset\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 766\u001b[0m \u001b[43m \u001b[49m\u001b[43mrun_post_process\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrun_post_process\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 767\u001b[0m \u001b[43m \u001b[49m\u001b[43mignore_verifications\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mignore_verifications\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 768\u001b[0m \u001b[43m \u001b[49m\u001b[43min_memory\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43min_memory\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 769\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 770\u001b[0m \u001b[43m \u001b[49m\u001b[43msplit\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 771\u001b[0m \u001b[43m \u001b[49m\u001b[43mmap_tuple\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 772\u001b[0m \u001b[43m \u001b[49m\u001b[43mdisable_tqdm\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 773\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 774\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(datasets, \u001b[38;5;28mdict\u001b[39m):\n\u001b[1;32m 775\u001b[0m datasets \u001b[38;5;241m=\u001b[39m DatasetDict(datasets)\n", "File \u001b[0;32m~/Repos/transformers/rsc-venv/lib/python3.8/site-packages/datasets/utils/py_utils.py:250\u001b[0m, in \u001b[0;36mmap_nested\u001b[0;34m(function, data_struct, dict_only, map_list, map_tuple, map_numpy, num_proc, types, disable_tqdm)\u001b[0m\n\u001b[1;32m 248\u001b[0m \u001b[38;5;66;03m# Singleton\u001b[39;00m\n\u001b[1;32m 249\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(data_struct, \u001b[38;5;28mdict\u001b[39m) \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(data_struct, types):\n\u001b[0;32m--> 250\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunction\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata_struct\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 252\u001b[0m disable_tqdm \u001b[38;5;241m=\u001b[39m (\n\u001b[1;32m 253\u001b[0m disable_tqdm \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mbool\u001b[39m(logging\u001b[38;5;241m.\u001b[39mget_verbosity() \u001b[38;5;241m==\u001b[39m logging\u001b[38;5;241m.\u001b[39mNOTSET) \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m utils\u001b[38;5;241m.\u001b[39mis_progress_bar_enabled()\n\u001b[1;32m 254\u001b[0m )\n\u001b[1;32m 255\u001b[0m iterable \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(data_struct\u001b[38;5;241m.\u001b[39mvalues()) \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(data_struct, \u001b[38;5;28mdict\u001b[39m) \u001b[38;5;28;01melse\u001b[39;00m data_struct\n", "File \u001b[0;32m~/Repos/transformers/rsc-venv/lib/python3.8/site-packages/datasets/builder.py:794\u001b[0m, in \u001b[0;36mDatasetBuilder._build_single_dataset\u001b[0;34m(self, split, run_post_process, ignore_verifications, in_memory)\u001b[0m\n\u001b[1;32m 791\u001b[0m split \u001b[38;5;241m=\u001b[39m Split(split)\n\u001b[1;32m 793\u001b[0m \u001b[38;5;66;03m# Build base dataset\u001b[39;00m\n\u001b[0;32m--> 794\u001b[0m ds \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_as_dataset\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 795\u001b[0m \u001b[43m \u001b[49m\u001b[43msplit\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msplit\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 796\u001b[0m \u001b[43m \u001b[49m\u001b[43min_memory\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43min_memory\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 797\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 798\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m run_post_process:\n\u001b[1;32m 799\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m resource_file_name \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_post_processing_resources(split)\u001b[38;5;241m.\u001b[39mvalues():\n", "File \u001b[0;32m~/Repos/transformers/rsc-venv/lib/python3.8/site-packages/datasets/builder.py:862\u001b[0m, in \u001b[0;36mDatasetBuilder._as_dataset\u001b[0;34m(self, split, in_memory)\u001b[0m\n\u001b[1;32m 847\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_as_dataset\u001b[39m(\u001b[38;5;28mself\u001b[39m, split: Union[ReadInstruction, Split] \u001b[38;5;241m=\u001b[39m Split\u001b[38;5;241m.\u001b[39mTRAIN, in_memory: \u001b[38;5;28mbool\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Dataset:\n\u001b[1;32m 848\u001b[0m \u001b[38;5;124;03m\"\"\"Constructs a `Dataset`.\u001b[39;00m\n\u001b[1;32m 849\u001b[0m \n\u001b[1;32m 850\u001b[0m \u001b[38;5;124;03m This is the internal implementation to overwrite called when user calls\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 859\u001b[0m \u001b[38;5;124;03m `Dataset`\u001b[39;00m\n\u001b[1;32m 860\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 862\u001b[0m dataset_kwargs \u001b[38;5;241m=\u001b[39m \u001b[43mArrowReader\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_cache_dir\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minfo\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 863\u001b[0m \u001b[43m \u001b[49m\u001b[43mname\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mname\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 864\u001b[0m \u001b[43m \u001b[49m\u001b[43minstructions\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msplit\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 865\u001b[0m \u001b[43m \u001b[49m\u001b[43msplit_infos\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minfo\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msplits\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mvalues\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 866\u001b[0m \u001b[43m \u001b[49m\u001b[43min_memory\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43min_memory\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 867\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 868\u001b[0m fingerprint \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_dataset_fingerprint(split)\n\u001b[1;32m 869\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m Dataset(fingerprint\u001b[38;5;241m=\u001b[39mfingerprint, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mdataset_kwargs)\n", "File \u001b[0;32m~/Repos/transformers/rsc-venv/lib/python3.8/site-packages/datasets/arrow_reader.py:211\u001b[0m, in \u001b[0;36mBaseReader.read\u001b[0;34m(self, name, instructions, split_infos, in_memory)\u001b[0m\n\u001b[1;32m 190\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mread\u001b[39m(\n\u001b[1;32m 191\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 192\u001b[0m name,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 195\u001b[0m in_memory\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m,\n\u001b[1;32m 196\u001b[0m ):\n\u001b[1;32m 197\u001b[0m \u001b[38;5;124;03m\"\"\"Returns Dataset instance(s).\u001b[39;00m\n\u001b[1;32m 198\u001b[0m \n\u001b[1;32m 199\u001b[0m \u001b[38;5;124;03m Args:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 208\u001b[0m \u001b[38;5;124;03m kwargs to build a single Dataset instance.\u001b[39;00m\n\u001b[1;32m 209\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 211\u001b[0m files \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_file_instructions\u001b[49m\u001b[43m(\u001b[49m\u001b[43mname\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minstructions\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msplit_infos\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 212\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m files:\n\u001b[1;32m 213\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mInstruction \u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00minstructions\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m corresponds to no data!\u001b[39m\u001b[38;5;124m'\u001b[39m\n", "File \u001b[0;32m~/Repos/transformers/rsc-venv/lib/python3.8/site-packages/datasets/arrow_reader.py:184\u001b[0m, in \u001b[0;36mBaseReader.get_file_instructions\u001b[0;34m(self, name, instruction, split_infos)\u001b[0m\n\u001b[1;32m 182\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mget_file_instructions\u001b[39m(\u001b[38;5;28mself\u001b[39m, name, instruction, split_infos):\n\u001b[1;32m 183\u001b[0m \u001b[38;5;124;03m\"\"\"Return list of dict {'filename': str, 'skip': int, 'take': int}\"\"\"\u001b[39;00m\n\u001b[0;32m--> 184\u001b[0m file_instructions \u001b[38;5;241m=\u001b[39m \u001b[43mmake_file_instructions\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 185\u001b[0m \u001b[43m \u001b[49m\u001b[43mname\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msplit_infos\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minstruction\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfiletype_suffix\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_filetype_suffix\u001b[49m\n\u001b[1;32m 186\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 187\u001b[0m files \u001b[38;5;241m=\u001b[39m file_instructions\u001b[38;5;241m.\u001b[39mfile_instructions\n\u001b[1;32m 188\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m files\n", "File \u001b[0;32m~/Repos/transformers/rsc-venv/lib/python3.8/site-packages/datasets/arrow_reader.py:107\u001b[0m, in \u001b[0;36mmake_file_instructions\u001b[0;34m(name, split_infos, instruction, filetype_suffix)\u001b[0m\n\u001b[1;32m 105\u001b[0m instruction \u001b[38;5;241m=\u001b[39m ReadInstruction\u001b[38;5;241m.\u001b[39mfrom_spec(instruction)\n\u001b[1;32m 106\u001b[0m \u001b[38;5;66;03m# Create the absolute instruction (per split)\u001b[39;00m\n\u001b[0;32m--> 107\u001b[0m absolute_instructions \u001b[38;5;241m=\u001b[39m \u001b[43minstruction\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mto_absolute\u001b[49m\u001b[43m(\u001b[49m\u001b[43mname2len\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 109\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _make_file_instructions_from_absolutes(\n\u001b[1;32m 110\u001b[0m name\u001b[38;5;241m=\u001b[39mname, name2len\u001b[38;5;241m=\u001b[39mname2len, absolute_instructions\u001b[38;5;241m=\u001b[39mabsolute_instructions, filetype_suffix\u001b[38;5;241m=\u001b[39mfiletype_suffix\n\u001b[1;32m 111\u001b[0m )\n", "File \u001b[0;32m~/Repos/transformers/rsc-venv/lib/python3.8/site-packages/datasets/arrow_reader.py:618\u001b[0m, in \u001b[0;36mReadInstruction.to_absolute\u001b[0;34m(self, name2len)\u001b[0m\n\u001b[1;32m 607\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mto_absolute\u001b[39m(\u001b[38;5;28mself\u001b[39m, name2len):\n\u001b[1;32m 608\u001b[0m \u001b[38;5;124;03m\"\"\"Translate instruction into a list of absolute instructions.\u001b[39;00m\n\u001b[1;32m 609\u001b[0m \n\u001b[1;32m 610\u001b[0m \u001b[38;5;124;03m Those absolute instructions are then to be added together.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 616\u001b[0m \u001b[38;5;124;03m list of _AbsoluteInstruction instances (corresponds to the + in spec).\u001b[39;00m\n\u001b[1;32m 617\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 618\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m [_rel_to_abs_instr(rel_instr, name2len) \u001b[38;5;28;01mfor\u001b[39;00m rel_instr \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_relative_instructions]\n", "File \u001b[0;32m~/Repos/transformers/rsc-venv/lib/python3.8/site-packages/datasets/arrow_reader.py:618\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 607\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mto_absolute\u001b[39m(\u001b[38;5;28mself\u001b[39m, name2len):\n\u001b[1;32m 608\u001b[0m \u001b[38;5;124;03m\"\"\"Translate instruction into a list of absolute instructions.\u001b[39;00m\n\u001b[1;32m 609\u001b[0m \n\u001b[1;32m 610\u001b[0m \u001b[38;5;124;03m Those absolute instructions are then to be added together.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 616\u001b[0m \u001b[38;5;124;03m list of _AbsoluteInstruction instances (corresponds to the + in spec).\u001b[39;00m\n\u001b[1;32m 617\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 618\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m [\u001b[43m_rel_to_abs_instr\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrel_instr\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mname2len\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m rel_instr \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_relative_instructions]\n", "File \u001b[0;32m~/Repos/transformers/rsc-venv/lib/python3.8/site-packages/datasets/arrow_reader.py:433\u001b[0m, in \u001b[0;36m_rel_to_abs_instr\u001b[0;34m(rel_instr, name2len)\u001b[0m\n\u001b[1;32m 431\u001b[0m split \u001b[38;5;241m=\u001b[39m rel_instr\u001b[38;5;241m.\u001b[39msplitname\n\u001b[1;32m 432\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m split \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m name2len:\n\u001b[0;32m--> 433\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mUnknown split \u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00msplit\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m. Should be one of \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mlist\u001b[39m(name2len)\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 434\u001b[0m num_examples \u001b[38;5;241m=\u001b[39m name2len[split]\n\u001b[1;32m 435\u001b[0m from_ \u001b[38;5;241m=\u001b[39m rel_instr\u001b[38;5;241m.\u001b[39mfrom_\n", "\u001b[0;31mValueError\u001b[0m: Unknown split \"test\". Should be one of ['validation']." ] } ], "source": [ "raw_datasets[\"test\"] = load_dataset(\n", " dataset_name,\n", " dataset_config_name,\n", " split=\"test\",\n", " use_auth_token=use_auth_token,\n", ")" ] }, { "cell_type": "code", "execution_count": 36, "id": "c98cb649", "metadata": {}, "outputs": [], "source": [ "training_data = raw_datasets[\"train\"]" ] }, { "cell_type": "code", "execution_count": 10, "id": "1aead6a1", "metadata": {}, "outputs": [], "source": [ "test_data = raw_datasets[\"test\"]" ] }, { "cell_type": "code", "execution_count": 37, "id": "97e9a626", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Dataset({\n", " features: ['client_id', 'path', 'audio', 'sentence', 'up_votes', 'down_votes', 'age', 'gender', 'accent', 'locale', 'segment'],\n", " num_rows: 11030\n", "})" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "training_data" ] }, { "cell_type": "code", "execution_count": 18, "id": "fc794e39", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Dataset({\n", " features: ['client_id', 'path', 'audio', 'sentence', 'up_votes', 'down_votes', 'age', 'gender', 'accent', 'locale', 'segment'],\n", " num_rows: 4620\n", "})" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_data" ] }, { "cell_type": "code", "execution_count": 23, "id": "406af02e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "datasets.arrow_dataset.Dataset" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(test_data)" ] }, { "cell_type": "code", "execution_count": 21, "id": "8cc0fa51", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'cv-corpus-7.0-2021-07-21/sv-SE/clips/common_voice_sv-SE_18711293.mp3'" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_data[0][\"path\"]" ] }, { "cell_type": "code", "execution_count": 31, "id": "31b328fd", "metadata": {}, "outputs": [], "source": [ "train_speakers_dict = {}\n", "for record in training_data:\n", " try:\n", " speakers_dict[record[\"client_id\"]].append(record[\"path\"])\n", " except:\n", " speakers_dict[record[\"client_id\"]] = [record[\"path\"]]" ] }, { "cell_type": "code", "execution_count": 32, "id": "7eba5861", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(f\"Speakers in training set: {train_speakers_dict}\")" ] }, { "cell_type": "code", "execution_count": 38, "id": "17905c39", "metadata": {}, "outputs": [], "source": [ "test_speakers_dict = {}\n", "for record in test_data:\n", " try:\n", " speakers_dict[record[\"client_id\"]].append(record[\"path\"])\n", " except:\n", " speakers_dict[record[\"client_id\"]] = [record[\"path\"]]" ] }, { "cell_type": "code", "execution_count": 43, "id": "25a25454", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "24" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(f\"Speakers in test set: {test_speakers_dict}\")" ] }, { "cell_type": "code", "execution_count": 42, "id": "f72bdb7a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Speakers in both training and test sets: 0\n" ] } ], "source": [ "c = 0\n", "for speaker in test_speakers_dict:\n", " if speaker in train_speakers_dict:\n", " c+=1\n", "print(f\"Speakers in both training and test sets: {c}\")" ] }, { "cell_type": "code", "execution_count": 45, "id": "ed6bc20b", "metadata": {}, "outputs": [], "source": [ "chars_to_ignore_regex = '[,?.!\\-\\;\\:\"“%‘”�—’…–]'\n", "def clean_text(text):\n", " return re.sub(chars_to_ignore_regex, \"\", text.lower())" ] }, { "cell_type": "code", "execution_count": 51, "id": "16b289be", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Avg tokens training data: 7.243336355394379\n" ] } ], "source": [ "num_tokens_train = 0\n", "for record in training_data:\n", " num_tokens_train += len(clean_text(record[\"sentence\"]).split())\n", "avg_tokens_train = num_tokens_train / training_data.num_rows\n", "print(f\"Avg tokens training data: {avg_tokens_train}\")" ] }, { "cell_type": "code", "execution_count": 52, "id": "364aff29", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Avg tokens training data: 7.074891774891775\n" ] } ], "source": [ "num_tokens_test = 0\n", "for record in test_data:\n", " num_tokens_test += len(clean_text(record[\"sentence\"]).split())\n", "avg_tokens_test = num_tokens_test / test_data.num_rows\n", "print(f\"Avg tokens training data: {avg_tokens_test}\")" ] }, { "cell_type": "code", "execution_count": 19, "id": "4f906c9c", "metadata": {}, "outputs": [], "source": [ "text = raw_datasets[\"validation\"][1][\"sentence\"]" ] }, { "cell_type": "code", "execution_count": 20, "id": "a20b3bec", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Tack så mycket\\nför den fina presentationen.\\nAtt intervjua - jag frågar, du svarar -\\ndet verkar lätt.\\nSom intervjuare har man\\notroligt mycket att slåss mot,\\nOch jag skulle vilja säga,\\nman har ju en idé om\\natt man ska få ett ärligt svar, eller hur?\\nDet sker väldigt sällan, väldigt sällan.\\nOch vad har man att slåss mot?\\nTidspress, en miljö som stör,\\nman kanske inte är överens\\nom varför man gör den här intervjun.\\nMen det som är allra svårast,\\ntycker jag, att slåss mot,\\ndet är den intervjuades bild\\nav vad han eller hon vill förmedla.\\nVilken bild vill jag ge av mig själv?\\nDet där håller vi alla på med,\\nlångt utanför intervjusituationen.\\nJag känner igen det \\nnär jag blir intervjuad.\\nJag tänker mycket på det innan,\\nåtminstone har jag gjort det.\\nDet är en liten förändring på gång.\\nHur ska jag... \\nVad är den ideala bilden av mig?\\nOch sedan så försöker jag leverera det.\\nDå blir det ju inget möte, riktigt möte.\\nJag har ju redan bestämt mig.\\nDet gör ganska många.\\nJag intervjuar nästan alltid människor\\nmed en position; med makt.\\nDe har mycket att försvara.\\nDe har inte bara sig själva\\noch sitt rykte att försvara.\\nDet kan vara ett parti,\\nde kanske kan vinna ett val,\\naffärerna ska gå bättre,\\ndet finns en organisation bakom\\nsom har ett stort intresse\\nav att det sägs exakt rätt saker.\\nSedan kan det uppstå en situation\\nnär det låter väldigt ärligt och öppet.\\nWow! Titta! Hör! Nu blev det ett möte.\\nMen det kan ju vara\\nett verk av en PR-strateg.\\n\"Nu har du var lite kylig sista tiden.\\nVi behöver lite mer verklighet,\\nlite mer värme,\\nlite mer \"riktig\" människa.\"\\nDå är det det som jag möter.\\nDet kanske händer att jag går på det.\\nFörhoppningsvis inte.\\nMen, så händer det, ibland:\\nnågra gyllene ögonblick,\\nväldigt sällan skulle jag tyvärr säga,\\natt det blir på riktigt,\\natt det är ett riktigt möte.\\nAtt det är några sekunder,\\nkanske några minuter i bästa fall,\\nsom man glömmer den där omgivningen,\\noch framförallt glömmer\\ndet man ville få ut,\\noch att man bara är, här och nu.\\nFör ungefär en månad sedan\\nsatt jag mitt emot den världsberömda\\nförfattaren Henning Mankell,\\ni TV-programmet Min Sannings studio\\ni TV-huset i Göteborg.\\nOch han satt där med sin svarta kavaj,\\noch sin svart-vita Hawaii-skjorta,\\noch sitt vita hår, som stod\\nsom en gloria runt huvudet.\\nOch ganska rödögd var han,\\npå grund av cellgiftsbehandling.\\nHan hade - han har -\\nen tumör i nacken och en i lungan.\\nMen cellgiftsbehandlingen\\nfungerar ganska bra,\\noch han kändes ändå ganska pigg.\\nOch vi pratade om hans dödsångest;\\nhan berättade om\\npanikattacker på nätterna.\\nVi pratade om hans liv i Moçambique;\\nhan bor där halva tiden.\\nVi pratade om Sofia,\\nsom han skrivit mycket böcker om.\\nSofia är lemlästad av minor efter krig.\\nSofia är ett av många, många barn,\\nni känner säkert till det här,\\nsom han verkligen har förändrat livet för.\\n\"Är du en världsförbättrare?\"\\nfrågade jag Henning.\\n\"Ja, det är jag\" sade han.\\n\"Det är klart att jag är det.\\nVi är väl här för att förbättra världen.\\nDet hoppas jag verkligen att jag är.\"\\nJag gick vidare och frågade om hans mamma,\\nsom övergav honom när han var bäbis,\\noch sedan träffade honom\\nnästa gång när han var femton,\\npå en krog i Stockholm - Brända tomten -\\nsom inte finns längre.\\nOch det första hon sade till honom var:\\n\"Kom inte nära, jag är så förkyld.\"\\nOch så tog jag sats, och frågade honom\\nom det han inte vill prata om,\\nnämligen hans egen son,\\nsom är i 35-årsåldern idag,\\nsom han har övergivit.\\nHan hade sagt till oss\\natt han inte vill prata om det,\\noch det var med bultande hjärta\\nsom jag närmade mig det här ämnet.\\nOch jag tänkte:\\n\"Gud, men vi måste ha det här.\"\\nJag och Karin, som sitter här nånstans,\\nsom är redaktör,\\nvi kände att vi måste ha\\nhela bilden av honom.\\nDet går inte, han gör så mycket gott.\\nHan är så fruktansvärt generös,\\noch han är en världsförbättrare.\\nMen det finns en annan sida av hans liv,\\noch den hör till bilden.\\nVi tecknar ju honom under en timme,\\nvi måste ha med det här.\\nDet här var naturligtvis väldigt känsligt.\\nHan skiljde sig från sonens mamma\\nnär pojken var bäbis.\\nOch sedan fortsatte Henning att leva,\\nsom om han aldrig hade fått barn.\\nHan skiljde sig från sonen också;\\ndet var inte tal om delad vårdnad.\\nHan flyttade runt i Sverige,\\noch jobbade på olika ställen\\ni olika städer på teatrar.\\nHan skrev.\\nSatsade stenhårt på karriären,\\nsom han alltid har gjort.\\nHan var inte pappa.\\nHan höll kontakt med sonen,\\nalltid, under alla år.\\nIdag har de väldigt fin kontakt.\\nMen han var ju inte med honom,\\nhan uppfostrade honom inte.\\nHan nattade honom inte,\\nläste inga godnattsagor.\\nHan gick inte på utvecklingssamtal,\\nhan hade inga tonårsgräl med honom.\\nHan var inte pappa,\\nhan var inte del av hans liv\\növer huvud taget.\\nNär jag började närma mig det här ämnet,\\nså ser jag att Henning värjer sig.\\nOch jag tänker att nu säger han:\\n\"Jag har ju sagt att jag inte vill\\nprata om det där.\"\\nMen så ser jag\\natt han står och väger, vad han ska göra.\\nOch så händer något\\nsom är ett väldigt gott tecken.\\nHans blick börjar lämna mig,\\noch vandrar iväg.\\nOch så väljer han sanningen.\\nHan väljer att gå in i det,\\noch berättar om varför det blev så.\\nOch han ångrar inte det.\\nDet är ju en skam i vårt samhälle\\natt man lämnar sitt barn.\\nSäkert ännu mer om en kvinna gör det.\\nMen han gör det, han står för det...\\nfast han vet att det inte är\\nnågon vacker bild av honom.\\nHan struntar i bilden\\nav sig själv i den stunden.\\nOch varför blev det så här?\\nVarför lyckades jag -\\nom jag har någon inverkan i det hela -\\nkomma dit för en gångs skull?\\nDen personliga kontakten\\nspelar naturligtvis roll.\\nVi hade mötts en gång tidigare.\\nHenning har ju sett mig många år.\\nHan är samhällsintresserad\\noch tittar på Aktuellt och Agenda,\\noch har förtroende för mig.\\nMen så hade vi möts en gång tidigare,\\nnär Ingmar Bergman dog.\\nHenning är Ingmar Bergmans svärson.\\nAktuellt hade en förlängd sändning.\\nJag var programledare,\\noch Henning Mankell var en av gästerna.\\noch det blev ett väldigt bra samtal.\\nVi hade tid på oss,\\nvi hade tid att prata innan,\\noch det funkade bra.\\nDet här är såklart en viktig komponent...\\nsäkert en grundförutsättning\\nvem man möter,\\nmen det räcker ju inte.\\nDet vet ju jag.\\nJag har ju suttit i den här situationen\\nså många gånger när kontakten varit bra,\\noch det har liksom inte hänt.\\nJag tror att det finns\\nen annan viktig förklaring,\\noch det är en dragning till sanningen.\\nFör att stå för den man är,\\nmed fel och brister.\\nAtt säga det där svåra,\\nsom inte ser så snyggt ut,\\nmen som är sant.\\nAtt inte gömma sig.\\nDet är väldigt befriande...\\näven om det är någonting skamligt.\\nVarför drogs han då till sanningen?\\nJag har ju ingen aning\\nom han skulle gjort det\\ntidigare eller inte.\\nMen jag kan inte låta bli\\natt tänka på två saker:\\nDet ena är att han är sjuk,\\noch att han stått öga mot öga med döden,\\noch gör det fortfarande.\\nJag har ingen erfarenhet av det.\\nJag vet inte om det har betydelse,\\nmen jag tror det.\\nJag har erfarenhet av att bli äldre,\\noch Henning närmar sig 70.\\nJag känner själv att jag är\\nså ointresserad av det ytliga.\\nOch det känner ni säker igen.\\nDet finns säkert fler som är i min ålder,\\neller om man är yngre,\\nnär man nu upptäcker det;\\natt man sänker garden och man orkar inte\\nhålla på med ytligheterna längre.\\nNu är det så här.\\nDen här är jag, och det här står jag för.\\nDe människor jag trivs bäst med idag,\\noch som jag gärna binder band till,\\när de som törs medge...\\nrevorna och sprickorna i idyllen,\\nså långt bort från Facebook-tjusiga livet\\njag bara kan komma.\\nOch jag tänker så här:\\nOm en människa som Henning Mankell,\\nsom är så beundrad och läst\\noch står för så mycket gott,\\nom han kan sitta på bästa sändningstid\\noch medge den solkiga sidan av sig själv,\\nutan att tänka på\\nhur det påverkar bokförsäljningen,\\neller vad sjutton det nu är...\\nså kanske det kan få någon annan,\\neller fler av oss,\\natt någon gång emellanåt åtminstone,\\nsäga hur det faktiskt är.\\nFör när man gör det,\\nnär man hör sig själv säga sanningar\\nom sitt eget liv och sitt eget innersta,\\nså blir det ju verkligt.\\nDå kan det ju hända saker med livet,\\ndå kan ju faktiskt samhället\\nförändra livet.\\nTack så mycket!\\n'" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "text" ] }, { "cell_type": "code", "execution_count": 12, "id": "351973b0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Collecting num2words\n", " Using cached num2words-0.5.10-py3-none-any.whl (101 kB)\n", "Collecting docopt>=0.6.2\n", " Using cached docopt-0.6.2.tar.gz (25 kB)\n", "Using legacy 'setup.py install' for docopt, since package 'wheel' is not installed.\n", "Installing collected packages: docopt, num2words\n", " Running setup.py install for docopt ... \u001b[?25ldone\n", "\u001b[?25hSuccessfully installed docopt-0.6.2 num2words-0.5.10\n", "\u001b[33mWARNING: You are using pip version 20.2.1; however, version 22.0.3 is available.\n", "You should consider upgrading via the '/Users/emiliomarinone/Repos/transformers/rsc-venv/bin/python3.8 -m pip install --upgrade pip' command.\u001b[0m\n" ] } ], "source": [ "!pip install num2words" ] }, { "cell_type": "code", "execution_count": 17, "id": "ca32b763", "metadata": {}, "outputs": [], "source": [ "import num2words" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.6" } }, "nbformat": 4, "nbformat_minor": 5 }