প্রকল্প সম্পর্কে

Hugging Face Datasets একটি হালকা পাইথন লাইব্রেরি যা দুটি প্রধান সক্ষমতার উপর কেন্দ্রীভূত: পাবলিক ডেটাসেটের জন্য এক লাইনের ডেটালোডার, এবং দক্ষ ও পুনরুৎপাদনযোগ্য ডেটা প্রি-প্রসেসিং। ডেটা লোড করা - `load_dataset()` Hugging Face Hub বা স্থানীয় ফাইল থেকে ডেটাসেট আনে। Hub-এ ইমেজ, অডিও, টেক্সট (শত শত ভাষা ও উপভাষা), 3D মেডিকেল ইমেজিং, ভিডিও এবং AI এজেন্ট ট্রেস কভার করা একটি বড় ও ক্রমবর্ধমান ডেটাসেট সংগ্রহ রয়েছে। - সমর্থিত স্থানীয় ফরম্যাটের মধ্যে রয়েছে CSV, JSON, JSONL, Parquet, Arrow, HDF5, XML, প্লেইন টেক্সট, PNG, JPEG, WAV, MP3, PDF এবং NIfTI। - পাইথন অবজেক্ট থেকেও ডেটাসেট তৈরি করা যায়: ডিকশনারি, লিস্ট, Pandas DataFrame বা জেনারেটর। ডেটা প্রক্রিয়াকরণ - `dataset.map()` ব্যবহারকারীর ফাংশন উদাহরণে প্রয়োগ করে, ব্যাচিং এবং মাল্টি-প্রসেসিং (`num_proc`) সহ সমান্তরাল গতি বৃদ্ধির জন্য। - ফলাফল ক্যাশ করা হয়, তাই বারবার প্রক্রিয়াকরণ ধাপ পুনরায় গণনা করা হয় না। - Apache Arrow ব্যাকএন্ড জিরো-কপি, মেমরি-ম্যাপড স্টোরেজ প্রদান করে, যা ডেটাসেটকে উপলব্ধ RAM ছাড়িয়ে যেতে দেয়। - স্ট্রিমিং মোড (`streaming=True`) প্রথমে ডাউনলোড না করে চলমান অবস্থায় ডেটার উপর ইটারেট করে, যা খুব বড় বা ডিস্ক-সীমাবদ্ধ কাজের জন্য উপযোগী। আন্তঃকার্যক্ষমতা - NumPy, Pandas, Polars, Arrow, PyTorch, TensorFlow, JAX এবং Spark-এ এবং থেকে নেটিভ রূপান্তর। - সাদৃশ্য অনুসন্ধানের জন্য বিল্ট-ইন FAISS এবং Elasticsearch ইনডেক্স সাপোর্ট। - একটি `Json()` ফিচার টাইপ নমনীয় কাঠামোবদ্ধ ডেটা পরিচালনা করে। মূল ক্লাস - `Dataset`: ইন-মেমরি বা মেমরি-ম্যাপড, ইনডেক্সিং, স্লাইসিং, র‍্যান্ডম অ্যাক্সেস এবং ক্যাশিং সমর্থন করে। - `IterableDataset`: আউট-অব-কোর প্রসেসিংয়ের জন্য লেজি এবং স্ট্রিমেবল। - উভয়ই `DatasetDict` / `IterableDatasetDict`-এ মোড়ানো হয় বহু-স্প্লিট ডেটাসেট যেমন train/test/validation-এর জন্য। ইনস্টলেশন এবং অতিরিক্ত - pip (`pip install datasets`) বা conda (`conda install -c huggingface -c conda-forge datasets`) এর মাধ্যমে ইনস্টলযোগ্য। - ঐচ্ছিক অতিরিক্তগুলো অডিও, ভিশন, PDF/NIfTI এবং PyTorch, TensorFlow ও JAX-এর জন্য ফ্রেমওয়ার্ক ইন্টিগ্রেশন কভার করে। কমিউনিটি এবং পুনরুৎপাদনযোগ্যতা - প্রকল্পটি ওয়েব, পাইথন বা Git-এর মাধ্যমে Hub-এ ডেটাসেট আপলোড ও শেয়ার করার পদ্ধতি নথিভুক্ত করে। - পুনরুৎপাদনযোগ্যতার জন্য ব্যবহারকারীদের ডেটাসেট রিভিশন পিন করার জন্য উৎসাহিত করা হয়। - অবদান স্বাগত, একটি কন্ট্রিবিউটিং গাইড সহ যা ইস্যু, পুল রিকোয়েস্ট, কোড স্টাইল (Ruff), টেস্টিং এবং ডকুমেন্টেশন কভার করে। - লাইব্রেরিটি একটি EMNLP 2021 সিস্টেম ডেমোনস্ট্রেশন পেপারে বর্ণিত এবং উদ্ধৃতির জন্য সংস্করণযুক্ত Zenodo DOI রয়েছে।