Created
March 9, 2025 07:12
-
-
Save huseinzol05/e570d6ecb5fe62ccd27cf462719bcbe4 to your computer and use it in GitHub Desktop.
distributed zip files
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"id": "83272ed4", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"2222136" | |
] | |
}, | |
"execution_count": 4, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"from glob import glob\n", | |
"import os\n", | |
"\n", | |
"repository = 'mesolitica/pseudolabel-malaysian-youtube-whisper-large-v3-timestamp'\n", | |
"folder = 'output-audio'\n", | |
"files = glob(f'{folder}/*.mp3')\n", | |
"len(files)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"id": "3d83ced9", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import zipfile\n", | |
"import mp\n", | |
"import time\n", | |
"from huggingface_hub import HfFileSystem\n", | |
"from huggingface_hub import HfApi\n", | |
"from tqdm import tqdm\n", | |
"api = HfApi()\n", | |
"\n", | |
"partition_size = 5e+9" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"id": "de709a3a", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def loop(files):\n", | |
" files, index = files\n", | |
" current_index = 0\n", | |
" api = HfApi()\n", | |
" fs = HfFileSystem()\n", | |
" total = 0\n", | |
" temp = []\n", | |
" for i in tqdm(range(len(files))):\n", | |
" s = os.stat(files[i]).st_size\n", | |
" if s + total >= partition_size:\n", | |
" part_name = f\"{folder}-{index}-{current_index}.zip\"\n", | |
" \n", | |
" with zipfile.ZipFile(part_name, 'w', zipfile.ZIP_DEFLATED) as zipf:\n", | |
" for f in temp:\n", | |
" zipf.write(f, arcname=f)\n", | |
"\n", | |
" while True:\n", | |
" try:\n", | |
" api.upload_file(\n", | |
" path_or_fileobj=part_name,\n", | |
" path_in_repo=part_name,\n", | |
" repo_id=repository,\n", | |
" repo_type=\"dataset\",\n", | |
" )\n", | |
" break\n", | |
" except:\n", | |
" time.sleep(60)\n", | |
"\n", | |
" os.remove(part_name)\n", | |
" \n", | |
" current_index += 1\n", | |
" temp = [files[i]]\n", | |
" total = s\n", | |
" else:\n", | |
" temp.append(files[i])\n", | |
" total += s\n", | |
" \n", | |
" if len(temp):\n", | |
" part_name = f\"{folder}-{index}-{current_index}.zip\"\n", | |
"\n", | |
" with zipfile.ZipFile(part_name, 'w', zipfile.ZIP_DEFLATED) as zipf:\n", | |
" for f in temp:\n", | |
" zipf.write(f, arcname=f)\n", | |
"\n", | |
" while True:\n", | |
" try:\n", | |
" api.upload_file(\n", | |
" path_or_fileobj=part_name,\n", | |
" path_in_repo=part_name,\n", | |
" repo_id=repository,\n", | |
" repo_type=\"dataset\",\n", | |
" )\n", | |
" break\n", | |
" except:\n", | |
" time.sleep(60)\n", | |
"\n", | |
" os.remove(part_name)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"id": "d4efaf5d", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|███████████████████████████████████████████████████████████████████████████████| 1000/1000 [00:00<00:00, 172371.02it/s]\n" | |
] | |
}, | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "97f9290861bf4ac1ad1be838378eb598", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"output-audio-0-0.zip: 0%| | 0.00/153M [00:00<?, ?B/s]" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"loop((files[:1000], 0))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "813cf6f5", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
" 5%|████▏ | 20248/370356 [00:00<00:01, 202455.09it/s]" | |
] | |
}, | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "3c1ae58009d94ae0a41ff21c354a3e6b", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"output-audio-0-0.zip: 0%| | 0.00/4.94G [00:00<?, ?B/s]" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "26427efd0dd944a195f83d34e43855da", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"output-audio-4-0.zip: 0%| | 0.00/4.94G [00:00<?, ?B/s]" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "856ca3866217441fb251b39dac735eba", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"output-audio-1-0.zip: 0%| | 0.00/4.94G [00:00<?, ?B/s]" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "9406188d85424ee7a079c24d66b34262", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"output-audio-2-0.zip: 0%| | 0.00/4.94G [00:00<?, ?B/s]" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "f284f14e517b487cbf954e1774436a98", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"output-audio-3-0.zip: 0%| | 0.00/4.94G [00:00<?, ?B/s]" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "5b0847a698f54fa684df830dbdbdbee6", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"output-audio-5-0.zip: 0%| | 0.00/4.94G [00:00<?, ?B/s]" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
" 15%|███████████▌ | 54627/370356 [42:13<4:04:06, 21.56it/s]" | |
] | |
}, | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "cb547761fbdb4a71bb80e99a8e1527b2", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"output-audio-3-1.zip: 0%| | 0.00/4.94G [00:00<?, ?B/s]" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "1c240fff0510491692fb5c86748f5bcf", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"output-audio-0-1.zip: 0%| | 0.00/4.94G [00:00<?, ?B/s]" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "e1d08915f05f464cb65942f8dd64e158", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"output-audio-4-1.zip: 0%| | 0.00/4.94G [00:00<?, ?B/s]" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "246f0857d3b845b8a07e95bccc5f3fee", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"output-audio-1-1.zip: 0%| | 0.00/4.94G [00:00<?, ?B/s]" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "2ea03d565ad64cdab08a03a6a54f899e", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"output-audio-2-1.zip: 0%| | 0.00/4.94G [00:00<?, ?B/s]" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "c521032fde644e8d9b19e166a3ff19b0", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"output-audio-5-1.zip: 0%| | 0.00/4.94G [00:00<?, ?B/s]" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"mp.multiprocessing(files, loop, cores = 6, returned = False)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "4b2fc596", | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "python3.10", | |
"language": "python", | |
"name": "python3.10" | |
}, | |
"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.10.15" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment