# الفئات الرئيسية

## DatasetInfo[[datasets.DatasetInfo]]

#### datasets.DatasetInfo[[datasets.DatasetInfo]]

```python
datasets.DatasetInfo(description: str = <factory>, citation: str = <factory>, homepage: str = <factory>, license: str = <factory>, features: typing.Optional[datasets.features.features.Features] = None, post_processed: typing.Optional[datasets.info.PostProcessedInfo] = None, supervised_keys: typing.Optional[datasets.info.SupervisedKeysData] = None, builder_name: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, version: typing.Union[str, datasets.utils.version.Version, NoneType] = None, splits: typing.Optional[datasets.splits.SplitDict] = None, download_checksums: typing.Optional[dict] = None, download_size: typing.Optional[int] = None, post_processing_size: typing.Optional[int] = None, dataset_size: typing.Optional[int] = None, size_in_bytes: typing.Optional[int] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/info.py#L92)

**المعاملات:**

description (`str`) : وصف للمجموعة البيانات.

citation (`str`) : اقتباس BibTeX للمجموعة.

homepage (`str`) : رابط إلى الصفحة الرئيسية الرسمية للمجموعة.

license (`str`) : ترخيص مجموعة البيانات. يمكن أن يكون اسم الترخيص أو فقرة تحتوي على شروط الترخيص.

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)، *اختياري*) : الميزات المستخدمة لتحديد أنواع أعمدة مجموعة البيانات.

post_processed (`PostProcessedInfo`، *اختياري*) : غير مستخدم. معلومات حول موارد المعالجة اللاحقة المحتملة لمجموعة بيانات. على سبيل المثال، يمكن أن تحتوي على معلومات حول فهرس.

supervised_keys (`SupervisedKeysData`، *اختياري*) : يحدد ميزة الإدخال والوسم للتعلم الإشرافي إذا كان ذلك ينطبق على مجموعة البيانات (موروث من TFDS).

builder_name (`str`، *اختياري*) : اسم فئة فرعية من `GeneratorBasedBuilder` المستخدمة لإنشاء مجموعة البيانات. وهو أيضًا النسخة بصيغة snake_case من اسم فئة منشئ مجموعة البيانات.

config_name (`str`، *اختياري*) : اسم الإعداد المشتق من [BuilderConfig](/docs/datasets/v5.2.0/ar/package_reference/builder_classes#datasets.BuilderConfig).

version (`str` أو [Version](/docs/datasets/v5.2.0/ar/package_reference/builder_classes#datasets.Version)، *اختياري*) : إصدار مجموعة البيانات.

splits (`dict`، *اختياري*) : الترميز بين اسم التقسيم والميتاداتا.

download_checksums (`dict`، *اختياري*) : الترميز بين عنوان URL لتنزيل جداول التحقق من سلامة البيانات (checksums) الخاصة بالبيانات الوصفية (metadata) المقابلة.

download_size (`int`، *اختياري*) : حجم الملفات التي سيتم تنزيلها لتوليد مجموعة البيانات، بالبايت.

post_processing_size (`int`, *اختياري*) : غير مستخدم. حجم مجموعة البيانات بالبايت بعد المعالجة اللاحقة، إن وُجدت.

dataset_size (`int`، *اختياري*) : الحجم الإجمالي بالبايت لجداول Arrow الخاصة بجميع التقسيمات.

size_in_bytes (`int`، *اختياري*) : الحجم الإجمالي بالبايت لجميع الملفات المرتبطة بالبيانات (الملفات المُحمّلة + ملفات Arrow).

- ****config_kwargs** (معلمات إضافية) : معلمات إضافية تُمرَّر إلى [BuilderConfig](/docs/datasets/v5.2.0/ar/package_reference/builder_classes#datasets.BuilderConfig) وتُستخدم في [DatasetBuilder](/docs/datasets/v5.2.0/ar/package_reference/builder_classes#datasets.DatasetBuilder).

معلومات حول مجموعة بيانات.

`DatasetInfo` يوثّق مجموعات البيانات، بما في ذلك اسمها وإصدارها وميزاتها. راجع معاملات المنشئ والخصائص للحصول على قائمة كاملة.

ليست جميع الحقول معروفة عند الإنشاء وقد يتم تحديثها لاحقًا.

#### from_directory[[datasets.DatasetInfo.from_directory]]

```python
from_directory(dataset_info_dir: str, storage_options: typing.Optional[dict] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/info.py#L247)

**المعاملات:**

dataset_info_dir (`str`) : المجلد الذي يحتوي على ملف البيانات الوصفية. يجب أن يكون هذا المجلد هو المجلد الجذري لإصدار محدد من مجموعة البيانات.

storage_options (`dict`، *اختياري*) : أزواج مفاتيح/قيم تُمرَّر إلى نظام الملفات الخلفي، إن وُجد.

أنشئ [DatasetInfo](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetInfo) من ملف JSON الموجود في `dataset_info_dir`.

تحديث هذه الدالة جميع الحقول المولّدة ديناميكيًا (num_examples, hash, time of creation,...) الخاصة بـ [DatasetInfo](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetInfo).

سيؤدي هذا إلى تجاوز جميع البيانات الوصفية السابقة.

مثال:

```py
>>> from datasets import DatasetInfo
>>> ds_info = DatasetInfo.from_directory("/path/to/directory/")
```

#### write_to_directory[[datasets.DatasetInfo.write_to_directory]]

```python
write_to_directory(dataset_info_dir, pretty_print = False, storage_options: typing.Optional[dict] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/info.py#L186)

**المعاملات:**

dataset_info_dir (`str`) : المجلد الوجهة.

pretty_print (`bool`، القيمة الافتراضية `False`) : إذا كانت `True`، فسيتم تنسيق ملف JSON بشكل جميل مع مستوى مسافة بادئة قدره 4.

storage_options (`dict`، *اختياري*) : أزواج مفاتيح/قيم تُمرَّر إلى نظام الملفات الخلفي، إن وُجد.

اكتب `DatasetInfo` والرخصة (إن وُجدت) كملفات JSON في `dataset_info_dir`.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.info.write_to_directory("/path/to/directory/")
```

## مجموعة البيانات[[datasets.Dataset]]

تُنفّذ الفئة الأساسية [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset) مجموعة بيانات مدعومة بجدول Apache Arrow.

#### datasets.Dataset[[datasets.Dataset]]

```python
datasets.Dataset(arrow_table: Table, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, indices_table: typing.Optional[datasets.table.Table] = None, fingerprint: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L709)

مجموعة بيانات مدعومة بجدول Arrow.

#### add_column[[datasets.Dataset.add_column]]

```python
add_column(name: str, column: typing.Union[list, numpy.ndarray], new_fingerprint: typing.Optional[str] = None, feature: typing.Union[dict, list, tuple, datasets.features.features.Value, datasets.features.features.ClassLabel, datasets.features.translation.Translation, datasets.features.translation.TranslationVariableLanguages, datasets.features.features.LargeList, datasets.features.features.List, datasets.features.features.Array2D, datasets.features.features.Array3D, datasets.features.features.Array4D, datasets.features.features.Array5D, datasets.features.audio.Audio, datasets.features.image.Image, datasets.features.mesh.Mesh, datasets.features.video.Video, datasets.features.pdf.Pdf, datasets.features.nifti.Nifti, datasets.features.bio_sequence.BioSequence, datasets.features.bio_structure.BioStructure, NoneType] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L6284)

**المعاملات:**

name (`str`) : اسم العمود.

column (`list` أو `np.array`) : بيانات العمود المراد إضافتها.

feature (`FeatureType` أو `None`، الافتراضي هو `None`) : نوع بيانات العمود.

**يعيد:**

[مجموعة البيانات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

إضافة عمود إلى Dataset.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> more_text = ds["text"]
>>> ds = ds.add_column(name="text_2", column=more_text)
>>> ds
Dataset({
    features: ['text', 'label', 'text_2'],
    num_rows: 1066
})
```

#### add_item[[datasets.Dataset.add_item]]

```python
add_item(item: dict, new_fingerprint: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L6546)

**المعاملات:**

item (`dict`) : بيانات العنصر الذي سيتم إضافته.

**يعيد:**

[مجموعة البيانات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

إضافة عنصر إلى Dataset.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> new_review = {'label': 0, 'text': 'this movie is the absolute worst thing I have ever seen'}
>>> ds = ds.add_item(new_review)
>>> ds[-1]
{'label': 0, 'text': 'this movie is the absolute worst thing I have ever seen'}
```

#### from_file[[datasets.Dataset.from_file]]

```python
from_file(filename: str, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, indices_filename: typing.Optional[str] = None, in_memory: bool = False)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L792)

**المعاملات:**

filename (`str`) : اسم ملف مجموعة البيانات.

info (`DatasetInfo`، *اختياري*) : معلومات عن مجموعة البيانات، مثل الوصف والاستشهاد وما إلى ذلك.

split (`NamedSplit`، *اختياري*) : اسم تقسيم مجموعة البيانات.

indices_filename (`str`، *اختياري*) : أسماء ملفات الفهارس.

in_memory (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم نسخ البيانات في الذاكرة.

**يعيد:**

[مجموعة البيانات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

أنشئ كائن Dataset مدعوماً بجدول Arrow في المسار filename.

#### from_buffer[[datasets.Dataset.from_buffer]]

```python
from_buffer(buffer: Buffer, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, indices_buffer: typing.Optional[pyarrow.lib.Buffer] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L832)

**المعاملات:**

buffer (`pyarrow.Buffer`) : مخزن Arrow.

info (`DatasetInfo`، *اختياري*) : معلومات عن مجموعة البيانات، مثل الوصف والاستشهاد وما إلى ذلك.

split (`NamedSplit`، *اختياري*) : اسم تقسيم مجموعة البيانات.

indices_buffer (`pyarrow.Buffer`، *اختياري*) : مخزن Arrow للفهارس.

**يعيد:**

[مجموعة البيانات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

أنشئ كائن Dataset مدعوماً بذاكرة Arrow.

#### from_pandas[[datasets.Dataset.from_pandas]]

```python
from_pandas(df: DataFrame, features: typing.Optional[datasets.features.features.Features] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, preserve_index: typing.Optional[bool] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L864)

**المعاملات:**

df (`pandas.DataFrame`) : إطار بيانات يحتوي على مجموعة البيانات.

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)، *اختياري*) : ميزات مجموعة البيانات.

info (`DatasetInfo`، *اختياري*) : معلومات عن مجموعة البيانات، مثل الوصف والاستشهاد وما إلى ذلك.

split (`NamedSplit`، *اختياري*) : اسم تقسيم مجموعة البيانات.

preserve_index (`bool`, *اختياري*) : ما إذا كان سيتم تخزين الفهرس كعمود إضافي في مجموعة البيانات الناتجة. القيمة الافتراضية `None` ستخزّن الفهرس كعمود، باستثناء `RangeIndex` الذي يُخزَّن كبيانات وصفية فقط. استخدم `preserve_index=True` لإجباره على التخزين كعمود.

**يعيد:**

[مجموعة البيانات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

قم بتحويل `pandas.DataFrame` إلى `pyarrow.Table` لإنشاء [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset).

تُستنتج أنواع الأعمدة في جدول Arrow الناتج من أنواع البيانات (dtypes) لسلاسل `pandas.Series` داخل إطار البيانات (DataFrame). في حالة السلاسل غير الكائنية (non-object)، يُترجم نوع NumPy إلى ما يعادله في Arrow. أما في حالة `object`، فيجب تخمين نوع البيانات من خلال فحص الكائنات البرمجية (Python objects) الموجودة في هذه السلسلة.

انتبه إلى أن سلسلة من نوع `object` لا تحمل معلومات كافية دائمًا للتوصل إلى نوع Arrow ذي معنى. في حال تعذّر استنتاج النوع، على سبيل المثال لأن إطار البيانات طوله 0 أو لأن السلسلة تحتوي فقط على كائنات `None/nan`، يتم تعيين النوع إلى `null`. يمكن تجنّب هذا السلوك من خلال إنشاء ميزات صريحة وتوريدها إلى هذه الدالة.

Important: a dataset created with from_pandas() lives in memory and therefore doesn't have an associated cache directory. This may change in the future, but in the meantime if you want to reduce memory usage you should write it back on disk and reload using e.g. save_to_disk / load_from_disk.

مثال:

```py
>>> ds = Dataset.from_pandas(df)
```

#### from_dict[[datasets.Dataset.from_dict]]

```python
from_dict(mapping: dict, features: typing.Optional[datasets.features.features.Features] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, on_mixed_types: typing.Optional[typing.Literal['use_json']] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L982)

**المعاملات:**

mapping (`Mapping`) : إسناد السلاسل النصية إلى المصفوفات أو قوائم بايثون.

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)، *اختياري*) : ميزات مجموعة البيانات.

info (`DatasetInfo`، *اختياري*) : معلومات عن مجموعة البيانات، مثل الوصف والاستشهاد وما إلى ذلك.

split (`NamedSplit`، *اختياري*) : اسم تقسيم مجموعة البيانات.

on_mixed_types (`Literal["use_json"]`، *اختياري*، القيمة الافتراضية `None`) : إذا كانت "use_json"، فاستخدم نوع Json() للحقول ذات الأنواع المختلطة، أي الحقول غير المهيكلة التي تحتوي على بيانات بدون مخطط مسبق التعريف. في هذه الحالة، يتم تعيين الحقل ذو النوع المختلط إلى Json().  وهذا يسمح بتحميل قوائم تحتوي على مزيج من النصوص/الأعداد الصحيحة/الأعداد العشرية على سبيل المثال، أو قواميس بأنواع قيم عشوائية.

**يعيد:**

[مجموعة البيانات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

تحويل `dict` إلى `pyarrow.Table` لإنشاء [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset).

Important: a dataset created with from_dict() lives in memory and therefore doesn't have an associated cache directory. This may change in the future, but in the meantime if you want to reduce memory usage you should write it back on disk and reload using e.g. save_to_disk / load_from_disk.

أمثلة:

احصل على مجموعة بيانات من قاموس يحتوي على قائمة واحدة لكل عمود:

```py
>>> ds = Dataset.from_dict({"text": ["hello there !", "general kenobi !"]})
```

مرّر الميزات لتحديد أنواع الأعمدة، على سبيل المثال لبيانات الصور:

```py
>>> features = Features({"image": Image()})
>>> ds = Dataset.from_dict({"image": ["path/to/image.png"]}, features=features)
```

تستند مجموعات البيانات إلى Arrow وهو تنسيق أعمدة، ولذلك يتوقع أن يكون لكل مثال نفس النوع والأنواع الفرعية، وأن تكون القواميس ذات نفس المفاتيح وأنواع القيم. عند تحميل مجموعة بيانات، يظهر خطأ إذا كانت الحقول ذات أنواع غير متطابقة، وتُملأ الحقول الناقصة في القواميس بقيمة None بحيث تمتلك جميع القواميس نفس المفاتيح وأنواع القيم.

لتجنّب ذلك والسماح بأنواع مختلطة دون أخطاء، يمكنك استخدام `on_mixed_types="use_json"` أو تحديد `features=` مع نوع [Json](/docs/datasets/v5.2.0/ar/package_reference/loading_methods#datasets.Json):

```py
>>> ds = Dataset.from_dict({"a": [0, "foo", {"subfield": "bar"}]})
Traceback (most recent call last):
  ...
  File "pyarrow/error.pxi", line 92, in pyarrow.lib.check_status
pyarrow.lib.ArrowInvalid: Could not convert 'foo' with type str: tried to convert to int64

>>> ds = Dataset.from_dict({"a": [0, "foo", {"subfield": "bar"}]}, on_mixed_types="use_json")
>>> ds.features
{'a': Json()}
>>> list(ds["a"])
[0, "foo", {"subfield": "bar"}]

>>> features = Features({"a": Json()})
>>> ds = Dataset.from_dict({"a": [0, "foo", {"subfield": "bar"}]}, features=features)
>>> ds.features
{'a': Json()}
>>> list(ds["a"])
[0, "foo", {"subfield": "bar"}]
```

يُفيد هذا أيضًا في حالة قوائم من القواميس ذات مفاتيح وقيم عشوائية، لتجنب ملء الحقول الناقصة بقيمة None:

```py
>>> ds = Dataset.from_dict({"a": [[{"b": 0}, {"c": 0}]]})
>>> ds.features
{'a': List({'b': Value('int64'), 'c': Value('int64')})}
>>> list(ds["a"])
[[{'b': 0, 'c': None}, {'b': None, 'c': 0}]]  # missing fields are filled with None

>>> features = Features({"a": List(Json())})
>>> ds = Dataset.from_dict({"a": [[{"b": 0}, {"c": 0}]]}, features=features)
>>> ds.features
{'a': List(Json())}
>>> list(ds["a"])
[[{'b': 0}, {'c': 0}]]  # OK

>>> ds = Dataset.from_dict({"a": [[{"b": 0}, {"c": 0}]]}, on_mixed_types="use_json")
>>> ds.features
{'a': List(Json())}
>>> list(ds["a"])
[[{'b': 0}, {'c': 0}]]  # OK
```

مثال آخر مع بيانات استدعاء الأدوات:

```py
>>> messages = [
...     {"role": "user", "content": "Turn on the living room lights and play my electronic music playlist."},
...     {"role": "assistant", "tool_calls": [
...         {"type": "function", "function": {
...             "name": "control_light",
...             "arguments": {"room": "living room", "state": "on"}
...         }},
...         {"type": "function", "function": {
...             "name": "play_music",
...             "arguments": {"playlist": "electronic"}  # mixed-type here since keys ["playlist"] and ["room", "state"] are different
...         }}]
...     },
...     {"role": "tool", "name": "control_light", "content": "The lights in the living room are now on."},
...     {"role": "tool", "name": "play_music", "content": "The music is now playing."},
...     {"role": "assistant", "content": "Done!"}
... ]
>>> ds = Dataset.from_dict({"messages": [messages]}, on_mixed_types="use_json")
>>> ds.features
{'messages': List({'role': Value('string'), 'content': Value('string'), 'tool_calls': List(Json()), 'name': Value('string')})}
>>> ds[0]["messages"][1]["tool_calls"][0]["function"]["arguments"]
{"room": "living room", "state": "on"}
```

#### from_list[[datasets.Dataset.from_list]]

```python
from_list(mapping: list, features: typing.Optional[datasets.features.features.Features] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, on_mixed_types: typing.Optional[typing.Literal['use_json']] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L1148)

**المعاملات:**

mapping (`List[dict]`) : قائمة من خرائط النصوص إلى قيم الصفوف.

features (`Features`، اختياري) : ميزات مجموعة البيانات.

info (`DatasetInfo`، اختياري) : معلومات عن مجموعة البيانات، مثل الوصف والاستشهاد وما إلى ذلك.

split (`NamedSplit`، اختياري) : اسم تقسيم مجموعة البيانات.

on_mixed_types (`Literal["use_json"]`، *اختياري*، القيمة الافتراضية `None`) : إذا كانت "use_json"، فاستخدم نوع Json() للحقول ذات الأنواع المختلطة، أي الحقول غير المهيكلة التي تحتوي على بيانات بدون مخطط مسبق التعريف. في هذه الحالة، يتم تعيين الحقل ذو النوع المختلط إلى Json().  وهذا يسمح بتحميل قوائم تحتوي على مزيج من النصوص/الأعداد الصحيحة/الأعداد العشرية على سبيل المثال، أو قواميس بأنواع قيم عشوائية.

**يعيد:**

[مجموعة البيانات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

تحويل قائمة من القواميس إلى `pyarrow.Table` لإنشاء [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)`.

لاحظ أن مفاتيح الإدخال الأول ستُستخدم لتحديد أعمدة مجموعة البيانات، بغض النظر عما يُمرر إلى features.

Important: a dataset created with from_list() lives in memory and therefore doesn't have an associated cache directory. This may change in the future, but in the meantime if you want to reduce memory usage you should write it back on disk and reload using e.g. save_to_disk / load_from_disk.

أمثلة:

احصل على مجموعة بيانات من قائمة تحتوي على الأمثلة:

```py
>>> ds = Dataset.from_list([{"text": "hello there !"}, {"text": "general kenobi !"}]})
```

مرّر الميزات لتحديد أنواع الأعمدة، على سبيل المثال لبيانات الصور:

```py
>>> features = Features({"image": Image()})
>>> ds = Dataset.from_list([{"image": "path/to/image.png"}], features=features)
```

تستند مجموعات البيانات إلى Arrow وهو تنسيق أعمدة، ولذلك يتوقع أن يكون لكل مثال نفس النوع والأنواع الفرعية، وأن تكون القواميس ذات نفس المفاتيح وأنواع القيم. عند تحميل مجموعة بيانات، يظهر خطأ إذا كانت الحقول ذات أنواع غير متطابقة، وتُملأ الحقول الناقصة في القواميس بقيمة None بحيث تمتلك جميع القواميس نفس المفاتيح وأنواع القيم.

لتجنّب ذلك والسماح بأنواع مختلطة دون أخطاء، يمكنك استخدام `on_mixed_types="use_json"` أو تحديد `features=` مع نوع [Json](/docs/datasets/v5.2.0/ar/package_reference/loading_methods#datasets.Json):

```py
>>> ds = Dataset.from_list([{"a": 0}, {"a": "foo"}, {"a": {"subfield": "bar"}}])
Traceback (most recent call last):
  ...
  File "pyarrow/error.pxi", line 92, in pyarrow.lib.check_status
pyarrow.lib.ArrowInvalid: Could not convert 'foo' with type str: tried to convert to int64

>>> ds = Dataset.from_list([{"a": 0}, {"a": "foo"}, {"a": {"subfield": "bar"}}], on_mixed_types="use_json")
>>> ds.features
{'a': Json()}
>>> list(ds["a"])
[0, "foo", {"subfield": "bar"}]

>>> features = Features({"a": Json()})
>>> ds = Dataset.from_list([{"a": 0}, {"a": "foo"}, {"a": {"subfield": "bar"}}], features=features)
>>> ds.features
{'a': Json()}
>>> list(ds["a"])
[0, "foo", {"subfield": "bar"}]
```

يُفيد هذا أيضًا في حالة قوائم من القواميس ذات مفاتيح وقيم عشوائية، لتجنب ملء الحقول الناقصة بقيمة None:

```py
>>> ds = Dataset.from_list([{"a": [{"b": 0}, {"c": 0}]}])
>>> ds.features
{'a': List({'b': Value('int64'), 'c': Value('int64')})}
>>> list(ds["a"])
[[{'b': 0, 'c': None}, {'b': None, 'c': 0}]]  # missing fields are filled with None

>>> features = Features({"a": List(Json())})
>>> ds = Dataset.from_list([{"a": [{"b": 0}, {"c": 0}]}], features=features)
>>> ds.features
{'a': List(Json())}
>>> list(ds["a"])
[[{'b': 0}, {'c': 0}]]  # OK

>>> ds = Dataset.from_list([{"a": [{"b": 0}, {"c": 0}]}], on_mixed_types="use_json")
>>> ds.features
{'a': List(Json())}
>>> list(ds["a"])
[[{'b': 0}, {'c': 0}]]  # OK
```

مثال آخر مع بيانات استدعاء الأدوات:

```py
>>> messages = [
...     {"role": "user", "content": "Turn on the living room lights and play my electronic music playlist."},
...     {"role": "assistant", "tool_calls": [
...         {"type": "function", "function": {
...             "name": "control_light",
...             "arguments": {"room": "living room", "state": "on"}
...         }},
...         {"type": "function", "function": {
...             "name": "play_music",
...             "arguments": {"playlist": "electronic"}  # mixed-type here since keys ["playlist"] and ["room", "state"] are different
...         }}]
...     },
...     {"role": "tool", "name": "control_light", "content": "The lights in the living room are now on."},
...     {"role": "tool", "name": "play_music", "content": "The music is now playing."},
...     {"role": "assistant", "content": "Done!"}
... ]
>>> ds = Dataset.from_list([{"messages": messages}], on_mixed_types="use_json")
>>> ds.features
{'messages': List({'role': Value('string'), 'content': Value('string'), 'tool_calls': List(Json()), 'name': Value('string')})}
>>> ds[0]["messages"][1]["tool_calls"][0]["function"]["arguments"]
{"room": "living room", "state": "on"}
```

#### from_generator[[datasets.Dataset.from_generator]]

```python
from_generator(generator: typing.Callable, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, gen_kwargs: typing.Optional[dict] = None, num_proc: typing.Optional[int] = None, split: NamedSplit = NamedSplit('train'), fingerprint: typing.Optional[str] = None, **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L1337)

**المعاملات:**

generator ( --`Callable`): دالة مولّدة `yields` أمثلة.

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)، *اختياري*) : ميزات مجموعة البيانات.

cache_dir (`str`، *اختياري*، القيمة الافتراضية `"~/.cache/huggingface/datasets"`) : المجلد الذي يُخزَّن فيه البيانات مؤقتًا.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم نسخ البيانات في الذاكرة.

gen_kwargs(`dict`, *اختياري*) : حُجج الكلمات المفتاحية التي سيتم تمريرها إلى الدالة القابلة للاستدعاء `generator`. يمكنك تعريف مجموعة بيانات مقسمة إلى أجزاء عن طريق تمرير قائمة الأجزاء في `gen_kwargs` وإعداد `num_proc` أكبر من 1.

num_proc (`int`، *اختياري*، القيمة الافتراضية `None`) : عدد العمليات عند تنزيل مجموعة البيانات وتوليدها محليًا. يكون هذا مفيدًا إذا كانت مجموعة البيانات مكوّنة من ملفات متعددة. يتم تعطيل المعالجة متعددة العمليات افتراضيًا. إذا كانت قيمة `num_proc` أكبر من واحد، فيجب أن تكون جميع قيم القوائم في `gen_kwargs` بنفس الطول. سيتم تقسيم هذه القيم بين استدعاءات المولّد. سيكون عدد الشرائح هو الحد الأدنى بين أقصر قائمة في `gen_kwargs` و`num_proc`.

split ([NamedSplit](/docs/datasets/v5.2.0/ar/package_reference/builder_classes#datasets.NamedSplit)، القيمة الافتراضية هي `Split.TRAIN`) : اسم الجزء الذي سيُسند إلى مجموعة البيانات.

fingerprint (`str`, *اختياري*) : بصمة تُستخدم لتوليد معرّف مجموعة البيانات. افتراضيًا، يتم توليد `fingerprint` عن طريق تجزئة دالة المولّد وجميع المعاملات، وقد يكون ذلك بطيئًا إذا كانت تستخدم كائنات كبيرة مثل نماذج الذكاء الاصطناعي.

- ****kwargs** (معلمات إضافية بالكلمات المفتاحية): معلمات بالكلمات المفتاحية تُمرَّر إلى `GeneratorConfig`.

**يعيد:**

[مجموعة البيانات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

إنشاء مجموعة بيانات من مولّد.

حمّل البيانات من المولّد، واحفظها مؤقتًا على القرص بتنسيق Arrow، ثم أعد مجموعة البيانات (Dataset) من بيانات Arrow المخزّنة على القرص عبر خرائط الذاكرة (memory-mapped).

مثال:

```py
>>> def gen():
...     yield {"text": "Good", "label": 0}
...     yield {"text": "Bad", "label": 1}
...
>>> ds = Dataset.from_generator(gen)
```

```py
>>> def gen(shards):
...     for shard in shards:
...         with open(shard) as f:
...             for line in f:
...                 yield {"line": line}
...
>>> shards = [f"data{i}.txt" for i in range(32)]
>>> ds = Dataset.from_generator(gen, gen_kwargs={"shards": shards})
```

#### data[[datasets.Dataset.data]]

```python
data()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2110)

جدول Apache Arrow الذي يدعم مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.data
MemoryMappedTable
text: string
label: int64
----
text: [["compassionately explores the seemingly irreconcilable situation between conservative christian parents and their estranged gay and lesbian children .","the soundtrack alone is worth the price of admission .","rodriguez does a splendid job of racial profiling hollywood style--casting excellent latin actors of all ages--a trend long overdue .","beneath the film's obvious determination to shock at any cost lies considerable skill and determination , backed by sheer nerve .","bielinsky is a filmmaker of impressive talent .","so beautifully acted and directed , it's clear that washington most certainly has a new career ahead of him if he so chooses .","a visual spectacle full of stunning images and effects .","a gentle and engrossing character study .","it's enough to watch huppert scheming , with her small , intelligent eyes as steady as any noir villain , and to enjoy the perfectly pitched web of tension that chabrol spins .","an engrossing portrait of uncompromising artists trying to create something original against the backdrop of a corporate music industry that only seems to care about the bottom line .",...,"ultimately , jane learns her place as a girl , softens up and loses some of the intensity that made her an interesting character to begin with .","ah-nuld's action hero days might be over .","it's clear why deuces wild , which was shot two years ago , has been gathering dust on mgm's shelf .","feels like nothing quite so much as a middle-aged moviemaker's attempt to surround himself with beautiful , half-naked women .","when the precise nature of matthew's predicament finally comes into sharp focus , the revelation fails to justify the build-up .","this picture is murder by numbers , and as easy to be bored by as your abc's , despite a few whopping shootouts .","hilarious musical comedy though stymied by accents thick as mud .","if you are into splatter movies , then you will probably have a reasonably good time with the salton sea .","a dull , simple-minded and stereotypical tale of drugs , death and mind-numbing indifference on the inner-city streets .","the feature-length stretch . . . strains the show's concept ."]]
label: [[1,1,1,1,1,1,1,1,1,1,...,0,0,0,0,0,0,0,0,0,0]]
```

#### cache_files[[datasets.Dataset.cache_files]]

```python
cache_files()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2130)

ملفات الكاش التي تحتوي على جدول Apache Arrow الذي يدعم مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.cache_files
[{'filename': '/root/.cache/huggingface/datasets/rotten_tomatoes_movie_review/default/1.0.0/40d411e45a6ce3484deed7cc15b82a53dad9a72aafd9f86f8f227134bec5ca46/rotten_tomatoes_movie_review-validation.arrow'}]
```

#### num_columns[[datasets.Dataset.num_columns]]

```python
num_columns()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2148)

عدد الأعمدة في مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.num_columns
2
```

#### num_rows[[datasets.Dataset.num_rows]]

```python
num_rows()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2163)

عدد الصفوف في مجموعة البيانات (نفس [Dataset.__len__()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.__len__)).

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.num_rows
1066
```

#### column_names[[datasets.Dataset.column_names]]

```python
column_names()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2180)

أسماء الأعمدة في مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.column_names
['text', 'label']
```

#### الشكل[[datasets.Dataset.shape]]

```python
shape()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2195)

شكل مجموعة البيانات (عدد الأعمدة، عدد الصفوف).

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.shape
(1066, 2)
```

#### فريد[[datasets.Dataset.unique]]

```python
unique(column: str)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2212)

**المعاملات:**

column (`str`) : اسم العمود (قائمة بجميع أسماء الأعمدة باستخدام [column_names](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.column_names)).

**يعيد:** `list`

قائمة العناصر الفريدة في العمود المحدد.

إرجاع قائمة بالعناصر الفريدة في عمود.

يتم تنفيذ ذلك في الخلفية منخفضة المستوى، ولذلك فهو سريع للغاية.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.unique('label')
[1, 0]
```

#### flatten[[datasets.Dataset.flatten]]

```python
flatten(new_fingerprint: typing.Optional[str] = None, max_depth = 16)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2318)

**المعاملات:**

new_fingerprint (`str`, *اختياري*) : البصمة الجديدة للبيانات بعد التحويل. إذا كانت `None`، تُحسب البصمة الجديدة باستخدام تجزئة (hash) للبصمة السابقة، وحوافز التحويل.

**يعيد:** [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

نسخة من مجموعة البيانات مع أعمدة مسطحة.

Flatten الجدول. يتم تسطيح كل عمود من نوع struct إلى عمود واحد لكل حقل من حقول struct. تبقى الأعمدة الأخرى دون تغيير.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("rajpurkar/squad", split="train")
>>> ds.features
{'id': Value('string'),
 'title': Value('string'),
 'context': Value('string'),
 'question': Value('string'),
 'answers': {'text': List(Value('string')),
 'answer_start': List(Value('int32'))}}
>>> ds = ds.flatten()
>>> ds
Dataset({
    features: ['id', 'title', 'context', 'question', 'answers.text', 'answers.answer_start'],
    num_rows: 87599
})
```

#### cast[[datasets.Dataset.cast]]

```python
cast(features: Features, batch_size: typing.Optional[int] = 1000, keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000, num_proc: typing.Optional[int] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2365)

**المعاملات:**

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)) : الميزات الجديدة التي سيتم تحويل مجموعة البيانات إليها. يجب أن تتطابق أسماء الحقول في الميزات مع أسماء الأعمدة الحالية. كما يجب أن يكون نوع البيانات قابلاً للتحويل من نوع إلى آخر. بالنسبة للتحويلات غير البديهية، مثل `str` <-> `ClassLabel`، يجب عليك استخدام [map()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.map) لتحديث مجموعة البيانات.

batch_size (`int`، القيمة الافتراضية `1000`) : عدد الأمثلة في كل دفعة تُقدَّم إلى cast. إذا كان `batch_size <= 0` أو `batch_size == None`، فتمنح مجموعة البيانات الكاملة كدفعة واحدة إلى cast.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم نسخ البيانات في الذاكرة.

load_from_cache_file (`bool`، القيمة الافتراضية هي `True` إذا كان التخزين المؤقت مفعلاً): إذا أمكن تحديد ملف تخزين مؤقت يحفظ الحساب الحالي من `function`، فاستخدمه بدلاً من إعادة الحساب.

cache_file_name (`str`، *اختياري*، القيمة الافتراضية `None`) : يحدد اسم المسار لملف التخزين المؤقت. يُستخدم لتخزين نتائج الحساب بدلاً من اسم ملف التخزين المؤقت المولّد تلقائيًا.

writer_batch_size (`int`، القيمة الافتراضية `1000`) : عدد الصفوف لكل عملية كتابة في كاتب ملف الكاش. تُعد هذه القيمة توازنًا جيدًا بين استهلاك الذاكرة أثناء المعالجة وسرعة المعالجة. يؤدي رفع القيمة إلى تقليل عمليات البحث أثناء المعالجة، بينما يؤدي خفضها إلى تقليل الذاكرة المؤقتة المستهلكة أثناء تشغيل [map()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.map).

num_proc (`int`، *اختياري*، الافتراضي `None`) : عدد العمليات للمعالجة المتعددة. افتراضيًا، لا يستخدم المعالجة المتعددة.

**يعيد:** [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

نسخة من مجموعة البيانات مع الميزات المُحوَّلة.

قم بتحويل مجموعة البيانات إلى مجموعة جديدة من الميزات.

مثال:

```py
>>> from datasets import load_dataset, ClassLabel, Value
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
>>> new_features = ds.features.copy()
>>> new_features['label'] = ClassLabel(names=['bad', 'good'])
>>> new_features['text'] = Value('large_string')
>>> ds = ds.cast(new_features)
>>> ds.features
{'label': ClassLabel(names=['bad', 'good']),
 'text': Value('large_string')}
```

#### cast_column[[datasets.Dataset.cast_column]]

```python
cast_column(column: str, feature: typing.Union[dict, list, tuple, datasets.features.features.Value, datasets.features.features.ClassLabel, datasets.features.translation.Translation, datasets.features.translation.TranslationVariableLanguages, datasets.features.features.LargeList, datasets.features.features.List, datasets.features.features.Array2D, datasets.features.features.Array3D, datasets.features.features.Array4D, datasets.features.features.Array5D, datasets.features.audio.Audio, datasets.features.image.Image, datasets.features.mesh.Mesh, datasets.features.video.Video, datasets.features.pdf.Pdf, datasets.features.nifti.Nifti, datasets.features.bio_sequence.BioSequence, datasets.features.bio_structure.BioStructure], new_fingerprint: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2449)

**المعاملات:**

column (`str`) : اسم العمود.

feature (`FeatureType`) : الميزة المستهدفة.

new_fingerprint (`str`, *اختياري*) : البصمة الجديدة للبيانات بعد التحويل. إذا كانت `None`، تُحسب البصمة الجديدة باستخدام تجزئة (hash) للبصمة السابقة، وحوافز التحويل.

**يعيد:**

[مجموعة البيانات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

قم بتحويل العمود إلى ميزة للتحليل.

مثال:

```py
>>> from datasets import load_dataset, ClassLabel
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
>>> ds = ds.cast_column('label', ClassLabel(names=['bad', 'good']))
>>> ds.features
{'label': ClassLabel(names=['bad', 'good']),
 'text': Value('string')}
```

#### remove_columns[[datasets.Dataset.remove_columns]]

```python
remove_columns(column_names: typing.Union[str, list[str]], new_fingerprint: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2492)

**المعاملات:**

column_names (`Union[str, List[str]]`) : اسم العمود أو الأعمدة المراد حذفها.

new_fingerprint (`str`, *اختياري*) : البصمة الجديدة للبيانات بعد التحويل. إذا كانت `None`، تُحسب البصمة الجديدة باستخدام تجزئة (hash) للبصمة السابقة، وحوافز التحويل.

**يعيد:** [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

نسخة من كائن مجموعة البيانات دون الأعمدة المراد إزالتها.

إزالة عمود واحد أو عدة أعمدة من مجموعة البيانات والميزات المرتبطة بها.

يمكنك أيضًا إزالة عمود باستخدام [map()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.map) مع `remove_columns` لكن الطريقة الحالية لا تنسخ بيانات الأعمدة المتبقية وبالتالي فهي أسرع.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds = ds.remove_columns('label')
Dataset({
    features: ['text'],
    num_rows: 1066
})
>>> ds = ds.remove_columns(column_names=ds.column_names) # Removing all the columns returns an empty dataset with the `num_rows` property set to 0
Dataset({
    features: [],
    num_rows: 0
})
```

#### rename_column[[datasets.Dataset.rename_column]]

```python
rename_column(original_column_name: str, new_column_name: str, new_fingerprint: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2547)

**المعاملات:**

original_column_name (`str`) : اسم العمود الذي سيتم إعادة تسميته.

new_column_name (`str`) : الاسم الجديد للعمود.

new_fingerprint (`str`, *اختياري*) : البصمة الجديدة للبيانات بعد التحويل. إذا كانت `None`، تُحسب البصمة الجديدة باستخدام تجزئة (hash) للبصمة السابقة، وحوافز التحويل.

**يعيد:** [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

نسخة من مجموعة البيانات مع إعادة تسمية للعمود.

إعادة تسمية عمود في مجموعة البيانات، ونقل الميزات المرتبطة بالعمود الأصلي إلى اسم العمود الجديد.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds = ds.rename_column('label', 'label_new')
Dataset({
    features: ['text', 'label_new'],
    num_rows: 1066
})
```

#### rename_columns[[datasets.Dataset.rename_columns]]

```python
rename_columns(column_mapping: dict, new_fingerprint: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2613)

**المعاملات:**

column_mapping (`Dict[str, str]`) : تعيين للأعمدة التي سيتم إعادة تسميتها إلى أسمائها الجديدة

new_fingerprint (`str`, *اختياري*) : البصمة الجديدة للبيانات بعد التحويل. إذا كانت `None`، تُحسب البصمة الجديدة باستخدام تجزئة (hash) للبصمة السابقة، وحوافز التحويل.

**يعيد:** [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

نسخة من مجموعة البيانات مع إعادة تسمية الأعمدة

إعادة تسمية عدة أعمدة في مجموعة البيانات، ونقل الميزات المرتبطة بالأعمدة الأصلية إلى الأسماء الجديدة للأعمدة.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds = ds.rename_columns({'text': 'text_new', 'label': 'label_new'})
Dataset({
    features: ['text_new', 'label_new'],
    num_rows: 1066
})
```

#### select_columns[[datasets.Dataset.select_columns]]

```python
select_columns(column_names: typing.Union[str, list[str]], new_fingerprint: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2680)

**المعاملات:**

column_names (`Union[str, List[str]]`) : اسم العمود أو الأعمدة التي يجب الاحتفاظ بها.

new_fingerprint (`str`, *اختياري*) : البصمة الجديدة للبيانات بعد التحويل. إذا كانت `None`، تُحسب البصمة الجديدة باستخدام تجزئة (hash) للبصمة السابقة، وحوافز التحويل.

**يعيد:** [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

نسخة من كائن مجموعة البيانات تتكون فقط من الأعمدة المحددة.

حدد عمودًا واحدًا أو عدة أعمدة في مجموعة البيانات والميزات المرتبطة بها.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds = ds.select_columns(['text'])
>>> ds
Dataset({
    features: ['text'],
    num_rows: 1066
})
```

#### class_encode_column[[datasets.Dataset.class_encode_column]]

```python
class_encode_column(column: str, include_nulls: bool = False)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2243)

**المعاملات:**

column (`str`) : اسم العمود الذي سيتم تحويله (قائمة بأسماء جميع الأعمدة باستخدام [column_names](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.column_names))

include_nulls (`bool`، القيمة الافتراضية `False`) : ما إذا كان يجب تضمين القيم الفارغة في تسميات الفئات. إذا كانت `True`، فسيتم ترميز القيم الفارغة كتسمية فئة `"None"`.

يُحوّل العمود المُعطى إلى [ClassLabel](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.ClassLabel) ويحدّث الجدول.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("google/boolq", split="validation")
>>> ds.features
{'answer': Value('bool'),
 'passage': Value('string'),
 'question': Value('string')}
>>> ds = ds.class_encode_column('answer')
>>> ds.features
{'answer': ClassLabel(num_classes=2, names=['False', 'True']),
 'passage': Value('string'),
 'question': Value('string')}
```

#### __len__[[datasets.Dataset.__len__]]

```python
__len__()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2736)

عدد الصفوف في مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.__len__
<bound method Dataset.__len__ of Dataset({
    features: ['text', 'label'],
    num_rows: 1066
})>
```

#### __iter__[[datasets.Dataset.__iter__]]

```python
__iter__()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2753)

تكرار على الأمثلة.

إذا تم ضبط تنسيق باستخدام [Dataset.set_format()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.set_format) فسيتم إرجاع الصفوف بالتنسيق المحدد.

#### iter[[datasets.Dataset.iter]]

```python
iter(batch_size: int, drop_last_batch: bool = False)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2782)

**المعاملات:**

batch_size (`int`) : حجم كل دفعة (batch) تُقدَّم.

drop_last_batch (`bool`، الافتراضي *False*) : ما إذا كان يجب تجاهل الدفعة الأخيرة إذا كانت أصغر من batch_size

تكرار عبر الدفعات ذات الحجم *batch_size*.

إذا تم ضبط تنسيق باستخدام [*~datasets.Dataset.set_format*]، فسيتم إرجاع الصفوف بالتنسيق المحدد.

#### formatted_as[[datasets.Dataset.formatted_as]]

```python
formatted_as(type: typing.Optional[str] = None, columns: typing.Optional[list] = None, output_all_columns: bool = False, **format_kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2826)

**المعاملات:**

type (`str`, *اختياري*) : نوع المخرجات المختار من بين `[None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars']`. تعني `None` أن `__getitem__`` يعيد كائنات بايثون (الافتراضي).

columns (`List[str]`، *اختياري*) : الأعمدة التي سيتم تنسيقها في المخرجات. تعني `None` أن `__getitem__` يعيد جميع الأعمدة (الافتراضي).

output_all_columns (`bool`، القيمة الافتراضية `False`) : الاحتفاظ بالأعمدة غير المنسّقة أيضًا في المخرجات (ككائنات بايثون).

- ****format_kwargs** (معلمات إضافية) : معلمات إضافية تُمرَّر إلى دالة التحويل مثل `np.array` أو `torch.tensor` أو `tensorflow.ragged.constant`.

يُستخدم في عبارة `with`. اضبط صيغة إرجاع `__getitem__` (النوع والأعمدة).

#### set_format[[datasets.Dataset.set_format]]

```python
set_format(type: typing.Optional[str] = None, columns: typing.Optional[list] = None, output_all_columns: bool = False, **format_kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2858)

**المعاملات:**

type (`str`, *اختياري*) : نوع المخرجات المختار من بين `[None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars']`. تعني `None` أن `__getitem__` يعيد كائنات بايثون (الافتراضي).

columns (`List[str]`، *اختياري*) : الأعمدة التي سيتم تنسيقها في المخرجات. تعني `None` أن `__getitem__` يعيد جميع الأعمدة (الافتراضي).

output_all_columns (`bool`، القيمة الافتراضية `False`) : الاحتفاظ بالأعمدة غير المنسّقة أيضًا في المخرجات (ككائنات بايثون).

- ****format_kwargs** (معلمات إضافية) : معلمات إضافية تُمرَّر إلى دالة التحويل مثل `np.array` أو `torch.tensor` أو `tensorflow.ragged.constant`.

حدد صيغة إرجاع `__getitem__` (النوع والأعمدة). يتم تطبيق تنسيق البيانات بشكل فوري. تُستخدم صيغة `type` (مثل "numpy") لتنسيق الدفعات عند استخدام `__getitem__`. كما يمكن استخدام تحويلات مخصصة للتنسيق باستخدام [set_transform()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.set_transform).

من الممكن استدعاء [map()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.map) بعد استدعاء `set_format`. بما أن `map` قد يضيف أعمدة جديدة، فإن قائمة الأعمدة المنسّقة

يتم تحديثه. في هذه الحالة، إذا قمت بتطبيق `map` على مجموعة بيانات لإضافة عمود جديد، فسيتم تنسيق هذا العمود على النحو التالي:

```
new formatted columns = (all columns - previously unformatted columns)
```

مثال:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> ds = ds.map(lambda x: tokenizer(x['text'], truncation=True, padding=True), batched=True)
>>> ds.set_format(type='numpy', columns=['text', 'label'])
>>> ds.format
{'type': 'numpy',
'format_kwargs': {},
'columns': ['text', 'label'],
'output_all_columns': False}
```

#### set_transform[[datasets.Dataset.set_transform]]

```python
set_transform(transform: typing.Optional[typing.Callable], columns: typing.Optional[list] = None, output_all_columns: bool = False)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2966)

**المعاملات:**

transform (`Callable`، *اختياري*) : تحويل تنسيق مُعرَّف من قِبل المستخدم، يستبدل التنسيق المُعرَّف بواسطة [set_format()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.set_format). دالة التنسيق هي دالة قابلة للاستدعاء تستقبل دفعة (على شكل `dict`) كمدخل وتعيد دفعة. تُطبَّق هذه الدالة مباشرة قبل إرجاع الكائنات في `__getitem__`.

columns (`List[str]`، *اختياري*) : الأعمدة التي سيتم تنسيقها في المخرجات. إذا تم تحديدها، فإن دفعة الإدخال الخاصة بالتحويل تحتوي فقط على تلك الأعمدة.

output_all_columns (`bool`، القيمة الافتراضية `False`) : الاحتفاظ بالأعمدة غير المنسّقة أيضًا في المخرجات (ككائنات بايثون). إذا تم ضبطها على True، فسيتم الاحتفاظ بالأعمدة غير المنسّقة الأخرى مع مخرجات التحويل.

حدد صيغة إرجاع `__getitem__` باستخدام هذا التحويل. يُطبَّق التحويل على الفور على الدفعات عند استدعاء `__getitem__`. وكما هو الحال مع [set_format()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.set_format)، يمكن إعادة ضبطه باستخدام [reset_format()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.reset_format).

مثال:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> tokenizer = AutoTokenizer.from_pretrained('bert-base-uncased')
>>> def encode(batch):
...     return tokenizer(batch['text'], padding=True, truncation=True, return_tensors='pt')
>>> ds.set_transform(encode)
>>> ds[0]
{'attention_mask': tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 1, 1]),
 'input_ids': tensor([  101, 29353,  2135, 15102,  1996,  9428, 20868,  2890,  8663,  6895,
         20470,  2571,  3663,  2090,  4603,  3017,  3008,  1998,  2037, 24211,
         5637,  1998, 11690,  2336,  1012,   102]),
 'token_type_ids': tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0])}
```

#### reset_format[[datasets.Dataset.reset_format]]

```python
reset_format()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L2937)

إعادة تعيين صيغة إرجاع `__getitem__` إلى كائنات بايثون وجميع الأعمدة.

نفس `self.set_format()`

مثال:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> ds = ds.map(lambda x: tokenizer(x['text'], truncation=True, padding=True), batched=True)
>>> ds.set_format(type='numpy', columns=['input_ids', 'token_type_ids', 'attention_mask', 'label'])
>>> ds.format
{'columns': ['input_ids', 'token_type_ids', 'attention_mask', 'label'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': 'numpy'}
>>> ds.reset_format()
>>> ds.format
{'columns': ['text', 'label', 'input_ids', 'token_type_ids', 'attention_mask'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': None}
```

#### with_format[[datasets.Dataset.with_format]]

```python
with_format(type: typing.Optional[str] = None, columns: typing.Optional[list] = None, output_all_columns: bool = False, **format_kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L3009)

**المعاملات:**

type (`str`, *اختياري*) : نوع المخرجات المختار من بين `[None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars']`. تعني `None` أن `__getitem__` يعيد كائنات بايثون (الافتراضي).

columns (`List[str]`، *اختياري*) : الأعمدة التي سيتم تنسيقها في المخرجات. تعني `None` أن `__getitem__` يعيد جميع الأعمدة (الافتراضي).

output_all_columns (`bool`، القيمة الافتراضية `False`) : الاحتفاظ بالأعمدة غير المنسّقة أيضًا في المخرجات (ككائنات بايثون).

- ****format_kwargs** (معلمات إضافية) : معلمات إضافية تُمرَّر إلى دالة التحويل مثل `np.array` أو `torch.tensor` أو `tensorflow.ragged.constant`.

حدد صيغة إرجاع `__getitem__` (النوع والأعمدة). يتم تطبيق تنسيق البيانات على الفور. تُستخدم صيغة `type` (مثل "numpy") لتنسيق الدفعات عند استخدام `__getitem__`.

من الممكن أيضًا استخدام تحويلات مخصصة للتنسيق باستخدام [with_transform()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.with_transform).

على عكس [set_format()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.set_format)، تُعيد `with_format` كائن [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset) جديدًا.

مثال:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> ds = ds.map(lambda x: tokenizer(x['text'], truncation=True, padding=True), batched=True)
>>> ds.format
{'columns': ['text', 'label', 'input_ids', 'token_type_ids', 'attention_mask'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': None}
>>> ds = ds.with_format("torch")
>>> ds.format
{'columns': ['text', 'label', 'input_ids', 'token_type_ids', 'attention_mask'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': 'torch'}
>>> ds[0]
{'text': 'compassionately explores the seemingly irreconcilable situation between conservative christian parents and their estranged gay and lesbian children .',
 'label': tensor(1),
 'input_ids': tensor([  101, 18027, 16310, 16001,  1103,  9321,   178, 11604,  7235,  6617,
        1742,  2165,  2820,  1206,  6588, 22572, 12937,  1811,  2153,  1105,
        1147, 12890, 19587,  6463,  1105, 15026,  1482,   119,   102,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0]),
 'token_type_ids': tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
 'attention_mask': tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])}
```

#### with_transform[[datasets.Dataset.with_transform]]

```python
with_transform(transform: typing.Optional[typing.Callable], columns: typing.Optional[list] = None, output_all_columns: bool = False)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L3080)

**المعاملات:**

transform (`Callable`, `optional`) : User-defined formatting transform, replaces the format defined by [set_format()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.set_format). A formatting function is a callable that takes a batch (as a `dict`) as input and returns a batch. This function is applied right before returning the objects in `__getitem__`.

columns (`List[str]`، `optional`) : الأعمدة التي سيتم تنسيقها في المخرجات. إذا تم تحديدها، فإن دفعة الإدخال الخاصة بالتحويل تحتوي فقط على تلك الأعمدة.

output_all_columns (`bool`، القيمة الافتراضية `False`) : الاحتفاظ بالأعمدة غير المنسّقة أيضًا في المخرجات (ككائنات بايثون). إذا تم ضبطها على `True`، فسيتم الاحتفاظ بالأعمدة غير المنسّقة الأخرى مع مخرجات التحويل.

حدد صيغة إرجاع `__getitem__` باستخدام هذا التحويل. يُطبَّق التحويل على الفور على الدفعات عند استدعاء `__getitem__`.

كما هو الحال مع [set_format()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.set_format)، يمكن إعادة تعيين هذا باستخدام [reset_format()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.reset_format).

على عكس [set_transform()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.set_transform)، تُعيد `with_transform` كائن [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset) جديدًا.

مثال:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> def encode(example):
...     return tokenizer(example["text"], padding=True, truncation=True, return_tensors='pt')
>>> ds = ds.with_transform(encode)
>>> ds[0]
{'attention_mask': tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 1, 1, 1, 1, 1]),
 'input_ids': tensor([  101, 18027, 16310, 16001,  1103,  9321,   178, 11604,  7235,  6617,
         1742,  2165,  2820,  1206,  6588, 22572, 12937,  1811,  2153,  1105,
         1147, 12890, 19587,  6463,  1105, 15026,  1482,   119,   102]),
 'token_type_ids': tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0])}
```

#### __getitem__[[datasets.Dataset.__getitem__]]

```python
__getitem__(key)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L3156)

يمكن استخدامه لمؤشر الأعمدة (بأسماء نصية) أو الصفوف (بمؤشر صحيح أو قابل للتكرار من المؤشرات أو القيم المنطقية).

#### cleanup_cache_files[[datasets.Dataset.cleanup_cache_files]]

```python
cleanup_cache_files()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L3169)

**يعيد:** `int`

عدد الملفات المحذوفة.

قم بتنظيف جميع ملفات الكاش في مجلد كاش مجموعة البيانات، باستثناء ملف الكاش المستخدم حاليًا إن وُجد.

انتبه عند تنفيذ هذا الأمر إلى عدم وجود عملية أخرى تستخدم ملفات الكاش الأخرى في الوقت الحالي.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.cleanup_cache_files()
10
```

#### خريطة[[datasets.Dataset.map]]

```python
map(function: typing.Optional[typing.Callable] = None, with_indices: bool = False, with_rank: bool = False, input_columns: typing.Union[str, list[str], NoneType] = None, batched: bool = False, batch_size: typing.Optional[int] = 1000, drop_last_batch: bool = False, remove_columns: typing.Union[str, list[str], NoneType] = None, keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000, features: typing.Optional[datasets.features.features.Features] = None, disable_nullable: bool = False, fn_kwargs: typing.Optional[dict] = None, num_proc: typing.Optional[int] = None, suffix_template: str = '_{rank:05d}_of_{num_proc:05d}', new_fingerprint: typing.Optional[str] = None, desc: typing.Optional[str] = None, try_original_type: typing.Optional[bool] = True, on_mixed_types: typing.Optional[typing.Literal['use_json']] = 'use_json')
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L3216)

**المعاملات:**

function (`Callable`) : دالة تحمل إحدى التواقيع التالية: - `function(example: Dict[str, Any]) -> Dict[str, Any]` إذا كان `batched=False` و `with_indices=False` و `with_rank=False` - `function(example: Dict[str, Any], *extra_args) -> Dict[str, Any]` إذا كان `batched=False` و `with_indices=True` و/أو `with_rank=True` (حجة إضافية واحدة لكل منهما) - `function(batch: Dict[str, List]) -> Dict[str, List]` إذا كان `batched=True` و `with_indices=False` و `with_rank=False` - `function(batch: Dict[str, List], *extra_args) -> Dict[str, List]` إذا كان `batched=True` و `with_indices=True` و/أو `with_rank=True` (حجة إضافية واحدة لكل منهما) للاستخدام المتقدم، يمكن للدالة أيضاً أن تُرجع `pyarrow.Table`. إذا كانت الدالة غير متزامنة، فسيُنفّذ `map` دالتك بالتوازي. علاوة على ذلك، إذا لم تُرجع دالتك شيئاً (`None`)، فسيُنفّذ `map` دالتك ويُرجع مجموعة البيانات دون تغيير. إذا لم تُوفَّر دالة، فسيتم افتراض دالة الهوية: `lambda x: x`.

with_indices (`bool`، القيمة الافتراضية `False`) : تقديم فهارس أمثلة إلى `function`. لاحظ أنه في هذه الحالة يجب أن تكون التوقيع الخاص بـ `function` على النحو التالي `def function(example, idx[, rank]): ...`.

with_rank (`bool`، القيمة الافتراضية `False`) : توفير ترتيب العملية إلى `function`. لاحظ أنه في هذه الحالة يجب أن تكون التوقيع الخاص بـ `function` هو `def function(example[, idx], rank): ...`.

input_columns (`Optional[Union[str, List[str]]]`، الافتراضي `None`) : الأعمدة التي سيتم تمريرها إلى `function` كحجج موضعية. إذا كانت `None`، يتم تمرير `dict` يربط جميع الأعمدة المنسّقة كحجة واحدة.

batched (`bool`، القيمة الافتراضية `False`) : تقديم دفعة من الأمثلة إلى `function`.

batch_size (`int`، *اختياري*، القيمة الافتراضية `1000`) : عدد الأمثلة في كل دفعة تُقدَّم إلى `function` إذا كان `batched=True`. إذا كان `batch_size <= 0` أو `batch_size == None`، فسيتم تقديم مجموعة البيانات الكاملة كدفعة واحدة إلى `function`.

drop_last_batch (`bool`، القيمة الافتراضية `False`) : ما إذا كان يجب تجاهل الدفعة الأخيرة الأصغر من batch_size بدلاً من معالجتها بواسطة الدالة.

remove_columns (`Optional[Union[str, List[str]]]`، القيمة الافتراضية `None`) : إزالة مجموعة من الأعمدة أثناء تنفيذ عملية الخرائط. سيتم حذف الأعمدة قبل تحديث الأمثلة بمخرجات `function`، أي إذا كان `function` يضيف أعمدة بأسماء موجودة في `remove_columns`، فسيتم الاحتفاظ بهذه الأعمدة.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : يُبقي مجموعة البيانات في الذاكرة بدلاً من كتابتها إلى ملف مؤقت.

load_from_cache_file (`Optional[bool]`، القيمة الافتراضية هي `True` إذا كان التخزين المؤقت مفعلاً): إذا أمكن تحديد ملف تخزين مؤقت يحفظ الحساب الحالي من `function`، فاستخدمه بدلاً من إعادة الحساب.

cache_file_name (`str`، *اختياري*، القيمة الافتراضية `None`) : يحدد اسم المسار لملف التخزين المؤقت. يُستخدم لتخزين نتائج الحساب بدلاً من اسم ملف التخزين المؤقت المولّد تلقائيًا.

writer_batch_size (`int`، القيمة الافتراضية `1000`) : عدد الصفوف لكل عملية كتابة في كاتب ملف الكاش. تُعد هذه القيمة توازنًا جيدًا بين استهلاك الذاكرة أثناء المعالجة وسرعة المعالجة. يؤدي رفع القيمة إلى تقليل عدد عمليات البحث أثناء المعالجة، بينما يؤدي خفضها إلى تقليل استهلاك الذاكرة المؤقتة أثناء تشغيل `map`.

features (`Optional[datasets.Features]`، الافتراضي `None`) : استخدم ميزات محددة لتخزين ملف الكاش بدلاً من الملف المولّد تلقائيًا.

disable_nullable (`bool`، القيمة الافتراضية `False`) : يمنع القيم الفارغة (null) في الجدول.

fn_kwargs (`Dict`، *اختياري*، القيمة الافتراضية `None`) : حُجج الكلمات المفتاحية التي سيتم تمريرها إلى `function`.

num_proc (`int`, *اختياري*, القيمة الافتراضية `None`) : عدد العمليات المستخدمة للمعالجة متعددة العمليات. - إذا كانت `None` أو `0`، فلا تُستخدم المعالجة متعددة العمليات وتُنفَّذ العملية في العملية الرئيسية. - إذا كانت أكبر من `1`، تُستخدم عملية عامل واحدة أو عدة عمليات عامل لمعالجة البيانات بالتوازي. ملاحظة: يجب أن تكون الدالة المُمرَّرة إلى `map()` قابلة للتسلسل (picklable) لكي تعمل المعالجة متعددة العمليات بشكل صحيح (أي، يُفضَّل استخدام الدوال المعرَّفة في المستوى العلوي من الوحدة، وليس داخل دالة أو فئة أخرى). suffix_template (`str`): إذا تم تحديد `cache_file_name`، فسيتم إضافة هذا البادئة في نهاية الاسم الأساسي لكل ملف. القيمة الافتراضية هي `"_{rank:05d}_of_{num_proc:05d}"`. على سبيل المثال، إذا كان `cache_file_name` هو "processed.arrow"، فبالنسبة إلى `rank=1` و`num_proc=4`، سيكون الملف الناتج `"processed_00001_of_00004.arrow"` للبادئة الافتراضية.

new_fingerprint (`str`، *اختياري*، القيمة الافتراضية `None`) : البصمة الجديدة للمجموعة البيانات بعد التحويل. إذا كانت `None`، تُحسب البصمة الجديدة باستخدام تجزئة (hash) للبصمة السابقة، وحوافز التحويل.

desc (`str`، *اختياري*، القيمة الافتراضية `None`) : وصف ذو معنى ليُعرض إلى جانب شريط التقدم أثناء خرائط الأمثلة.

try_original_type (`Optional[bool]`، القيمة الافتراضية `True`) : محاولة الحفاظ على أنواع الأعمدة الأصلية (مثل int32 -> int32). اضبطها على False إذا كنت تريد دائمًا استنتاج أنواع جديدة.

on_mixed_types (`Literal["use_json"]`، *اختياري*، القيمة الافتراضية `None`) : إذا كانت "use_json"، فاستخدم نوع Json() للحقول ذات الأنواع المختلطة، أي الحقول غير المهيكلة التي تحتوي على بيانات بدون مخطط مسبق التعريف. في هذه الحالة، يتم تعيين الحقل ذو النوع المختلط إلى Json().  وهذا يسمح بتحميل قوائم تحتوي على مزيج من النصوص/الأعداد الصحيحة/الأعداد العشرية على سبيل المثال، أو قواميس بأنواع قيم عشوائية.

تطبيق دالة على جميع الأمثلة في الجدول (فرديةً أو على شكل دفعات) وتحديث الجدول. إذا كانت دالتك تُرجع عمودًا موجودًا مسبقًا، فإنها تُعيد كتابته.

يمكنك تحديد ما إذا كان ينبغي تجميع الدالة أم لا باستخدام معامل `batched`:

- إذا كانت `False`، فإن الدالة تستقبل مثالًا واحدًا ويجب أن تُرجع مثالًا واحدًا. المثال هو قاموس، مثل `{"text": "Hello there !"}`.
- إذا كان `True` و`batch_size` يساوي 1، فإن الدالة تستقبل دفعة تحتوي على مثال واحد كمدخلات، ويمكن أن تعيد دفعة تحتوي على مثال واحد أو أكثر. الدفعة هي قاموس، على سبيل المثال دفعة تحتوي على مثال واحد هي `{"text": ["Hello there !"]}`.
- إذا كان `True` و`batch_size` هو `n > 1`، فإن الدالة تستقبل دفعة من `n` أمثلة كمدخلات، ويمكن أن تعيد دفعة تحتوي على `n` أمثلة، أو على عدد عشوائي من الأمثلة. لاحظ أن الدفعة الأخيرة قد تحتوي على أقل من `n` أمثلة. الدفعة هي قاموس، على سبيل المثال، دفعة من `n` أمثلة هي `{"text": ["Hello there !"] * n}`.

إذا كانت الدالة غير متزامنة، فسيُنفّذ `map` دالتك بالتوازي، مع حد أقصى يبلغ ألف استدعاء متزامن. يُنصح باستخدام `asyncio.Semaphore` في دالتك إذا كنت ترغب في تحديد الحد الأقصى لعدد العمليات التي يمكن تنفيذها في الوقت نفسه.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> def add_prefix(example):
...     example["text"] = "Review: " + example["text"]
...     return example
>>> ds = ds.map(add_prefix)
>>> ds[0:3]["text"]
['Review: compassionately explores the seemingly irreconcilable situation between conservative christian parents and their estranged gay and lesbian children .',
 'Review: the soundtrack alone is worth the price of admission .',
 'Review: rodriguez does a splendid job of racial profiling hollywood style--casting excellent latin actors of all ages--a trend long overdue .']

# process a batch of examples
>>> ds = ds.map(lambda example: tokenizer(example["text"]), batched=True)
# set number of processors
>>> ds = ds.map(add_prefix, num_proc=4)
```

#### تصفية[[datasets.Dataset.filter]]

```python
filter(function: typing.Optional[typing.Callable] = None, with_indices: bool = False, with_rank: bool = False, input_columns: typing.Union[str, list[str], NoneType] = None, batched: bool = False, batch_size: typing.Optional[int] = 1000, keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000, fn_kwargs: typing.Optional[dict] = None, num_proc: typing.Optional[int] = None, suffix_template: str = '_{rank:05d}_of_{num_proc:05d}', new_fingerprint: typing.Optional[str] = None, desc: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L4149)

**المعاملات:**

function (`Callable`) : دالة قابلة للاستدعاء تحمل إحدى التواقيع التالية: - `function(example: Dict[str, Any]) -> bool` إذا كان `batched=False` و `with_indices=False` و `with_rank=False` - `function(example: Dict[str, Any], *extra_args) -> bool` إذا كان `batched=False` و `with_indices=True` و/أو `with_rank=True` (حجة إضافية واحدة لكل منهما) - `function(batch: Dict[str, List]) -> List[bool]` إذا كان `batched=True` و `with_indices=False` و `with_rank=False` - `function(batch: Dict[str, List], *extra_args) -> List[bool]` إذا كان `batched=True` و `with_indices=True` و/أو `with_rank=True` (حجة إضافية واحدة لكل منهما) إذا كانت الدالة غير متزامنة، فسيُنفّذ `filter` دالتك بالتوازي. إذا لم تُوفَّر دالة، فيُستخدم افتراضيًا دالة تُرجع دائمًا `True`: `lambda x: True`.

with_indices (`bool`، القيمة الافتراضية `False`) : تقديم فهارس أمثلة إلى `function`. لاحظ أنه في هذه الحالة يجب أن تكون التوقيع الخاص بـ `function` على النحو التالي `def function(example, idx[, rank]): ...`.

with_rank (`bool`، القيمة الافتراضية `False`) : توفير ترتيب العملية إلى `function`. لاحظ أنه في هذه الحالة يجب أن تكون التوقيع الخاص بـ `function` هو `def function(example[, idx], rank): ...`.

input_columns (`str` أو `List[str]`، *اختياري*) : الأعمدة التي سيتم تمريرها إلى `function` كحجج موضعية. إذا كانت `None`، يتم تمرير `dict` يربط جميع الأعمدة المنسّقة كحجة واحدة.

batched (`bool`، القيمة الافتراضية `False`) : تقديم دفعة من الأمثلة إلى `function`.

batch_size (`int`، *اختياري*، القيمة الافتراضية `1000`) : عدد الأمثلة في كل دفعة تُقدَّم إلى `function` إذا كان `batched = True`. إذا كان `batched = False`، يتم تمرير مثال واحد لكل دفعة إلى `function`. إذا كان `batch_size <= 0` أو `batch_size == None`، يتم تقديم مجموعة البيانات الكاملة كدفعة واحدة إلى `function`.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : يُبقي مجموعة البيانات في الذاكرة بدلاً من كتابتها إلى ملف مؤقت.

load_from_cache_file (`Optional[bool]`، القيمة الافتراضية هي `True` إذا كان التخزين المؤقت مفعلاً): إذا أمكن تحديد ملف تخزين مؤقت يحفظ الحساب الحالي من `function`، فاستخدمه بدلاً من إعادة الحساب.

cache_file_name (`str`، *اختياري*) : يُحدد اسم المسار لملف التخزين المؤقت. يُستخدم لتخزين نتائج الحساب بدلاً من اسم ملف التخزين المؤقت المولّد تلقائيًا.

writer_batch_size (`int`، القيمة الافتراضية `1000`) : عدد الصفوف لكل عملية كتابة في كاتب ملف الكاش. تُعد هذه القيمة توازنًا جيدًا بين استهلاك الذاكرة أثناء المعالجة وسرعة المعالجة. يؤدي رفع القيمة إلى تقليل عدد عمليات البحث أثناء المعالجة، بينما يؤدي خفضها إلى تقليل استهلاك الذاكرة المؤقتة أثناء تشغيل `map`.

fn_kwargs (`dict`، *اختياري*) : حُجج الكلمات المفتاحية التي سيتم تمريرها إلى `function`.

num_proc (`int`, *اختياري*, القيمة الافتراضية `None`) : عدد العمليات المستخدمة للمعالجة متعددة العمليات. - إذا كانت `None` أو `0`، فلا تُستخدم المعالجة متعددة العمليات وتُنفَّذ العملية في العملية الرئيسية. - إذا كانت أكبر من `1`، تُستخدم عملية عامل واحدة أو عدة عمليات عامل لمعالجة البيانات بالتوازي. ملاحظة: يجب أن تكون الدالة المُمرَّرة إلى `map()` قابلة للتسلسل (picklable) لكي تعمل المعالجة متعددة العمليات بشكل صحيح (أي، يُفضَّل استخدام الدوال المعرَّفة في المستوى العلوي من الوحدة، وليس داخل دالة أو فئة أخرى).

suffix_template (`str`) : إذا تم تحديد `cache_file_name`، فسيتم إضافة هذا البادئة في نهاية الاسم الأساسي لكل ملف. على سبيل المثال، إذا كان `cache_file_name` هو `"processed.arrow"`، فبالنسبة إلى `rank = 1` و`num_proc = 4`، سيكون الملف الناتج `"processed_00001_of_00004.arrow"` للبادئة الافتراضية (الافتراضي `_{rank:05d}_of_{num_proc:05d}`).

new_fingerprint (`str`, *اختياري*) : البصمة الجديدة للبيانات بعد التحويل. إذا كانت `None`، تُحسب البصمة الجديدة باستخدام تجزئة (hash) للبصمة السابقة، وحوافز التحويل.

desc (`str`، *اختياري*، القيمة الافتراضية `None`) : وصف ذو معنى ليُعرض إلى جانب شريط التقدم أثناء تصفية الأمثلة.

تطبيق دالة تصفية على جميع العناصر في الجدول على دفعات وتحديث الجدول بحيث تتضمن مجموعة البيانات أمثلة فقط وفقاً لدالة التصفية.

إذا كانت الدالة غير متزامنة، فسيُنفّذ `filter` دالتك بالتوازي، مع حد أقصى يبلغ ألف استدعاء متزامن (قابل للضبط). يُنصح باستخدام `asyncio.Semaphore` في دالتك إذا كنت ترغب في تحديد الحد الأقصى لعدد العمليات التي يمكن تنفيذها في الوقت نفسه.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds = ds.filter(lambda x: x["label"] == 1)
>>> ds
Dataset({
    features: ['text', 'label'],
    num_rows: 533
})
```

#### تحديد[[datasets.Dataset.select]]

```python
select(indices: Iterable, keep_in_memory: bool = False, indices_cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000, new_fingerprint: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L4376)

**المعاملات:**

indices (`range` أو `list` أو `iterable` أو `ndarray` أو `Series`) : نطاق أو قائمة أو مصفوفة أحادية البُعد من فهارس صحيحة للتفهرس. إذا كانت الفهارس تتوافق مع نطاق متصل، يتم تقطيع جدول Arrow ببساطة. ومع ذلك، فإن تمرير قائمة من الفهارس غير المتصلة يُنشئ خرائط للفهارس، وهو أمر أقل كفاءة بكثير، لكنه لا يزال أسرع من إعادة إنشاء جدول Arrow يتكون من الصفوف المطلوبة.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : الاحتفاظ بترتيب الفهارس في الذاكرة بدلاً من كتابته في ملف مؤقت.

indices_cache_file_name (`str`، *اختياري*، القيمة الافتراضية `None`) : يحدد اسم المسار لملف الكاش. يُستخدم لتخزين خرائط الفهارس بدلاً من اسم ملف الكاش المولّد تلقائيًا.

writer_batch_size (`int`، القيمة الافتراضية `1000`) : عدد الصفوف لكل عملية كتابة في كاتب ملف الكاش. تُعد هذه القيمة توازنًا جيدًا بين استهلاك الذاكرة أثناء المعالجة وسرعة المعالجة. يؤدي رفع القيمة إلى تقليل عدد عمليات البحث أثناء المعالجة، بينما يؤدي خفضها إلى تقليل استهلاك الذاكرة المؤقتة أثناء تشغيل `map`.

new_fingerprint (`str`، *اختياري*، القيمة الافتراضية `None`) : البصمة الجديدة للمجموعة البيانات بعد التحويل. إذا كانت `None`، تُحسب البصمة الجديدة باستخدام تجزئة (hash) للبصمة السابقة، وحوافز التحويل.

أنشئ مجموعة بيانات جديدة مع اختيار الصفوف وفقاً للقائمة/المصفوفة من الفهارس.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds = ds.select(range(4))
>>> ds
Dataset({
    features: ['text', 'label'],
    num_rows: 4
})
```

#### فرز[[datasets.Dataset.sort]]

```python
sort(column_names: typing.Union[str, collections.abc.Sequence[str]], reverse: typing.Union[bool, collections.abc.Sequence[bool]] = False, null_placement: str = 'at_end', keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, indices_cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000, new_fingerprint: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L4717)

**المعاملات:**

column_names (`Union[str, Sequence[str]]`) : اسم العمود أو الأعمدة التي سيتم الفرز بناءً عليها.

reverse (`Union[bool, Sequence[bool]]`، الافتراضي `False`) : إذا كان `True`، يتم الفرز حسب الترتيب التنازلي بدلاً من التصاعدي. إذا تم تقديم قيمة bool واحدة، تُطبَّق القيمة على فرز جميع أسماء الأعمدة. وإلا، يجب تقديم قائمة من قيم bool بنفس طول وترتيب column_names.

null_placement (`str`، الافتراضي `at_end`) : ضع قيم `None` في البداية إذا كان `at_start` أو `first` أو في النهاية إذا كان `at_end` أو `last`

keep_in_memory (`bool`، القيمة الافتراضية `False`) : الاحتفاظ بالفهارس المرتبة في الذاكرة بدلاً من كتابتها في ملف كاش.

load_from_cache_file (`Optional[bool]`، القيمة الافتراضية هي `True` إذا كان التخزين المؤقت مفعلاً): إذا أمكن تحديد ملف تخزين يحتوي على الفهارس المرتبة، فاستخدمه بدلاً من إعادة الحساب.

indices_cache_file_name (`str`، *اختياري*، القيمة الافتراضية `None`) : يحدد اسم المسار لملف الكاش. يُستخدم لتخزين الفهارس المرتبة بدلاً من اسم ملف الكاش المولّد تلقائيًا.

writer_batch_size (`int`، القيمة الافتراضية `1000`) : عدد الصفوف لكل عملية كتابة في كاتب ملف الكاش. القيمة الأعلى تنتج ملفات كاش أصغر، بينما القيمة الأقل تستهلك ذاكرة مؤقتة أقل.

new_fingerprint (`str`، *اختياري*، القيمة الافتراضية `None`) : البصمة الجديدة للمجموعة بعد التحويل. إذا كانت `None`، تُحسب البصمة الجديدة باستخدام تجزئة (hash) للبصمة السابقة، وحوافز التحويل

أنشئ مجموعة بيانات جديدة مرتبة وفقاً لعمود واحد أو عدة أعمدة.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset('cornell-movie-review-data/rotten_tomatoes', split='validation')
>>> ds['label'][:10]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
>>> sorted_ds = ds.sort('label')
>>> sorted_ds['label'][:10]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
>>> another_sorted_ds = ds.sort(['label', 'text'], reverse=[True, False])
>>> another_sorted_ds['label'][:10]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
```

#### shuffle[[datasets.Dataset.shuffle]]

```python
shuffle(seed: typing.Optional[int] = None, generator: typing.Optional[numpy.random._generator.Generator] = None, keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, indices_cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000, new_fingerprint: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L4845)

**المعاملات:**

seed (`int`, *اختياري*) : بذرة لتبني BitGenerator الافتراضي إذا كان `generator=None`. إذا كان `None`، فسيتم سحب إنتروبيا جديدة وغير متوقعة من نظام التشغيل. إذا تم تمرير `int` أو `array_like[ints]`، فسيتم تمريرها إلى SeedSequence لاستنتاج حالة BitGenerator الأولية.

generator (`numpy.random.Generator`، *اختياري*) : مولّد عشوائي من Numpy يُستخدم لحساب تبديل صفوف مجموعة البيانات. إذا كان `generator=None` (الافتراضي)، يُستخدم `np.random.default_rng` (مولّد البتات الافتراضي (PCG64) في NumPy).

keep_in_memory (`bool`، الافتراضي `False`) : الاحتفاظ بالفهارس المُختلطة في الذاكرة بدلاً من كتابتها في ملف مؤقت.

load_from_cache_file (`Optional[bool]`، القيمة الافتراضية هي `True` إذا كان التخزين المؤقت مفعلاً): إذا أمكن تحديد ملف تخزين يحتوي على الفهارس المُخلوطة، فاستخدمه بدلاً من إعادة الحساب.

indices_cache_file_name (`str`, *اختياري*) : يُحدد اسم المسار لملف التخزين المؤقت. يُستخدم لتخزين الفهارس المُختلطة بدلاً من اسم ملف التخزين المؤقت المُولَّد تلقائيًا.

writer_batch_size (`int`، القيمة الافتراضية `1000`) : عدد الصفوف لكل عملية كتابة في كاتب ملف الكاش. تُعد هذه القيمة توازنًا جيدًا بين استهلاك الذاكرة أثناء المعالجة وسرعة المعالجة. يؤدي رفع القيمة إلى تقليل عدد عمليات البحث أثناء المعالجة، بينما يؤدي خفضها إلى تقليل استهلاك الذاكرة المؤقتة أثناء تشغيل `map`.

new_fingerprint (`str`، *اختياري*، القيمة الافتراضية `None`) : البصمة الجديدة للمجموعة البيانات بعد التحويل. إذا كانت `None`، تُحسب البصمة الجديدة باستخدام تجزئة (hash) للبصمة السابقة، وحوافز التحويل.

أنشئ مجموعة بيانات جديدة حيث تكون الصفوف مُخلوطة.

يستخدم الخلط حاليًا مولّدات الأرقام العشوائية من numpy. يمكنك إما تقديم مولّد بتات من NumPy لاستخدامه، أو تقديم بذرة (seed) لبدء مولّد الأرقام العشوائية الافتراضي في NumPy (PCG64).

يقوم الخلط بأخذ قائمة الفهارس `[0:len(my_dataset)]` وخلطها لإنشاء تعيين للفهارس. ومع ذلك، بمجرد أن يصبح لديك تعيين للفهارس في [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)، قد يصبح الأداء أبطأ بعشر مرات. والسبب في ذلك هو وجود خطوة إضافية للحصول على فهرس الصف المطلوب قراءته باستخدام تعيين الفهارس، والأهم من ذلك أنك لم تعد تقرأ مقاطع متصلة من البيانات. لاستعادة السرعة، ستحتاج إلى إعادة كتابة مجموعة البيانات بأكملها على القرص مرة أخرى باستخدام [Dataset.flatten_indices()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.flatten_indices)، وهو ما يزيل تعيين الفهارس.

قد يستغرق ذلك وقتًا طويلاً اعتمادًا على حجم مجموعة البيانات الخاصة بك:

```python
my_dataset[0]  # fast
my_dataset = my_dataset.shuffle(seed=42)
my_dataset[0]  # up to 10x slower
my_dataset = my_dataset.flatten_indices()  # rewrite the shuffled dataset on disk as contiguous chunks of data
my_dataset[0]  # fast again
```

في هذه الحالة، نوصي بالانتقال إلى [IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset) والاستفادة من طريقة الخلط التقريبي السريع [IterableDataset.shuffle()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset.shuffle).

إنه يعيد ترتيب الشرائح فقط ويضيف مخزن خلط إلى مجموعة بياناتك، مما يحافظ على سرعة مجموعة البيانات في أفضل حالاتها:

```python
my_iterable_dataset = my_dataset.to_iterable_dataset(num_shards=128)
for example in enumerate(my_iterable_dataset):  # fast
    pass

shuffled_iterable_dataset = my_iterable_dataset.shuffle(seed=42, buffer_size=100)

for example in enumerate(shuffled_iterable_dataset):  # as fast as before
    pass
```

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds['label'][:10]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

# set a seed
>>> shuffled_ds = ds.shuffle(seed=42)
>>> shuffled_ds['label'][:10]
[1, 0, 1, 1, 0, 0, 0, 0, 0, 0]
```

#### تخطي[[datasets.Dataset.skip]]

```python
skip(n: int)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L4629)

**المعاملات:**

n (`int`) : عدد العناصر التي سيتم تجاوزها.

أنشئ [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset) جديدًا يتخطى أول `n` عناصر.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> list(ds.take(3))
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'}]
>>> ds = ds.skip(1)
>>> list(ds.take(3))
[{'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'},
 {'label': 1,
 'text': 'if you sometimes like to go to the movies to have fun , wasabi is a good place to start .'}]
```

#### take[[datasets.Dataset.take]]

```python
take(n: int)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L4691)

**المعاملات:**

n (`int`) : عدد العناصر المطلوب أخذها.

أنشئ [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset) جديدًا يحتوي على العناصر الـ`n` الأولى فقط.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> small_ds = ds.take(2)
>>> list(small_ds)
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'}]
```

#### train_test_split[[datasets.Dataset.train_test_split]]

```python
train_test_split(test_size: typing.Union[float, int, NoneType] = None, train_size: typing.Union[float, int, NoneType] = None, shuffle: bool = True, stratify_by_column: typing.Optional[str] = None, seed: typing.Optional[int] = None, generator: typing.Optional[numpy.random._generator.Generator] = None, keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, train_indices_cache_file_name: typing.Optional[str] = None, test_indices_cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000, train_new_fingerprint: typing.Optional[str] = None, test_new_fingerprint: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L4982)

**المعاملات:**

test_size (`Union[float, int, None]`، *اختياري*) : حجم مجموعة الاختبار. إذا كان `float`، فيجب أن يكون بين `0.0` و`1.0` ويمثل نسبة مجموعة البيانات التي سيتم تضمينها في مجموعة الاختبار. إذا كان `int`، فيمثل العدد المطلق لعينات الاختبار. إذا كان `None`، يتم تعيين القيمة إلى مكمّل حجم التدريب. إذا كان `train_size` أيضًا `None`، فسيتم تعيينه إلى `0.25`.

train_size (`Union[float, int, None]`، *اختياري*) : حجم الجزء التدريبي. إذا كان `float`، فيجب أن يكون بين `0.0` و`1.0` ويمثل نسبة مجموعة البيانات التي سيتم تضمينها في الجزء التدريبي. إذا كان `int`، فيمثل العدد المطلق لعينات التدريب. إذا كان `None`، يتم تعيين القيمة تلقائيًا إلى مكمّل حجم الاختبار.

shuffle (`bool`، *اختياري*، الافتراضي `True`) : ما إذا كان سيتم خلط البيانات قبل التقسيم.

stratify_by_column (`str`، *اختياري*، القيمة الافتراضية `None`) : اسم العمود الذي يحتوي على التسميات المستخدمة لتنفيذ التقسيم الطبقي للبيانات.

seed (`int`, *اختياري*) : بذرة لتبني BitGenerator الافتراضي إذا كان `generator=None`. إذا كان `None`، فسيتم سحب إنتروبيا جديدة وغير متوقعة من نظام التشغيل. إذا تم تمرير `int` أو `array_like[ints]`، فسيتم تمريرها إلى SeedSequence لاستنتاج حالة BitGenerator الأولية.

generator (`numpy.random.Generator`، *اختياري*) : مولّد عشوائي من Numpy يُستخدم لحساب تبديل صفوف مجموعة البيانات. إذا كان `generator=None` (الافتراضي)، يُستخدم `np.random.default_rng` (مولّد البتات الافتراضي (PCG64) في NumPy).

keep_in_memory (`bool`، القيمة الافتراضية `False`) : الاحتفاظ بمؤشرات التقسيمات في الذاكرة بدلاً من كتابتها في ملف مؤقت.

load_from_cache_file (`Optional[bool]`، القيمة الافتراضية هي `True` إذا كان التخزين المؤقت مفعلاً): إذا أمكن تحديد ملف تخزين يحتوي على فهارس التقسيمات، فاستخدمه بدلاً من إعادة الحساب.

train_cache_file_name (`str`, *اختياري*) : يُحدد اسم المسار لملف التخزين المؤقت. يُستخدم لتخزين فهارس مجموعة التدريب بدلاً من اسم ملف التخزين المؤقت المولّد تلقائيًا.

test_cache_file_name (`str`، *اختياري*) : يُحدد اسم المسار لملف التخزين المؤقت. يُستخدم لتخزين فهارس مجموعة الاختبار بدلاً من اسم ملف التخزين المؤقت المولّد تلقائيًا.

writer_batch_size (`int`، القيمة الافتراضية `1000`) : عدد الصفوف لكل عملية كتابة في كاتب ملف الكاش. تُعد هذه القيمة توازنًا جيدًا بين استهلاك الذاكرة أثناء المعالجة وسرعة المعالجة. يؤدي رفع القيمة إلى تقليل عدد عمليات البحث أثناء المعالجة، بينما يؤدي خفضها إلى تقليل استهلاك الذاكرة المؤقتة أثناء تشغيل `map`.

train_new_fingerprint (`str`، *اختياري*، القيمة الافتراضية `None`) : البصمة الجديدة لمجموعة التدريب بعد التحويل. إذا كانت `None`، تُحسب البصمة الجديدة باستخدام تجزئة (hash) للبصمة السابقة، وحوافز التحويل

test_new_fingerprint (`str`، *اختياري*، القيمة الافتراضية `None`) : البصمة الجديدة لمجموعة الاختبار بعد التحويل. إذا كانت `None`، تُحسب البصمة الجديدة باستخدام تجزئة (hash) للبصمة السابقة، وحوافز التحويل

تُعيد قاموسًا ([datasets.DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict)) يحتوي على فرعي تدريب واختبار عشوائيين (`train` و`test` `Dataset` splits). يتم إنشاء التقسيمات من مجموعة البيانات وفقًا لـ`test_size` و`train_size` و`shuffle`.

تتشابه هذه الطريقة مع `train_test_split` في scikit-learn.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds = ds.train_test_split(test_size=0.2, shuffle=True)
DatasetDict({
    train: Dataset({
        features: ['text', 'label'],
        num_rows: 852
    })
    test: Dataset({
        features: ['text', 'label'],
        num_rows: 214
    })
})

# set a seed
>>> ds = ds.train_test_split(test_size=0.2, seed=42)

# stratified split
>>> ds = load_dataset("stanfordnlp/imdb",split="train")
Dataset({
    features: ['text', 'label'],
    num_rows: 25000
})
>>> ds = ds.train_test_split(test_size=0.2, stratify_by_column="label")
DatasetDict({
    train: Dataset({
        features: ['text', 'label'],
        num_rows: 20000
    })
    test: Dataset({
        features: ['text', 'label'],
        num_rows: 5000
    })
})
```

#### shard[[datasets.Dataset.shard]]

```python
shard(num_shards: int, index: int, contiguous: bool = True, keep_in_memory: bool = False, indices_cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L5265)

**المعاملات:**

num_shards (`int`) : عدد الأجزاء التي سيتم تقسيم مجموعة البيانات إليها.

index (`int`) : أي شريحة يجب اختيارها وإرجاعها.

contiguous : (`bool`، القيمة الافتراضية `True`): ما إذا كان سيتم اختيار كتل متجاورة من الفهارس للتقسيمات.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : يُبقي مجموعة البيانات في الذاكرة بدلاً من كتابتها إلى ملف مؤقت.

indices_cache_file_name (`str`, *اختياري*) : يُحدد اسم المسار لملف التخزين المؤقت. يُستخدم لتخزين فهارس كل شريحة بدلاً من اسم ملف التخزين المؤقت المولّد تلقائيًا.

writer_batch_size (`int`، القيمة الافتراضية `1000`) : هذا الأمر يتعلق فقط بترتيب الفهارس. عدد الفهارس لكل عملية كتابة في كاتب ملف الكاش. تُعد هذه القيمة توازناً جيداً بين استهلاك الذاكرة أثناء المعالجة وسرعة المعالجة. القيمة الأعلى تجعل المعالجة تقوم بعدد أقل من عمليات البحث، بينما القيمة الأقل تستهلك ذاكرة مؤقتة أقل أثناء تشغيل `map`.

أعد الشريحة رقم `index` من تقسيم مجموعة البيانات إلى `num_shards` أجزاء.

يتم تقسيم البيانات بشكل حتمي. `dataset.shard(n, i)` يقسم مجموعة البيانات إلى مقاطع متجاورة، مما يتيح إعادة دمجها بسهولة بعد المعالجة. إذا كان `len(dataset) % n == l`، فإن أول `l` من مجموعات البيانات لها طول `(len(dataset) // n) + 1`، بينما تكون مجموعات البيانات المتبقية بطول `(len(dataset) // n)`. يعيد `datasets.concatenate_datasets([dset.shard(n, i) for i in range(n)])` مجموعة بيانات بنفس ترتيب الأصل.

ملاحظة: يجب أن تكون قيمة n أقل من عدد العناصر في مجموعة البيانات `len(dataset)` أو تساويه.

من ناحية أخرى، يحتوي `dataset.shard(n, i, contiguous=False)` على جميع عناصر مجموعة البيانات التي يكون فيها الباقي عند قسمة الفهرس على `n = i`.

تأكد من تقسيم البيانات إلى شرائح قبل استخدام أي عامل عشوائي (مثل `shuffle`). من الأفضل استخدام عامل التقسيم إلى شرائح في مرحلة مبكرة من خط أنابيب مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds
Dataset({
    features: ['text', 'label'],
    num_rows: 1066
})
>>> ds = ds.shard(num_shards=2, index=0)
>>> ds
Dataset({
    features: ['text', 'label'],
    num_rows: 533
})
```

#### تكرار[[datasets.Dataset.repeat]]

```python
repeat(num_times: int)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L4659)

**المعاملات:**

num_times (`int`) : عدد مرات تكرار مجموعة البيانات.

أنشئ [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset) جديدًا يكرر مجموعة البيانات الأساسية `num_times` مرات.

مثل itertools.repeat، فإن التكرار مرة واحدة يعيد مجموعة البيانات كاملة.

مثال:
```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> ds = ds.take(2).repeat(2)
>>> list(ds)
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'},
 {'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'}]
```

#### to_tf_dataset[[datasets.Dataset.to_tf_dataset]]

```python
to_tf_dataset(batch_size: typing.Optional[int] = None, columns: typing.Union[str, list[str], NoneType] = None, shuffle: bool = False, collate_fn: typing.Optional[typing.Callable] = None, drop_remainder: bool = False, collate_fn_args: typing.Optional[dict[str, typing.Any]] = None, label_cols: typing.Union[str, list[str], NoneType] = None, prefetch: bool = True, num_workers: int = 0, num_test_batches: int = 20)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L336)

**المعاملات:**

batch_size (`int`، *اختياري*) : حجم الدفعات التي سيتم تحميلها من مجموعة البيانات. القيمة الافتراضية هي `None`، مما يعني أن مجموعة البيانات لن تُقسَّم إلى دفعات، لكن يمكن تقسيم مجموعة البيانات المُعادَة لاحقًا باستخدام `tf_dataset.batch(batch_size)`.

columns (`List[str]` أو `str`، *اختياري*) : أعمدة مجموعة البيانات التي سيتم تحميلها في `tf.data.Dataset`. يمكن استخدام أسماء الأعمدة التي أنشأها `collate_fn` والتي لا توجد في مجموعة البيانات الأصلية.

shuffle(`bool`، القيمة الافتراضية `False`) : خلط ترتيب مجموعة البيانات عند التحميل. يُوصى باستخدام `True` للتدريب، و`False` للتحقق/التقييم.

drop_remainder(`bool`، القيمة الافتراضية `False`) : حذف الدفعة الأخيرة غير المكتملة عند التحميل. يضمن أن جميع الدفعات التي يولدها مجموعة البيانات ستكون بنفس الطول على بُعد الدفعة.

collate_fn(`Callable`، *اختياري*) : دالة أو كائن قابل للاستدعاء (مثل `DataCollator`) يقوم بدمج قوائم العينات في دفعة واحدة.

collate_fn_args (`Dict`، *اختياري*) : `dict` اختياري لحجج الكلمات المفتاحية التي سيتم تمريرها إلى `collate_fn`.

label_cols (`List[str]` أو `str`، الافتراضي `None`) : أعمدة مجموعة البيانات التي سيتم تحميلها كوسوم. لاحظ أن العديد من النماذج تحسب الخسارة داخليًا بدلاً من ترك ذلك لـ Keras، وفي هذه الحالة يكون تمرير الوسوم هنا اختياريًا، طالما أنها موجودة في `columns` المدخلة.

prefetch (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تشغيل مُحمِّل البيانات في خيط منفصل والحفاظ على مخزن مؤقت صغير للدفعات للتدريب. يحسّن الأداء من خلال السماح بتحميل البيانات في الخلفية بينما يجري تدريب النموذج.

num_workers (`int`، القيمة الافتراضية `0`) : عدد العمال الذين سيتم استخدامهم لتحميل مجموعة البيانات.

num_test_batches (`int`، القيمة الافتراضية `20`) : عدد الدفعات المستخدمة لاستنتاج توقيع المخرجات للمجموعة. كلما زاد هذا العدد، أصبح التوقيع أكثر دقة، لكن سيستغرق إنشاء المجموعة وقتًا أطول.

**يعيد:**

`tf.data.Dataset`

أنشئ `tf.data.Dataset` من مجموعة البيانات الأساسية. ستقوم هذه `tf.data.Dataset` بتحميل الدُفعات من مجموعة البيانات وترتيبها، وهي مناسبة للتقديم إلى طرق مثل `model.fit()` أو `model.predict()`. ستُنتج مجموعة البيانات `dicts` لكلٍّ من المدخلات والوسوم، ما لم تحتوي `dict` على مفتاح واحد فقط، وفي هذه الحالة ستُنتج `tf.Tensor` خام بدلاً من ذلك.

مثال:

```py
>>> ds_train = ds["train"].to_tf_dataset(
...    columns=['input_ids', 'token_type_ids', 'attention_mask', 'label'],
...    shuffle=True,
...    batch_size=16,
...    collate_fn=data_collator,
... )
```

#### push_to_hub[[datasets.Dataset.push_to_hub]]

```python
push_to_hub(repo_id: str, config_name: str = 'default', set_default: typing.Optional[bool] = None, split: typing.Optional[str] = None, data_dir: typing.Optional[str] = None, commit_message: typing.Optional[str] = None, commit_description: typing.Optional[str] = None, private: typing.Optional[bool] = None, token: typing.Optional[str] = None, revision: typing.Optional[str] = None, create_pr: typing.Optional[bool] = False, max_shard_size: typing.Union[str, int, NoneType] = None, num_shards: typing.Optional[int] = None, embed_external_files: bool = True, num_proc: typing.Optional[int] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L6092)

**المعاملات:**

repo_id (`str`) : معرّف المستودع الذي سيتم الدفع إليه بالصيغة التالية: `<user>/<dataset_name>` أو `<org>/<dataset_name>`. كما يقبل `<dataset_name>`، وسيتم افتراض مساحة الأسماء للمستخدم المسجّل. وقد يكون أيضًا موقعًا داخل دلو، مثل `buckets/<user_or_org>/<bucket_name>/...`

config_name (`str`، القيمة الافتراضية هي "default") : اسم التهيئة (أو الجزء الفرعي) لمجموعة البيانات. القيمة الافتراضية هي "default".

set_default (`bool`، *اختياري*) : ما إذا كان سيتم تعيين هذا الإعداد كإعداد افتراضي. وإلا، فإن الإعداد الافتراضي هو ذلك المسمى "default".

split (`str`، *اختياري*) : اسم الجزء الذي سيُمنح لذلك مجموعة البيانات. الافتراضي هو `self.split`.

data_dir (`str`, *اختياري*) : اسم المجلد الذي سيحتوي على ملفات البيانات المرفوعة. القيمة الافتراضية هي `config_name` إذا كانت مختلفة عن "default"، وإلا فهي "data".

commit_message (`str`، *اختياري*) : الرسالة التي سيتم الالتزام بها أثناء الدفع. ستكون الافتراضية `"Upload dataset"`.

commit_description (`str`، *اختياري*) : وصف للالتزام الذي سيتم إنشاؤه. بالإضافة إلى ذلك، وصف لطلب الانضمام إذا تم إنشاؤه (`create_pr` هو True).

private (`bool`، *اختياري*) : ما إذا كان سيتم جعل المستودع خاصًا. إذا كان `None` (الافتراضي)، فسيكون المستودع عامًا ما لم يكن الافتراضي الخاص بالمنظمة هو الخاص. يتم تجاهل هذه القيمة إذا كان المستودع موجودًا بالفعل.

token (`str`, *اختياري*) : رمز مصادقة اختياري لـ Hugging Face Hub. إذا لم يُمرَّر أي رمز، فسيتم افتراضيًا استخدام المحفوظ محليًا عند تسجيل الدخول باستخدام `hf auth login`. سيُطلق خطأً إذا لم يُمرَّر أي رمز ولم يكن المستخدم مسجّل الدخول.

revision (`str`، *اختياري*) : الفرع الذي سيتم دفع الملفات المرفوعة إليه. الافتراضي هو الفرع `"main"`.

create_pr (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان سيتم إنشاء طلب سحب (PR) مع الملفات المرفوعة أو الالتزام مباشرة.

max_shard_size (`int` أو `str`، *اختياري*، القيمة الافتراضية `"500MB"`) : الحد الأقصى لحجم مقاطع مجموعة البيانات التي سيتم رفعها إلى الـ hub. إذا تم التعبير عنه كنص، فيجب أن يتكون من أرقام تليها وحدة (مثل `"5MB"`).

num_shards (`int`، *اختياري*) : عدد الأجزاء التي سيتم كتابتها. افتراضيًا، يعتمد عدد الأجزاء على `max_shard_size`.

embed_external_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بايتات الملفات في الشرائح. على وجه التحديد، سيقوم هذا بما يلي قبل الدفع للحقول من النوع: - [Audio](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Audio) و [Image](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Image): إزالة معلومات المسار المحلي وتضمين محتوى الملف في ملفات Parquet.

num_proc (`int`، *اختياري*، القيمة الافتراضية `None`) : عدد العمليات عند تجهيز مجموعة البيانات ورفعها. يكون هذا مفيدًا إذا كانت مجموعة البيانات تتكون من العديد من العينات أو ملفات الوسائط التي يجب تضمينها. يستخدم سياق "spawn" للعمل مع hf_xet، وهو عميل rust للرفع السريع إلى HF. يتم تعطيل تعدد العمليات بشكل افتراضي.

**يعيد:**

huggingface_hub.CommitInfo

يدفع مجموعة البيانات إلى المستودع كمجموعة بيانات بصيغة Parquet. يتم دفع مجموعة البيانات باستخدام طلبات HTTP ولا يتطلب الأمر تثبيت git أو git-lfs.

ملفات Parquet الناتجة مكتفية ذاتياً بشكل افتراضي. إذا احتوى مجموعة البيانات الخاصة بك على بيانات [Image](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Image) أو [Audio](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Audio) أو [Video](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Video)، فستقوم ملفات Parquet بتخزين بايتات ملفات الصور أو الصوت الخاصة بك. يمكنك تعطيل ذلك عن طريق تعيين `embed_external_files` إلى `False`.

مثال:

```python
>>> dataset.push_to_hub("<organization>/<dataset_id>")
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", private=True)
>>> dataset.push_to_hub("<organization>/<dataset_id>", max_shard_size="1GB")
>>> dataset.push_to_hub("<organization>/<dataset_id>", num_shards=1024)
```

إذا كانت مجموعة بياناتك تحتوي على عدة تقسيمات (مثل التدريب/التحقق/الاختبار):

```python
>>> train_dataset.push_to_hub("<organization>/<dataset_id>", split="train")
>>> val_dataset.push_to_hub("<organization>/<dataset_id>", split="validation")
>>> # later
>>> dataset = load_dataset("<organization>/<dataset_id>")
>>> train_dataset = dataset["train"]
>>> val_dataset = dataset["validation"]
```

إذا كنت ترغب في إضافة تكوين جديد (أو مجموعة فرعية) إلى مجموعة بيانات (على سبيل المثال، إذا كانت مجموعة البيانات تحتوي على مهام/إصدارات/لغات متعددة):

```python
>>> english_dataset.push_to_hub("<organization>/<dataset_id>", "en")
>>> french_dataset.push_to_hub("<organization>/<dataset_id>", "fr")
>>> # later
>>> english_dataset = load_dataset("<organization>/<dataset_id>", "en")
>>> french_dataset = load_dataset("<organization>/<dataset_id>", "fr")
```

#### save_to_disk[[datasets.Dataset.save_to_disk]]

```python
save_to_disk(dataset_path: typing.Union[str, bytes, os.PathLike], max_shard_size: typing.Union[str, int, NoneType] = None, num_shards: typing.Optional[int] = None, num_proc: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L1781)

**المعاملات:**

dataset_path (`path-like`) : مسار (Path) (مثل `dataset/train`) أو عنوان URI عن بُعد (مثل `s3://my-bucket/dataset/train`) لمجلد مجموعة البيانات حيث سيتم حفظ مجموعة البيانات.

max_shard_size (`int` أو `str`، *اختياري*، القيمة الافتراضية `"500MB"`) : الحد الأقصى لحجم مقاطع مجموعة البيانات التي سيتم حفظها على نظام الملفات. إذا تم التعبير عنه كنص، فيجب أن يتكون من أرقام تليها وحدة (مثل `"50MB"`).

num_shards (`int`، *اختياري*) : عدد الأجزاء التي سيتم كتابتها. افتراضيًا، يعتمد عدد الأجزاء على `max_shard_size` و`num_proc`.

num_proc (`int`, *اختياري*) : عدد العمليات عند تنزيل مجموعة البيانات وتوليدها محليًا. يتم تعطيل المعالجة المتعددة للعمليات افتراضيًا.

storage_options (`dict`، *اختياري*) : أزواج مفاتيح/قيم تُمرَّر إلى نظام الملفات الخلفي، إن وُجد.

يحفظ مجموعة بيانات في دليل مجموعات البيانات، أو في نظام ملفات باستخدام أي تطبيق من تطبيقات `fsspec.spec.AbstractFileSystem`.

لبيانات [Image](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Image) و[Audio](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Audio) و[Video](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Video):

تُخزَّن جميع بيانات Image() وAudio() وVideo() في ملفات arrow. إذا كنت ترغب في تخزين المسارات أو الروابط، فالرجاء استخدام النوع Value("string").

مثال:

```py
>>> ds.save_to_disk("path/to/dataset/directory")
>>> ds.save_to_disk("path/to/dataset/directory", max_shard_size="1GB")
>>> ds.save_to_disk("path/to/dataset/directory", num_shards=1024)
```

#### load_from_disk[[datasets.Dataset.load_from_disk]]

```python
load_from_disk(dataset_path: typing.Union[str, bytes, os.PathLike], keep_in_memory: typing.Optional[bool] = None, storage_options: typing.Optional[dict] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L1989)

**المعاملات:**

dataset_path (`path-like`) : مسار (Path) (مثل `"dataset/train"`) أو عنوان URI عن بُعد (مثل `"s3//my-bucket/dataset/train"`) لمجلد مجموعة البيانات الذي سيتم تحميل مجموعة البيانات منه.

keep_in_memory (`bool`، القيمة الافتراضية `None`) : ما إذا كان سيتم نسخ مجموعة البيانات في الذاكرة. إذا كانت `None`، فلن يتم نسخ مجموعة البيانات في الذاكرة ما لم يتم تفعيل ذلك صراحةً عن طريق تعيين `datasets.config.IN_MEMORY_MAX_SIZE` إلى قيمة غير صفرية. راجع المزيد من التفاصيل في قسم [تحسين الأداء](../cache#improve-performance).

storage_options (`dict`، *اختياري*) : أزواج مفاتيح/قيم تُمرَّر إلى نظام الملفات الخلفي، إن وُجد.

**يعيد:** [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset) أو [DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict)

- إذا كان `dataset_path` مسارًا لمجلد مجموعة بيانات، فإن مجموعة البيانات المطلوبة.
- إذا كان `dataset_path` مسارًا لمجلد قاموس مجموعة بيانات، فسيتم إرجاع `datasets.DatasetDict` يحتوي على كل تقسيم.

تحمّل مجموعة بيانات تم حفظها سابقًا باستخدام `save_to_disk` من مجلد مجموعة البيانات، أو من نظام ملفات باستخدام أي تطبيق من تطبيقات `fsspec.spec.AbstractFileSystem`.

مثال:

```py
>>> ds = load_from_disk("path/to/dataset/directory")
```

#### flatten_indices[[datasets.Dataset.flatten_indices]]

```python
flatten_indices(keep_in_memory: bool = False, cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000, features: typing.Optional[datasets.features.features.Features] = None, disable_nullable: bool = False, num_proc: typing.Optional[int] = None, new_fingerprint: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L4297)

**المعاملات:**

keep_in_memory (`bool`، القيمة الافتراضية `False`) : يُبقي مجموعة البيانات في الذاكرة بدلاً من كتابتها إلى ملف مؤقت.

cache_file_name (`str`، *اختياري*، الافتراضي `None`) : يوفّر اسم مسار لملف الكاش. يُستخدم لتخزين نتائج الحساب بدلاً من اسم ملف الكاش المولّد تلقائيًا.

writer_batch_size (`int`، القيمة الافتراضية `1000`) : عدد الصفوف لكل عملية كتابة في كاتب ملف الكاش. تُعد هذه القيمة توازنًا جيدًا بين استهلاك الذاكرة أثناء المعالجة وسرعة المعالجة. يؤدي رفع القيمة إلى تقليل عدد عمليات البحث أثناء المعالجة، بينما يؤدي خفضها إلى تقليل استهلاك الذاكرة المؤقتة أثناء تشغيل `map`.

features (`Optional[datasets.Features]`، الافتراضي `None`) : استخدم [Features](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features) محددة لتخزين ملف الكاش بدلاً من الملف المولّد تلقائيًا.

disable_nullable (`bool`، القيمة الافتراضية `False`) : السماح بقيم فارغة في الجدول.

num_proc (`int`، اختياري، الافتراضي `None`) : الحد الأقصى لعدد العمليات عند إنشاء ذاكرة التخزين المؤقت. يتم تحميل الشرائح المخزنة مسبقًا بشكل تسلسلي

new_fingerprint (`str`، *اختياري*، القيمة الافتراضية `None`) : البصمة الجديدة للمجموعة بعد التحويل. إذا كانت `None`، تُحسب البصمة الجديدة باستخدام تجزئة (hash) للبصمة السابقة، وحوافز التحويل

أنشئ مجموعة بيانات جديدة وأخزنها مؤقتًا عن طريق تسطيخ خرائط الفهارس.

#### to_csv[[datasets.Dataset.to_csv]]

```python
to_csv(path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO], batch_size: typing.Optional[int] = None, num_proc: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None, **to_csv_kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L5342)

**المعاملات:**

path_or_buf (`PathLike` أو `FileOrBuffer`) : إما مسار إلى ملف (مثل `file.csv`)، أو عنوان URI عن بُعد (مثل `hf://datasets/username/my_dataset_name/data.csv`)، أو BinaryIO، حيث سيتم حفظ مجموعة البيانات فيه بالتنسيق المحدد.

batch_size (`int`، *اختياري*) : حجم الدفعة التي يتم تحميلها في الذاكرة وكتابتها دفعة واحدة. القيمة الافتراضية هي `datasets.config.DEFAULT_MAX_BATCH_SIZE`.

num_proc (`int`, *اختياري*) : عدد العمليات للمعالجة المتعددة. افتراضيًا، لا يستخدم المعالجة المتعددة. في هذه الحالة، يكون الافتراضي لـ`batch_size` هو `datasets.config.DEFAULT_MAX_BATCH_SIZE`، لكن يمكنك جعله 5 أضعاف أو 10 أضعاف القيمة الافتراضية إذا كان لديك قدرة حوسبة كافية.

storage_options (`dict`، *اختياري*) : أزواج مفاتيح/قيم تُمرَّر إلى نظام الملفات الخلفي، إن وُجد.

- ****to_csv_kwargs** (معلمات إضافية): المعلمات التي تُمرَّر إلى [`pandas.DataFrame.to_csv`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html) في pandas. الآن، تكون القيمة الافتراضية لـ`index` هي `False` إذا لم تُحدَّد. إذا كنت ترغب في كتابة الفهرس، فمرِّر `index=True` وحدِّد أيضًا اسمًا لعمود الفهرس عن طريق تمرير `index_label`.

**يعيد:** `int`

عدد الأحرف أو البايتات المكتوبة.

يُصدّر مجموعة البيانات إلى csv

مثال:

```py
>>> ds.to_csv("path/to/dataset/directory")
```

#### to_pandas[[datasets.Dataset.to_pandas]]

```python
to_pandas(batch_size: typing.Optional[int] = None, batched: bool = False)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L5541)

**المعاملات:**

batch_size (`int`، *اختياري*) : حجم الدُفعات (عدد الصفوف) إذا كان `batched` هو `True`. القيمة الافتراضية هي `datasets.config.DEFAULT_MAX_BATCH_SIZE`.

batched (`bool`) : اضبطه على `True` لإرجاع مولّد يُخرج مجموعة البيانات على شكل دفعات من `batch_size` صفوف. القيمة الافتراضية هي `False` (تُرجع مجموعات البيانات كاملة مرة واحدة).

**يعيد:**

`pandas.DataFrame` أو `Iterator[pandas.DataFrame]`

يعيد مجموعة البيانات على شكل `pandas.DataFrame`. كما يمكنه إرجاع مولّد (generator) لمجموعات البيانات الكبيرة.

مثال:

```py
>>> ds.to_pandas()
```

#### to_dict[[datasets.Dataset.to_dict]]

```python
to_dict(batch_size: typing.Optional[int] = None, batched: bool = False)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L5401)

**المعاملات:**

batch_size (`int`، *اختياري*) : حجم الدُفعات (عدد الصفوف) إذا كان `batched` هو `True`. القيمة الافتراضية هي `datasets.config.DEFAULT_MAX_BATCH_SIZE`.

batched (`bool`) : اضبطه على `True` لإرجاع مولّد يُخرج مجموعة البيانات على شكل دفعات من `batch_size` صفوف. القيمة الافتراضية هي `False` (تُرجع مجموعات البيانات كاملة مرة واحدة).

**يعيد:**

`dict` أو `Iterator[dict]`

يعيد مجموعة البيانات كقاموس بايثون. كما يمكنه إعادة مولّد لمجموعات البيانات الكبيرة.

مثال:

```py
>>> ds.to_dict()
```

#### to_json[[datasets.Dataset.to_json]]

```python
to_json(path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO], batch_size: typing.Optional[int] = None, num_proc: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None, **to_json_kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L5466)

**المعاملات:**

path_or_buf (`PathLike` أو `FileOrBuffer`) : إما مسار إلى ملف (مثل `file.json`)، أو عنوان URI عن بُعد (مثل `hf://datasets/username/my_dataset_name/data.json`)، أو BinaryIO، حيث سيتم حفظ مجموعة البيانات فيه بالتنسيق المحدد.

batch_size (`int`، *اختياري*) : حجم الدفعة التي يتم تحميلها في الذاكرة وكتابتها دفعة واحدة. القيمة الافتراضية هي `datasets.config.DEFAULT_MAX_BATCH_SIZE`.

num_proc (`int`, *اختياري*) : عدد العمليات للمعالجة المتعددة. افتراضيًا، لا يستخدم المعالجة المتعددة. في هذه الحالة، يكون الافتراضي لـ`batch_size` هو `datasets.config.DEFAULT_MAX_BATCH_SIZE`، لكن يمكنك جعله 5 أضعاف أو 10 أضعاف القيمة الافتراضية إذا كان لديك قدرة حوسبة كافية.

storage_options (`dict`، *اختياري*) : أزواج مفاتيح/قيم تُمرَّر إلى نظام الملفات الخلفي، إن وُجد.

- ****to_json_kwargs** (additional keyword arguments) : Parameters to pass to pandas's [`pandas.DataFrame.to_json`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_json.html). Default arguments are `lines=True` and `orient="records".  <Changed version="2.11.0">  The parameter `index` defaults to `False` if `orient` is `"split"` or `"table"`.  If you would like to write the index, pass `index=True`.  

**يعيد:** `int`

عدد الأحرف أو البايتات المكتوبة.

تصدير مجموعة البيانات إلى JSON Lines أو JSON.

تنسيق الإخراج الافتراضي هو [JSON Lines](https://jsonlines.org/). لتصدير إلى [JSON](https://www.json.org)، مرّر الحجة `lines=False` والقيمة المطلوبة لـ `orient`.

مثال:

```py
>>> ds.to_json("path/to/dataset/directory/filename.jsonl")
```

#### to_parquet[[datasets.Dataset.to_parquet]]

```python
to_parquet(path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO], batch_size: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None, **parquet_writer_kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L5643)

**المعاملات:**

path_or_buf (`PathLike` أو `FileOrBuffer`) : إما مسار إلى ملف (مثل `file.parquet`)، أو عنوان URI عن بُعد (مثل `hf://datasets/username/my_dataset_name/data.parquet`)، أو BinaryIO، حيث سيتم حفظ مجموعة البيانات فيه بالتنسيق المحدد.

batch_size (`int`، *اختياري*) : حجم الدفعة التي يتم تحميلها في الذاكرة وكتابتها دفعة واحدة. افتراضيًا، يستهدف مجموعات صفوف بحجم بايت غير مضغوط أقصى قدره "100MB"، كما هو معرّف في `datasets.config.MAX_ROW_GROUP_SIZE`.

storage_options (`dict`، *اختياري*) : أزواج مفاتيح/قيم تُمرَّر إلى نظام الملفات الخلفي، إن وُجد.

- ****parquet_writer_kwargs**** (معلمات إضافية): المعلمات التي تُمرَّر إلى `pyarrow.parquet.ParquetWriter` في PyArrow.

**يعيد:** `int`

عدد الأحرف أو البايتات المكتوبة.

يُصدّر مجموعة البيانات إلى parquet

مثال:

```py
>>> ds.to_parquet("path/to/dataset/directory")
```

#### to_sql[[datasets.Dataset.to_sql]]

```python
to_sql(name: str, con: typing.Union[str, ForwardRef('sqlalchemy.engine.Connection'), ForwardRef('sqlalchemy.engine.Engine'), ForwardRef('sqlite3.Connection')], batch_size: typing.Optional[int] = None, num_proc: typing.Optional[int] = None, **sql_writer_kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L5683)

**المعاملات:**

name (`str`) : اسم جدول SQL.

con (`str` أو `sqlite3.Connection` أو `sqlalchemy.engine.Connection` أو `sqlalchemy.engine.Connection`) : سلسلة [URI](https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls) أو كائن اتصال SQLite3/SQLAlchemy يُستخدم للكتابة إلى قاعدة بيانات.

batch_size (`int`، *اختياري*) : حجم الدفعة التي يتم تحميلها في الذاكرة وكتابتها دفعة واحدة. القيمة الافتراضية هي `datasets.config.DEFAULT_MAX_BATCH_SIZE`.

num_proc (`int`, *اختياري*) : عدد العمليات للمعالجة المتعددة. افتراضيًا، لا يستخدم المعالجة المتعددة. في هذه الحالة، يكون الافتراضي لـ`batch_size` هو `datasets.config.DEFAULT_MAX_BATCH_SIZE`، لكن يمكنك جعله 5 أضعاف أو 10 أضعاف القيمة الافتراضية إذا كان لديك قدرة حوسبة كافية.

- ****sql_writer_kwargs** (معلمات إضافية) : المعلمات المراد تمريرها إلى [`pandas.DataFrame.to_sql`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_sql.html) في pandas. الآن، القيمة الافتراضية لـ `index` هي `False` إذا لم تُحدد. إذا كنت ترغب في كتابة الفهرس، فمرر `index=True` وحدد أيضًا اسمًا لعمود الفهرس عن طريق تمرير `index_label`.

**يعيد:** `int`

عدد السجلات المكتوبة.

يُصدِّر مجموعة البيانات إلى قاعدة بيانات SQL.

مثال:

```py
>>> # con provided as a connection URI string
>>> ds.to_sql("data", "sqlite:///my_own_db.sql")
>>> # con provided as a sqlite3 connection object
>>> import sqlite3
>>> con = sqlite3.connect("my_own_db.sql")
>>> with con:
...     ds.to_sql("data", con)
```

#### to_iterable_dataset[[datasets.Dataset.to_iterable_dataset]]

```python
to_iterable_dataset(num_shards: typing.Optional[int] = 1)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L5781)

**المعاملات:**

num_shards (`int`، الافتراضي `1`) : عدد الأجزاء (shards) التي يجب تحديدها عند إنشاء مجموعة البيانات القابلة للتكرار. هذا مفيد بشكل خاص للمجموعات الكبيرة من البيانات لتمكين الخلط بشكل صحيح، وكذلك لتفعيل التحميل المتوازي السريع باستخدام PyTorch DataLoader أو في الإعدادات الموزعة على سبيل المثال. تُعرَّف الأجزاء باستخدام [datasets.Dataset.shard()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.shard): فهي ببساطة تقطع البيانات دون كتابة أي شيء على القرص.

**يعيد:**

[datasets.IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset)

احصل على [datasets.IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset) من [datasets.Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset) بنمط الخريطة. هذا يعادل تحميل مجموعة بيانات في وضع البث باستخدام [datasets.load_dataset()](/docs/datasets/v5.2.0/ar/package_reference/loading_methods#datasets.load_dataset)، لكنه أسرع بكثير لأن البيانات تُبث من ملفات محلية.

على عكس مجموعات البيانات ذات النمط الخرائطي، تكون مجموعات البيانات القابلة للتكرار كسولة (lazy) ولا يمكن التكرار عليها فقط (مثل استخدام حلقة for). وبما أنها تُقرأ بشكل تسلسلي في حلقات التدريب، فإن مجموعات البيانات القابلة للتكرار أسرع بكثير من مجموعات البيانات ذات النمط الخرائطي. جميع التحويلات المطبقة على مجموعات البيانات القابلة للتكرار، مثل التصفية أو المعالجة، تتم على الفور عند بدء التكرار على مجموعة البيانات.

ومع ذلك، من الممكن خلط مجموعة بيانات قابلة للتكرار باستخدام [datasets.IterableDataset.shuffle()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset.shuffle). وهذا خلط تقريبي سريع يعمل بشكل أفضل إذا كان لديك عدة شظايا (shards) وإذا حددت حجم مخزن مؤقت كبير بما يكفي.

للحصول على أفضل أداء في السرعة، تأكد من أن مجموعة البيانات الخاصة بك لا تحتوي على تعيين للفهارس. إذا كان الأمر كذلك، فإن البيانات لا تُقرأ بشكل متتابع، مما قد يؤدي إلى بطء في بعض الأحيان. يمكنك استخدام `ds = ds.flatten_indices()` لكتابة مجموعة البيانات الخاصة بك في كتل متتالية من البيانات والحصول على سرعة مثالية قبل الانتقال إلى مجموعة بيانات قابلة للتكرار.

مثال:

الاستخدام الأساسي:
```python
>>> ids = ds.to_iterable_dataset()
>>> for example in ids:
...     pass
```

مع التصفية والمعالجة الكسولة:
```python
>>> ids = ds.to_iterable_dataset()
>>> ids = ids.filter(filter_fn).map(process_fn)  # will filter and process on-the-fly when you start iterating over the iterable dataset
>>> for example in ids:
...     pass
```

مع التقسيم (Sharding) لتفعيل الخلط (Shuffling) بكفاءة:
```python
>>> ids = ds.to_iterable_dataset(num_shards=64)  # the dataset is split into 64 shards to be iterated over
>>> ids = ids.shuffle(buffer_size=10_000)  # will shuffle the shards order and use a shuffle buffer for fast approximate shuffling when you start iterating
>>> for example in ids:
...     pass
```

مع PyTorch DataLoader:
```python
>>> import torch
>>> ids = ds.to_iterable_dataset(num_shards=64)
>>> ids = ids.filter(filter_fn).map(process_fn)
>>> dataloader = torch.utils.data.DataLoader(ids, num_workers=4)  # will assign 64 / 4 = 16 shards to each worker to load, filter and process when you start iterating
>>> for example in ids:
...     pass
```

مع PyTorch DataLoader وshuffling:
```python
>>> import torch
>>> ids = ds.to_iterable_dataset(num_shards=64)
>>> ids = ids.shuffle(buffer_size=10_000)  # will shuffle the shards order and use a shuffle buffer when you start iterating
>>> dataloader = torch.utils.data.DataLoader(ids, num_workers=4)  # will assign 64 / 4 = 16 shards from the shuffled list of shards to each worker when you start iterating
>>> for example in ids:
...     pass
```

في إعداد موزّع مثل PyTorch DDP مع PyTorch DataLoader و

```python
>>> from datasets.distributed import split_dataset_by_node
>>> ids = ds.to_iterable_dataset(num_shards=512)
>>> ids = ids.shuffle(buffer_size=10_000, seed=42)  # will shuffle the shards order and use a shuffle buffer when you start iterating
>>> ids = split_dataset_by_node(ds, world_size=8, rank=0)  # will keep only 512 / 8 = 64 shards from the shuffled lists of shards when you start iterating
>>> dataloader = torch.utils.data.DataLoader(ids, num_workers=4)  # will assign 64 / 4 = 16 shards from this node's list of shards to each worker when you start iterating
>>> for example in ids:
...     pass
```

مع الخلط وعشرات الحقب المتعددة:
```python
>>> ids = ds.to_iterable_dataset(num_shards=64)
>>> ids = ids.shuffle(buffer_size=10_000, seed=42)  # will shuffle the shards order and use a shuffle buffer when you start iterating
>>> for epoch in range(n_epochs):
...     ids.set_epoch(epoch)  # will use effective_seed = seed + epoch to shuffle the shards and for the shuffle buffer when you start iterating
...     for example in ids:
...         pass
```

لا تتردد في استخدام `IterableDataset.set_epoch()` أيضًا عند استخدام PyTorch DataLoader أو في الإعدادات الموزعة.

#### add_faiss_index[[datasets.Dataset.add_faiss_index]]

```python
add_faiss_index(column: str, index_name: typing.Optional[str] = None, device: typing.Optional[int] = None, string_factory: typing.Optional[str] = None, metric_type: typing.Optional[int] = None, custom_index: typing.Optional[ForwardRef('faiss.Index')] = None, batch_size: int = 1000, train_size: typing.Optional[int] = None, faiss_verbose: bool = False, dtype = <class 'numpy.float32'>)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L6339)

**المعاملات:**

column (`str`) : عمود المتجهات التي سيتم إضافتها إلى الفهرس.

index_name (`str`، *اختياري*) : اسم `index_name`/المعرّف الخاص بالفهرس. هذا هو `index_name` الذي يُستخدم لاستدعاء [get_nearest_examples()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.get_nearest_examples) أو [search()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.search). افتراضيًا، يتوافق مع `column`.

device (`Union[int, List[int]]`، *اختياري*) : إذا كان عددًا صحيحًا موجبًا، فهو فهرس وحدة معالجة الرسوميات (GPU) التي سيتم استخدامها. إذا كان عددًا صحيحًا سالبًا، فسيتم استخدام جميع وحدات معالجة الرسوميات. إذا تم تمرير قائمة من الأعداد الصحيحة الموجبة، فسيتم التشغيل على تلك الوحدات فقط. افتراضيًا، يتم استخدام وحدة المعالجة المركزية (CPU).

string_factory (`str`، *اختياري*) : يُمرَّر إلى مصنع الفهرسة في Faiss لإنشاء الفهرس. فئة الفهرس الافتراضية هي `IndexFlat`.

metric_type (`int`, *اختياري*) : نوع المقياس. مثال: `faiss.METRIC_INNER_PRODUCT` أو `faiss.METRIC_L2`.

custom_index (`faiss.Index`، *اختياري*) : فهرس Faiss مخصص سبق أن أنشأته وضبطته حسب احتياجاتك.

batch_size (`int`) : حجم الدفعة المستخدمة عند إضافة المتجهات إلى `FaissIndex`. القيمة الافتراضية هي `1000`.

train_size (`int`, *اختياري*) : إذا كان المؤشر يحتاج إلى خطوة تدريب، يحدد عدد المتجهات التي ستُستخدم لتدريب المؤشر.

faiss_verbose (`bool`، القيمة الافتراضية `False`) : تفعيل تفصيلية فهرس Faiss.

dtype (`data-type`) : نوع البيانات (dtype) لمصفوفات numpy التي يتم فهرستها. القيمة الافتراضية هي `np.float32`.

أضف فهرسًا كثيفًا باستخدام Faiss للاسترجاع السريع. بشكل افتراضي، يتم إنشاء الفهرس على متجهات العمود المحدد. يمكنك تحديد `device` إذا كنت ترغب في تشغيله على وحدة معالجة الرسوميات (`device` يجب أن يكون فهرس وحدة معالجة الرسوميات). يمكنك العثور على مزيد من المعلومات حول Faiss هنا:

- لـ [مصنع السلاسل النصية](https://github.com/facebookresearch/faiss/wiki/The-index-factory)

مثال:

```python
>>> ds = datasets.load_dataset('community-datasets/crime_and_punish', split='train')
>>> ds_with_embeddings = ds.map(lambda example: {'embeddings': embed(example['line']}))
>>> ds_with_embeddings.add_faiss_index(column='embeddings')
>>> # query
>>> scores, retrieved_examples = ds_with_embeddings.get_nearest_examples('embeddings', embed('my new query'), k=10)
>>> # save index
>>> ds_with_embeddings.save_faiss_index('embeddings', 'my_index.faiss')

>>> ds = datasets.load_dataset('community-datasets/crime_and_punish', split='train')
>>> # load index
>>> ds.load_faiss_index('embeddings', 'my_index.faiss')
>>> # query
>>> scores, retrieved_examples = ds.get_nearest_examples('embeddings', embed('my new query'), k=10)
```

#### add_faiss_index_from_external_arrays[[datasets.Dataset.add_faiss_index_from_external_arrays]]

```python
add_faiss_index_from_external_arrays(external_arrays: array, index_name: str, device: typing.Optional[int] = None, string_factory: typing.Optional[str] = None, metric_type: typing.Optional[int] = None, custom_index: typing.Optional[ForwardRef('faiss.Index')] = None, batch_size: int = 1000, train_size: typing.Optional[int] = None, faiss_verbose: bool = False, dtype = <class 'numpy.float32'>)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L6419)

**المعاملات:**

external_arrays (`np.array`) : إذا كنت ترغب في استخدام مصفوفات من خارج المكتبة للفهرس، يمكنك تعيين `external_arrays`. سيستخدم `external_arrays` لإنشاء فهرس Faiss بدلاً من المصفوفات في `column` المحدد.

index_name (`str`) : اسم `index_name`/المعرّف الخاص بالفهرس. هذا هو `index_name` الذي يُستخدم لاستدعاء [get_nearest_examples()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.get_nearest_examples) أو [search()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.search).

device (اختياري `Union[int, List[int]]`، *اختياري*) : إذا كان عددًا صحيحًا موجبًا، فهو فهرس وحدة معالجة الرسوميات (GPU) التي سيتم استخدامها. إذا كان عددًا صحيحًا سالبًا، فسيتم استخدام جميع وحدات معالجة الرسوميات. إذا تم تمرير قائمة من الأعداد الصحيحة الموجبة، فسيتم التشغيل على تلك الوحدات فقط. افتراضيًا، يتم استخدام وحدة المعالجة المركزية (CPU).

string_factory (`str`، *اختياري*) : يُمرَّر إلى مصنع الفهرسة في Faiss لإنشاء الفهرس. فئة الفهرس الافتراضية هي `IndexFlat`.

metric_type (`int`, *اختياري*) : نوع المقياس. مثال: `faiss.faiss.METRIC_INNER_PRODUCT` أو `faiss.METRIC_L2`.

custom_index (`faiss.Index`، *اختياري*) : فهرس Faiss مخصص سبق أن أنشأته وضبطته حسب احتياجاتك.

batch_size (`int`, *اختياري*) : حجم الدفعة المستخدمة عند إضافة المتجهات إلى FaissIndex. القيمة الافتراضية هي 1000.

train_size (`int`, *اختياري*) : إذا كان المؤشر يحتاج إلى خطوة تدريب، يحدد عدد المتجهات التي ستُستخدم لتدريب المؤشر.

faiss_verbose (`bool`، القيمة الافتراضية False) : تفعيل تفصيلية فهرس Faiss.

dtype (`numpy.dtype`) : نوع البيانات (dtype) لمصفوفات numpy التي يتم فهرستها. القيمة الافتراضية هي np.float32.

أضف فهرسًا كثيفًا باستخدام Faiss للاسترجاع السريع. يتم إنشاء الفهرس باستخدام متجهات `external_arrays`. يمكنك تحديد `device` إذا كنت ترغب في تشغيله على وحدة معالجة الرسوميات (`device` يجب أن يكون فهرس وحدة معالجة الرسوميات). يمكنك العثور على مزيد من المعلومات حول Faiss هنا:

- لـ [مصنع السلاسل النصية](https://github.com/facebookresearch/faiss/wiki/The-index-factory)

#### save_faiss_index[[datasets.Dataset.save_faiss_index]]

```python
save_faiss_index(index_name: str, file: typing.Union[str, pathlib.PurePath], storage_options: typing.Optional[dict] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/search.py#L535)

**المعاملات:**

index_name (`str`) : اسم/معرّف فهرس index_name. هذا هو index_name الذي يُستخدم لاستدعاء `.get_nearest` أو `.search`.

file (`str`) : المسار إلى فهرس faiss المُسلسَل على القرص أو عنوان URI عن بُعد (مثل `"s3://my-bucket/index.faiss"`).

storage_options (`dict`، *اختياري*) : أزواج مفاتيح/قيم تُمرَّر إلى نظام الملفات الخلفي، إن وُجد.

احفظ FaissIndex على القرص.

#### load_faiss_index[[datasets.Dataset.load_faiss_index]]

```python
load_faiss_index(index_name: str, file: typing.Union[str, pathlib.PurePath], device: typing.Union[int, list[int], NoneType] = None, storage_options: typing.Optional[dict] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/search.py#L553)

**المعاملات:**

index_name (`str`) : اسم/معرّف فهرس index_name. هذا هو index_name الذي يُستخدم لاستدعاء `.get_nearest` أو `.search`.

file (`str`) : المسار إلى فهرس faiss المُسلسَل على القرص أو عنوان URI عن بُعد (مثل `"s3://my-bucket/index.faiss"`).

device (اختياري `Union[int, List[int]]`) : إذا كان عددًا صحيحًا موجبًا، فهو فهرس وحدة معالجة الرسوميات (GPU) التي سيتم استخدامها. إذا كان عددًا صحيحًا سالبًا، فسيتم استخدام جميع وحدات معالجة الرسوميات. إذا تم تمرير قائمة من الأعداد الصحيحة الموجبة، فسيتم التشغيل على تلك الوحدات فقط. افتراضيًا، يتم استخدام وحدة المعالجة المركزية (CPU).

storage_options (`dict`، *اختياري*) : أزواج مفاتيح/قيم تُمرَّر إلى نظام الملفات الخلفي، إن وُجد.

تحميل FaissIndex من القرص.

إذا كنت ترغب في إجراء تكوينات إضافية، يمكنك الوصول إلى كائن فهرس faiss من خلال تنفيذ `.get_index(index_name).faiss_index` لتكييفه مع احتياجاتك.

#### add_elasticsearch_index[[datasets.Dataset.add_elasticsearch_index]]

```python
add_elasticsearch_index(column: str, index_name: typing.Optional[str] = None, host: typing.Optional[str] = None, port: typing.Optional[int] = None, es_client: typing.Optional[ForwardRef('elasticsearch.Elasticsearch')] = None, es_index_name: typing.Optional[str] = None, es_index_config: typing.Optional[dict] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L6478)

**المعاملات:**

column (`str`) : عمود المستندات التي يجب إضافتها إلى الفهرس.

index_name (`str`، *اختياري*) : اسم `index_name`/المعرّف الخاص بالفهرس. هذا هو اسم الفهرس الذي يُستخدم لاستدعاء [get_nearest_examples()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.get_nearest_examples) أو [search()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.search). بشكل افتراضي، يتوافق مع `column`.

host (`str`، *اختياري*، القيمة الافتراضية `localhost`) : مضيف تشغيل ElasticSearch.

port (`str`، *اختياري*، القيمة الافتراضية `9200`) : منفذ تشغيل ElasticSearch.

es_client (`elasticsearch.Elasticsearch`، *اختياري*) : عميل elasticsearch المستخدم لإنشاء الفهرس إذا كانت host و port قيمتهما `None`.

es_index_name (`str`، *اختياري*) : اسم فهرس elasticsearch المستخدم لإنشاء الفهرس.

es_index_config (`dict`, *اختياري*) : إعدادات فهرس elasticsearch. الإعداد الافتراضي هو: ``` { "settings": { "number_of_shards": 1, "analysis": {"analyzer": {"stop_standard": {"type": "standard", " stopwords": "_english_"}}}, }, "mappings": { "properties": { "text": { "type": "text", "analyzer": "standard", "similarity": "BM25" }, } }, } ```

أضف فهرسًا نصيًا باستخدام ElasticSearch للاسترجاع السريع. يتم ذلك في الموقع نفسه.

مثال:

```python
>>> es_client = elasticsearch.Elasticsearch()
>>> ds = datasets.load_dataset('community-datasets/crime_and_punish', split='train')
>>> ds.add_elasticsearch_index(column='line', es_client=es_client, es_index_name="my_es_index")
>>> scores, retrieved_examples = ds.get_nearest_examples('line', 'my new query', k=10)
```

#### load_elasticsearch_index[[datasets.Dataset.load_elasticsearch_index]]

```python
load_elasticsearch_index(index_name: str, es_index_name: str, host: typing.Optional[str] = None, port: typing.Optional[int] = None, es_client: typing.Optional[ForwardRef('Elasticsearch')] = None, es_index_config: typing.Optional[dict] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/search.py#L637)

**المعاملات:**

index_name (`str`) : اسم `index_name`/المعرّف الخاص بالفهرس. هذا هو اسم الفهرس الذي يُستخدم لاستدعاء `get_nearest` أو `search`.

es_index_name (`str`) : اسم فهرس elasticsearch الذي سيتم تحميله.

host (`str`، *اختياري*، القيمة الافتراضية `localhost`) : مضيف تشغيل ElasticSearch.

port (`str`، *اختياري*، القيمة الافتراضية `9200`) : منفذ تشغيل ElasticSearch.

es_client (`elasticsearch.Elasticsearch`، *اختياري*) : عميل elasticsearch المستخدم لإنشاء الفهرس إذا كانت host و port قيمتهما `None`.

es_index_config (`dict`, *اختياري*) : إعدادات فهرس elasticsearch. الإعداد الافتراضي هو: ``` { "settings": { "number_of_shards": 1, "analysis": {"analyzer": {"stop_standard": {"type": "standard", " stopwords": "_english_"}}}, }, "mappings": { "properties": { "text": { "type": "text", "analyzer": "standard", "similarity": "BM25" }, } }, } ```

قم بتحميل فهرس نصي موجود باستخدام ElasticSearch للاسترجاع السريع.

#### list_indexes[[datasets.Dataset.list_indexes]]

```python
list_indexes()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/search.py#L438)

`colindex_nameumns`/أعدّ قائمة بالمعرّفات لجميع الفهارس المرفقة.

#### get_index[[datasets.Dataset.get_index]]

```python
get_index(index_name: str)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/search.py#L442)

**المعاملات:**

index_name (`str`) : اسم الفهرس.

**يعيد:**

`BaseIndex`

قائمة `index_name`/المعرّفات لجميع الفهارس المرفقة.

#### drop_index[[datasets.Dataset.drop_index]]

```python
drop_index(index_name: str)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/search.py#L684)

**المعاملات:**

index_name (`str`) : اسم `index_name`/المعرّف الخاص بالفهرس.

احذف المؤشر بالعمود المحدد.

#### بحث[[datasets.Dataset.search]]

```python
search(index_name: str, query: typing.Union[str, <built-in function array>], k: int = 10, **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/search.py#L693)

**المعاملات:**

index_name (`str`) : اسم/معرّف الفهرس.

query (`Union[str, np.ndarray]`) : الاستعلام كنص إذا كان `index_name` فهرسًا نصيًا، أو كمصفوفة numpy إذا كان `index_name` فهرسًا متجهيًا.

k (`int`) : عدد الأمثلة المطلوب استرجاعها.

**يعيد:** `(scores, indices)`

سلسلة من `(scores, indices)` حيث:
- **scores** (`List[List[float]`): درجات الاسترجاع من FAISS (افتراضيًا `IndexFlatL2`) أو ElasticSearch للأمثلة المسترجعة
- **indices** (`List[List[int]]`): فهارس الأمثلة المسترجعة

find_nearest_examples_indices

#### search_batch[[datasets.Dataset.search_batch]]

```python
search_batch(index_name: str, queries: typing.Union[list[str], <built-in function array>], k: int = 10, **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/search.py#L713)

**المعاملات:**

index_name (`str`) : اسم `index_name`/المعرّف الخاص بالفهرس.

queries (`Union[List[str], np.ndarray]`) : الاستعلامات كقائمة من النصوص إذا كان `index_name` فهرسًا نصيًا، أو كمصفوفة numpy إذا كان `index_name` فهرسًا متجهيًا.

k (`int`) : عدد الأمثلة التي يجب استرجاعها لكل استعلام.

**يعيد:** `(total_scores, total_indices)`

سلسلة من `(total_scores, total_indices)` حيث:
- **total_scores** (`List[List[float]`): درجات الاسترجاع من FAISS (افتراضيًا `IndexFlatL2`) أو ElasticSearch للأمثلة المسترجعة لكل استعلام
- **total_indices** (`List[List[int]]`): فهارس الأمثلة المسترجعة لكل استعلام

find_nearest_examples_indices

#### get_nearest_examples[[datasets.Dataset.get_nearest_examples]]

```python
get_nearest_examples(index_name: str, query: typing.Union[str, <built-in function array>], k: int = 10, **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/search.py#L735)

**المعاملات:**

index_name (`str`) : اسم/معرّف فهرس index_name.

query (`Union[str, np.ndarray]`) : الاستعلام كنص إذا كان `index_name` فهرسًا نصيًا، أو كمصفوفة numpy إذا كان `index_name` فهرسًا متجهيًا.

k (`int`) : عدد الأمثلة المطلوب استرجاعها.

**يعيد:** `(scores, examples)`

سلسلة من `(scores, examples)` حيث:
- **scores** (`List[float]`): درجات الاسترجاع من FAISS (افتراضيًا `IndexFlatL2`) أو ElasticSearch للأمثلة المسترجعة
- **أمثلة** (`dict`): الأمثلة المسترجعة

ابحث عن أقرب الأمثلة في مجموعة البيانات إلى الاستعلام.

#### get_nearest_examples_batch[[datasets.Dataset.get_nearest_examples_batch]]

```python
get_nearest_examples_batch(index_name: str, queries: typing.Union[list[str], <built-in function array>], k: int = 10, **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/search.py#L759)

**المعاملات:**

index_name (`str`) : اسم `index_name`/المعرّف الخاص بالفهرس.

queries (`Union[List[str], np.ndarray]`) : الاستعلامات كقائمة من النصوص إذا كان `index_name` فهرسًا نصيًا، أو كمصفوفة numpy إذا كان `index_name` فهرسًا متجهيًا.

k (`int`) : عدد الأمثلة التي يجب استرجاعها لكل استعلام.

**يعيد:** `(total_scores, total_examples)`

سلسلة من `(total_scores, total_examples)` حيث:
- **total_scores** (`List[List[float]`): درجات الاسترجاع من FAISS (افتراضيًا `IndexFlatL2`) أو ElasticSearch للأمثلة المسترجعة لكل استعلام
- **total_examples** (`List[dict]`): الأمثلة المسترجعة لكل استعلام

ابحث عن أقرب الأمثلة في مجموعة البيانات إلى الاستعلام.

#### معلومة[[datasets.Dataset.info]]

```python
info()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L172)

كائن [DatasetInfo](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetInfo) يحتوي على جميع البيانات الوصفية في مجموعة البيانات.

#### تقسيم[[datasets.Dataset.split]]

```python
split()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L177)

كائن [NamedSplit](/docs/datasets/v5.2.0/ar/package_reference/builder_classes#datasets.NamedSplit) يقابل تقسيماً مسمّى من مجموعة البيانات.

#### builder_name[[datasets.Dataset.builder_name]]

```python
builder_name()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L182)

#### استشهاد[[datasets.Dataset.citation]]

```python
citation()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L186)

#### config_name[[datasets.Dataset.config_name]]

```python
config_name()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L190)

#### dataset_size[[datasets.Dataset.dataset_size]]

```python
dataset_size()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L194)

#### الوصف[[datasets.Dataset.description]]

```python
description()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L198)

#### download_checksums[[datasets.Dataset.download_checksums]]

```python
download_checksums()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L202)

#### download_size[[datasets.Dataset.download_size]]

```python
download_size()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L206)

#### الميزات[[datasets.Dataset.features]]

```python
features()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L785)

#### الصفحة الرئيسية[[datasets.Dataset.homepage]]

```python
homepage()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L214)

#### رخصة[[datasets.Dataset.license]]

```python
license()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L218)

#### size_in_bytes[[datasets.Dataset.size_in_bytes]]

```python
size_in_bytes()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L222)

#### supervised_keys[[datasets.Dataset.supervised_keys]]

```python
supervised_keys()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L226)

#### الإصدار[[datasets.Dataset.version]]

```python
version()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L230)

#### from_csv[[datasets.Dataset.from_csv]]

```python
from_csv(path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]], split: typing.Optional[datasets.splits.NamedSplit] = None, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, num_proc: typing.Optional[int] = None, **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L1282)

**المعاملات:**

path_or_paths (`path-like` أو قائمة من `path-like`) : مسار(ات) ملف(ات) CSV.

split ([NamedSplit](/docs/datasets/v5.2.0/ar/package_reference/builder_classes#datasets.NamedSplit)، *اختياري*) : اسم التقسيم الذي سيُسند إلى مجموعة البيانات.

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)، *اختياري*) : ميزات مجموعة البيانات.

cache_dir (`str`، *اختياري*، القيمة الافتراضية `"~/.cache/huggingface/datasets"`) : المجلد الذي يُخزَّن فيه البيانات مؤقتًا.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم نسخ البيانات في الذاكرة.

num_proc (`int`، *اختياري*، القيمة الافتراضية `None`) : عدد العمليات عند تنزيل مجموعة البيانات وتوليدها محليًا. يكون هذا مفيدًا إذا كانت مجموعة البيانات مكوّنة من ملفات متعددة. يتم تعطيل المعالجة متعددة العمليات افتراضيًا.

- ****kwargs** (معلمات إضافية بالكلمات المفتاحية): معلمات بالكلمات المفتاحية تُمرَّر إلى `pandas.read_csv`.

**يعيد:**

[مجموعة البيانات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

إنشاء مجموعة بيانات من ملف أو ملفات CSV.

اقرأ ملفات CSV، وخزّن البيانات بصيغة Arrow على القرص، ثم أعد Dataset من بيانات Arrow المخرجة في الذاكرة على القرص.

مثال:

```py
>>> ds = Dataset.from_csv('path/to/dataset.csv')
```

#### from_json[[datasets.Dataset.from_json]]

```python
from_json(path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]], split: typing.Optional[datasets.splits.NamedSplit] = None, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, field: typing.Optional[str] = None, num_proc: typing.Optional[int] = None, **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L1422)

**المعاملات:**

path_or_paths (`path-like` أو قائمة من `path-like`) : مسار أو مسارات ملفات JSON أو JSON Lines.

split ([NamedSplit](/docs/datasets/v5.2.0/ar/package_reference/builder_classes#datasets.NamedSplit)، *اختياري*) : اسم التقسيم الذي سيُسند إلى مجموعة البيانات.

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)، *اختياري*) : ميزات مجموعة البيانات.

cache_dir (`str`، *اختياري*، القيمة الافتراضية `"~/.cache/huggingface/datasets"`) : المجلد الذي يُخزَّن فيه البيانات مؤقتًا.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم نسخ البيانات في الذاكرة.

field (`str`، *اختياري*) : اسم الحقل في ملف JSON الذي يحتوي على مجموعة البيانات.

num_proc (`int`، *اختياري* افتراضيًا `None`) : عدد العمليات عند تنزيل مجموعة البيانات وتوليدها محليًا. يكون هذا مفيدًا إذا كانت مجموعة البيانات مكوّنة من ملفات متعددة. يتم تعطيل المعالجة متعددة العمليات افتراضيًا.

- ****kwargs** (معلمات إضافية بالكلمات المفتاحية): معلمات بالكلمات المفتاحية تُمرَّر إلى `JsonConfig`.

**يعيد:**

[مجموعة البيانات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

إنشاء مجموعة بيانات من ملف أو ملفات بصيغة JSON أو JSON Lines.

اقرأ ملفات JSON، وخزّن البيانات بصيغة Arrow على القرص، ثم أعد Dataset من بيانات Arrow المخرجة في الذاكرة على القرص.

مثال:

```py
>>> ds = Dataset.from_json('path/to/dataset.json')
```

#### from_parquet[[datasets.Dataset.from_parquet]]

```python
from_parquet(path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]], split: typing.Optional[datasets.splits.NamedSplit] = None, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, columns: typing.Optional[list[str]] = None, num_proc: typing.Optional[int] = None, filters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = None, fragment_scan_options: typing.Optional[pyarrow._dataset_parquet.ParquetFragmentScanOptions] = None, on_bad_files: typing.Literal['error', 'warn', 'skip'] = 'error', **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L1481)

**المعاملات:**

path_or_paths (`path-like` أو قائمة من `path-like`) : مسار(ات) ملف(ات) Parquet.

split (`NamedSplit`، *اختياري*) : اسم التقسيم الذي سيُسند إلى مجموعة البيانات.

features (`Features`، *اختياري*) : ميزات مجموعة البيانات.

cache_dir (`str`، *اختياري*، القيمة الافتراضية `"~/.cache/huggingface/datasets"`) : المجلد الذي يُخزَّن فيه البيانات مؤقتًا.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم نسخ البيانات في الذاكرة.

columns (`List[str]`، *اختياري*) : إذا لم يكن `None`، فسيتم قراءة هذه الأعمدة فقط من الملف. قد يكون اسم العمدة بادئة لحقل متداخل، على سبيل المثال، 'a' سيحدد 'a.b' و 'a.c' و 'a.d.e'.

num_proc (`int`، *اختياري*، القيمة الافتراضية `None`) : عدد العمليات عند تنزيل مجموعة البيانات وتوليدها محليًا. يكون هذا مفيدًا إذا كانت مجموعة البيانات مكوّنة من ملفات متعددة. يتم تعطيل المعالجة متعددة العمليات افتراضيًا.

filters (`Union[pyarrow.dataset.Expression, list[tuple], list[list[tuple]]]`، *اختياري*) : إرجاع الصفوف المطابقة للمرشّح فقط. إذا أمكن، يُدفع الشرط إلى الأسفل لاستغلال معلومات التقسيم أو البيانات الوصفية الداخلية الموجودة في مصدر البيانات، مثل إحصاءات Parquet. وإلا، يُرشّح RecordBatches المحمّلة قبل تسليمها.

fragment_scan_options (`pyarrow.dataset.ParquetFragmentScanOptions`، *اختياري*) : خيارات محددة للمسح الخاصة بقطع Parquet. وهذا مفيد بشكل خاص لتكوين التخزين المؤقت والتخزين المؤقت.

on_bad_files (`Literal["error", "warn", "skip"]`, *اختياري*، القيمة الافتراضية هي "error") : تحديد الإجراء المتخذ عند مواجهة ملف معطوب (ملف لا يمكن قراءته). القيم المسموح بها هي: * 'error'، رفع استثناء (Exception) عند مواجهة ملف معطوب. * 'warn'، رفع تحذير عند مواجهة ملف معطوب وتخطي ذلك الملف. * 'skip'، تخطي الملفات المعطوبة دون رفع استثناء أو تحذير عند مواجهتها.

- ****kwargs** (معلمات إضافية بالكلمات المفتاحية): معلمات بالكلمات المفتاحية تُمرَّر إلى `ParquetConfig`.

**يعيد:**

[مجموعة البيانات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

إنشاء مجموعة بيانات من ملف أو ملفات Parquet.

اقرأ ملفات Parquet، وخزّن البيانات بصيغة Arrow على القرص، ثم أعد Dataset من بيانات Arrow المرمّزة في الذاكرة على القرص.

مثال:

```py
>>> ds = Dataset.from_parquet('path/to/dataset.parquet')
```

تحميل مجموعة فرعية من الأعمدة:

```python
>>> ds = Dataset.from_parquet('path/to/dataset.parquet', columns=["col_0", "col_1"])
```

Efficiently filter data, possibly skipping entire files or row groups:

```python
>>> filters = [("col_0", "==", 0)]
>>> ds = Dataset.from_parquet(parquet_files_list, filters=filters)
```

#### from_text[[datasets.Dataset.from_text]]

```python
from_text(path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]], split: typing.Optional[datasets.splits.NamedSplit] = None, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, num_proc: typing.Optional[int] = None, keep_linebreaks: bool = False, sample_by: typing.Literal['line', 'paragraph', 'document'] = 'line', **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L1578)

**المعاملات:**

path_or_paths (`path-like` أو قائمة من `path-like`) : مسار(ات) ملف(ات) النص.

split (`NamedSplit`، *اختياري*) : اسم التقسيم الذي سيُسند إلى مجموعة البيانات.

features (`Features`، *اختياري*) : ميزات مجموعة البيانات.

cache_dir (`str`، *اختياري*، القيمة الافتراضية `"~/.cache/huggingface/datasets"`) : المجلد الذي يُخزَّن فيه البيانات مؤقتًا.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم نسخ البيانات في الذاكرة.

num_proc (`int`، *اختياري*، القيمة الافتراضية `None`) : عدد العمليات عند تنزيل مجموعة البيانات وتوليدها محليًا. يكون هذا مفيدًا إذا كانت مجموعة البيانات مكوّنة من ملفات متعددة. يتم تعطيل المعالجة متعددة العمليات افتراضيًا.

keep_linebreaks : (`bool`، القيمة الافتراضية False): ما إذا كان يجب الإبقاء على أسطر الفاصل.

sample_by (`Literal["line", "paragraph", "document"]`، الافتراضي "line") : ما إذا كان سيتم تحميل البيانات سطرًا سطرًا، أو فقرةً فقرةً، أو مستندًا مستندًا. افتراضيًا، كل صف في مجموعة البيانات = سطر واحد.

- ****kwargs** (معلمات إضافية بالكلمات المفتاحية): معلمات بالكلمات المفتاحية تُمرَّر إلى `TextConfig`.

**يعيد:**

[مجموعة البيانات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

إنشاء مجموعة بيانات من ملف نصي أو أكثر.

اقرأ ملفات النص، وخزّن البيانات بصيغة Arrow على القرص، ثم أعد Dataset من بيانات Arrow المخرجة من الذاكرة على القرص.

مثال:

```py
>>> ds = Dataset.from_text('path/to/dataset.txt')
```

#### from_sql[[datasets.Dataset.from_sql]]

```python
from_sql(sql: typing.Union[str, ForwardRef('sqlalchemy.sql.Selectable')], con: typing.Union[str, ForwardRef('sqlalchemy.engine.Connection'), ForwardRef('sqlalchemy.engine.Engine'), ForwardRef('sqlite3.Connection')], features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L1706)

**المعاملات:**

sql (`str` أو `sqlalchemy.sql.Selectable`) : استعلام SQL لتنفيذه أو اسم جدول.

con (`str` أو `sqlite3.Connection` أو `sqlalchemy.engine.Connection` أو `sqlalchemy.engine.Connection`) : [نص URI](https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls) يُستخدم لإنشاء اتصال بقاعدة البيانات أو كائن اتصال SQLite3/SQLAlchemy.

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)، *اختياري*) : ميزات مجموعة البيانات.

cache_dir (`str`، *اختياري*، القيمة الافتراضية `"~/.cache/huggingface/datasets"`) : المجلد الذي يُخزَّن فيه البيانات مؤقتًا.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم نسخ البيانات في الذاكرة.

- ****kwargs** (معلمات إضافية بالكلمات المفتاحية): معلمات بالكلمات المفتاحية تُمرَّر إلى `SqlConfig`.

**يعيد:**

[مجموعة البيانات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)

إنشاء مجموعة بيانات من استعلام SQL أو جدول قاعدة بيانات.

استعلام قاعدة بيانات SQL، وتخزين البيانات مؤقتًا على القرص بتنسيق Arrow، وإرجاع Dataset من بيانات Arrow المرمّزة في الذاكرة على القرص.

مثال:

```py
>>> # Fetch a database table
>>> ds = Dataset.from_sql("test_data", "postgres:///db_name")
>>> # Execute a SQL query on the table
>>> ds = Dataset.from_sql("SELECT sentence FROM test_data", "postgres:///db_name")
>>> # Use a Selectable object to specify the query
>>> from sqlalchemy import select, text
>>> stmt = select([text("sentence")]).select_from(text("test_data"))
>>> ds = Dataset.from_sql(stmt, "postgres:///db_name")
```

> [!TIP]
> لا يمكن تخزين مجموعة البيانات المُعادّة مؤقتًا إلا إذا تم تحديد `con` كنص URI.

#### align_labels_with_mapping[[datasets.Dataset.align_labels_with_mapping]]

```python
align_labels_with_mapping(label2id: dict, label_column: str)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L6600)

**المعاملات:**

label2id (`dict`) : إسناد أسماء التسميات إلى المعرّفات لمواءمة مجموعة البيانات.

label_column (`str`) : اسم العمود الخاص بالتسميات التي سيتم المحاذاة عليها.

مطابقة تعيين معرّفات التسميات وأسماء التسميات في مجموعة البيانات مع تعيين `label2id` المُدخل. يكون هذا مفيدًا عندما تريد التأكد من أن التسميات المتوقعة من النموذج متوافقة مع مجموعة البيانات. يتم تنفيذ المطابقة باستخدام أسماء التسميات بحروف صغيرة.

مثال:

```python
>>> # dataset with mapping {'entailment': 0, 'neutral': 1, 'contradiction': 2}
>>> ds = load_dataset("nyu-mll/glue", "mnli", split="train")
>>> # mapping to align with
>>> label2id = {'CONTRADICTION': 0, 'NEUTRAL': 1, 'ENTAILMENT': 2}
>>> ds_aligned = ds.align_labels_with_mapping(label2id, "label")
```

#### datasets.concatenate_datasets[[datasets.concatenate_datasets]]

```python
datasets.concatenate_datasets(dsets: list, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, axis: int = 0)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/combine.py#L168)

**المعاملات:**

dsets (`List[datasets.Dataset]` أو `List[datasets.IterableDataset]`) : قائمة مجموعات البيانات التي سيتم دمجها.

info (`DatasetInfo`، *اختياري*) : معلومات عن مجموعة البيانات، مثل الوصف والاستشهاد وما إلى ذلك.

split (`NamedSplit`، *اختياري*) : اسم تقسيم مجموعة البيانات.

axis (`{0, 1}`، القيمة الافتراضية هي `0`) : المحور الذي سيتم الدمج عليه، حيث يعني `0` الدمج عبر الصفوف (رأسياً) ويعني `1` الدمج عبر الأعمدة (أفقياً).

دمج عدة مجموعات بيانات (مصادر) في مجموعة بيانات واحدة.

استخدم axis=0 للدمج عموديًا (الافتراضي)، أو axis=1 للدمج أفقيًا.

ملاحظة بخصوص مجموعات البيانات القابلة للتكرار:

* if axis=0, the resulting dataset's `num_shards` is the sum of each dataset's `num_shards`.
* إذا كان axis=1، فإن مجموعة البيانات الناتجة تحتوي على شريحة واحدة (1) لتجنب عدم محاذاة البيانات.
* if the datasets were split with [datasets.distributed.split_dataset_by_node()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.distributed.split_dataset_by_node), they must all be split the same way, and the resulting dataset keeps that split.

مثال:

```py
>>> ds3 = concatenate_datasets([ds1, ds2])
```

#### datasets.interleave_datasets[[datasets.interleave_datasets]]

```python
datasets.interleave_datasets(datasets: list, probabilities: typing.Optional[list[float]] = None, seed: typing.Optional[int] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, stopping_strategy: typing.Literal['first_exhausted', 'all_exhausted', 'all_exhausted_without_replacement'] = 'first_exhausted')
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/combine.py#L18)

**المعاملات:**

datasets (`List[Dataset]` أو `List[IterableDataset]`) : قائمة مجموعات البيانات التي سيتم دمجها بالتناوب.

probabilities (`List[float]`، *اختياري*، القيمة الافتراضية `None`) : إذا تم تحديده، يتم بناء مجموعة البيانات الجديدة عن طريق أخذ عينات من الأمثلة من مصدر واحد في كل مرة وفقًا لهذه الاحتمالات.

seed (`int`، *اختياري*، القيمة الافتراضية `None`) : البذرة العشوائية المستخدمة لاختيار مصدر لكل مثال.

info ([DatasetInfo](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetInfo)، *اختياري*) : معلومات عن مجموعة البيانات، مثل الوصف والاستشهاد وما إلى ذلك.

split ([NamedSplit](/docs/datasets/v5.2.0/ar/package_reference/builder_classes#datasets.NamedSplit)، *اختياري*) : اسم تقسيم مجموعة البيانات.

stopping_strategy (`str`، الافتراضي `first_exhausted`) : تُقترح ثلاث استراتيجيات حاليًا، وهي `first_exhausted` و`all_exhausted` و`all_exhausted_without_replacement`. افتراضيًا، `first_exhausted` هي استراتيجية عيّنة ناقصة، أي أن بناء مجموعة البيانات يتوقف بمجرد نفاد العينات من إحدى مجموعات البيانات. إذا كانت الاستراتيجية `all_exhausted`، فنستخدم استراتيجية عيّنة زائدة، أي أن بناء مجموعة البيانات يتوقف بمجرد إضافة كل عينة من كل مجموعة بيانات مرة واحدة على الأقل. عندما تكون الاستراتيجية `all_exhausted_without_replacement`، نتأكد من أن كل عينة في كل مجموعة بيانات تُسحب مرة واحدة فقط. لاحظ أنه إذا كانت الاستراتيجية `all_exhausted`، فقد يصبح حجم مجموعة البيانات المتداخلة هائلاً: - بدون احتمالات، ستحتوي مجموعة البيانات الناتجة على `max_length_datasets*nb_dataset` عينة. - مع احتمالات محددة، ستحتوي مجموعة البيانات الناتجة على عدد أكبر من العينات إذا كانت بعض مجموعات البيانات لديها احتمال زيار منخفض جدًا.

**يعيد:** [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset) أو [IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset)

يعتمد نوع الإرجاع على معامل `datasets`. يكون `Dataset` إذا كان الإدخال قائمة من `Dataset`، و`IterableDataset` إذا كان الإدخال قائمة من `IterableDataset`.

interleave_datasets يمزج عدة مجموعات بيانات (مصادر) في مجموعة بيانات واحدة. يتم بناء المجموعة الجديدة بالتناوب بين المصادر للحصول على الأمثلة.

يمكنك استخدام هذه الدالة على قائمة من كائنات [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset)، أو على قائمة من كائنات [IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset).

- إذا كانت `probabilities` تساوي `None` (الافتراضي)، يتم إنشاء مجموعة البيانات الجديدة بالتناوب بين كل مصدر للحصول على الأمثلة.
- إذا لم يكن `probabilities` هو `None`، يتم بناء مجموعة البيانات الجديدة عن طريق أخذ أمثلة من مصدر عشوائي في كل مرة وفقًا للاحتمالات المُقدَّمة.

ينتهي مجموعة البيانات الناتجة عندما تنفد الأمثلة من أحد مجموعات البيانات المصدرية، باستثناء عندما يكون `oversampling` هو `True`، وفي هذه الحالة، تنتهي مجموعة البيانات الناتجة عندما تنفد الأمثلة من جميع مجموعات البيانات مرة واحدة على الأقل.

ملاحظة بخصوص مجموعات البيانات القابلة للتكرار:

* عدد `num_shards` في مجموعة البيانات الناتجة هو الحد الأدنى لعدد `num_shards` في كل مجموعة بيانات لضمان توازٍ جيد. إذا كانت بعض مجموعات البيانات لديك تحتوي على عدد منخفض جداً من الأجزاء، يمكنك استخدام [IterableDataset.reshard()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset.reshard).
* في الإعداد الموزّع أو في عمّالي PyTorch DataLoader، تُطبَّق استراتيجية التوقف لكل عملية على حدة. لذلك، يمكن لاستراتيجية "first_exhausted" على مجموعة بيانات قابلة للتكرار مقسّمة إلى شرائح أن تولّد عددًا أقل من العينات إجمالًا (بحد أقصى عينة مفقودة واحدة لكل مجموعة فرعية من البيانات ولكل عامل).

مثال:

للمجموعات البيانات العادية (بنمط الخريطة):

```python
>>> from datasets import Dataset, interleave_datasets
>>> d1 = Dataset.from_dict({"a": [0, 1, 2]})
>>> d2 = Dataset.from_dict({"a": [10, 11, 12]})
>>> d3 = Dataset.from_dict({"a": [20, 21, 22]})
>>> dataset = interleave_datasets([d1, d2, d3], probabilities=[0.7, 0.2, 0.1], seed=42, stopping_strategy="all_exhausted")
>>> dataset["a"]
[10, 0, 11, 1, 2, 20, 12, 10, 0, 1, 2, 21, 0, 11, 1, 2, 0, 1, 12, 2, 10, 0, 22]
>>> dataset = interleave_datasets([d1, d2, d3], probabilities=[0.7, 0.2, 0.1], seed=42)
>>> dataset["a"]
[10, 0, 11, 1, 2]
>>> dataset = interleave_datasets([d1, d2, d3])
>>> dataset["a"]
[0, 10, 20, 1, 11, 21, 2, 12, 22]
>>> dataset = interleave_datasets([d1, d2, d3], stopping_strategy="all_exhausted")
>>> dataset["a"]
[0, 10, 20, 1, 11, 21, 2, 12, 22]
>>> d1 = Dataset.from_dict({"a": [0, 1, 2]})
>>> d2 = Dataset.from_dict({"a": [10, 11, 12, 13]})
>>> d3 = Dataset.from_dict({"a": [20, 21, 22, 23, 24]})
>>> dataset = interleave_datasets([d1, d2, d3])
>>> dataset["a"]
[0, 10, 20, 1, 11, 21, 2, 12, 22]
>>> dataset = interleave_datasets([d1, d2, d3], stopping_strategy="all_exhausted")
>>> dataset["a"]
[0, 10, 20, 1, 11, 21, 2, 12, 22, 0, 13, 23, 1, 10, 24]
>>> dataset = interleave_datasets([d1, d2, d3], probabilities=[0.7, 0.2, 0.1], seed=42)
>>> dataset["a"]
[10, 0, 11, 1, 2]
>>> dataset = interleave_datasets([d1, d2, d3], probabilities=[0.7, 0.2, 0.1], seed=42, stopping_strategy="all_exhausted")
>>> dataset["a"]
[10, 0, 11, 1, 2, 20, 12, 13, ..., 0, 1, 2, 0, 24]
For datasets in streaming mode (iterable):

>>> from datasets import interleave_datasets
>>> d1 = load_dataset('allenai/c4', 'es', split='train', streaming=True)
>>> d2 = load_dataset('allenai/c4', 'fr', split='train', streaming=True)
>>> dataset = interleave_datasets([d1, d2])
>>> iterator = iter(dataset)
>>> next(iterator)
{'text': 'Comprar Zapatillas para niña en chancla con goma por...'}
>>> next(iterator)
{'text': 'Le sacre de philippe ier, 23 mai 1059 - Compte Rendu...'
```

#### datasets.distributed.split_dataset_by_node[[datasets.distributed.split_dataset_by_node]]

```python
datasets.distributed.split_dataset_by_node(dataset: ~DatasetType, rank: int, world_size: int, strategy: typing.Literal['auto', 'shards', 'examples'] = 'auto')
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/distributed.py#L10)

**المعاملات:**

dataset ([Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset) أو [IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset)) : مجموعة البيانات التي سيتم تقسيمها حسب العقدة.

rank (`int`) : ترتيب العقدة الحالية.

world_size (`int`) : إجمالي عدد العقد.

strategy (`str`، القيمة الافتراضية `"auto"`) : كيفية تقسيم مجموعة بيانات قابلة للتكرار. يجب أن تكون واحدة من `"auto"` أو `"shards"` أو `"examples"`. مجموعات البيانات من نوع الخريطة تدعم `"auto"` فقط.

**يعيد:** [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset) أو [IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset)

مجموعة البيانات التي سيتم استخدامها على العقدة ذات الترتيب `rank`.

قسّم مجموعة البيانات الخاصة بالعقدة ذات الترتيب `rank` في مجموعة عقد حجمها `world_size`.

للمجموعات البيانات ذات نمط الخريطة:

يُسنَد إلى كل عقدة جزء من البيانات، على سبيل المثال يُمنح الرتبة 0 الجزء الأول من مجموعة البيانات. ولتحقيق أقصى معدل لإدخال البيانات، تُشكَّل الأجزاء من بيانات متجاورة على القرص إن أمكن.

للمجموعات البيانات القابلة للتكرار:

يمكن أن تكون `strategy` للتقسيم `"auto"` أو `"shards"` أو `"examples"`:

* `"shards"`: يتم توزيع الشرائح بالتساوي عبر العقد
* `"examples"`: يحتفظ كل عقدة بمثال واحد من `world_size`، متجاوزةً الأمثلة الأخرى
* `"auto"` (الافتراضي): يستخدم `"shards"` إذا كان عدد الشرائح في مجموعة البيانات عاملًا قاسمًا لـ `world_size`
(أي إذا كان `dataset.num_shards % world_size == 0`)، وهو الخيار الأكثر تحسينًا. وإلا يتم استخدام `"examples"`.

> [!WARNING]
> إذا قمت بتبديل ترتيب مجموعة البيانات القابلة للتكرار في إعداد موزّع، فتأكد من تعيين `seed` ثابت في [IterableDataset.shuffle()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset.shuffle)
لذا يُستخدم نفس القائمة المُختلطة من الشرائح على كل عقدة لمعرفة الشرائح التي يجب على العقدة تجاوزها.

#### datasets.enable_caching[[datasets.enable_caching]]

```python
datasets.enable_caching()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/fingerprint.py#L120)

عند تطبيق التحويلات على مجموعة بيانات، تُخزَّن البيانات في ملفات تخزين مؤقت. يتيح آلية التخزين المؤقت إعادة تحميل ملف تخزين مؤقت موجود إذا كان قد تم حسابه مسبقًا.

من الممكن إعادة تحميل مجموعة البيانات لأن ملفات التخزين المؤقت تُسمّى باستخدام بصمة مجموعة البيانات، والتي يتم تحديثها بعد كل تحويل.

إذا تم تعطيلها، لن تعيد المكتبة تحميل ملفات مجموعات البيانات المخزنة مؤقتًا عند تطبيق التحويلات على مجموعات البيانات. وبشكل أدق، إذا تم تعطيل التخزين المؤقت:
- تُعاد ملفات الكاش دائمًا
- تُكتب ملفات الكاش في مجلد مؤقت يُحذف عند إغلاق الجلسة
- تُسمّى ملفات التخزين المؤقت باستخدام تجزئة عشوائية بدلاً من بصمة مجموعة البيانات
- استخدم [save_to_disk()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.save_to_disk) لحفظ مجموعة البيانات المُحوَّلة، وإلا فسيتم حذفها عند إغلاق الجلسة
- لا يؤثر التخزين المؤقت على [load_dataset()](/docs/datasets/v5.2.0/ar/package_reference/loading_methods#datasets.load_dataset). إذا كنت ترغب في إعادة توليد مجموعة بيانات من الصفر، فيجب عليك استخدام
معامل `download_mode` في [load_dataset()](/docs/datasets/v5.2.0/ar/package_reference/loading_methods#datasets.load_dataset).

#### datasets.disable_caching[[datasets.disable_caching]]

```python
datasets.disable_caching()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/fingerprint.py#L141)

عند تطبيق التحويلات على مجموعة بيانات، تُخزَّن البيانات في ملفات تخزين مؤقت. يتيح آلية التخزين المؤقت إعادة تحميل ملف تخزين مؤقت موجود إذا كان قد تم حسابه مسبقًا.

من الممكن إعادة تحميل مجموعة البيانات لأن ملفات التخزين المؤقت تُسمّى باستخدام بصمة مجموعة البيانات، والتي يتم تحديثها بعد كل تحويل.

إذا تم تعطيلها، لن تعيد المكتبة تحميل ملفات مجموعات البيانات المخزنة مؤقتًا عند تطبيق التحويلات على مجموعات البيانات. وبشكل أدق، إذا تم تعطيل التخزين المؤقت:
- تُعاد ملفات الكاش دائمًا
- تُكتب ملفات الكاش في مجلد مؤقت يُحذف عند إغلاق الجلسة
- تُسمّى ملفات التخزين المؤقت باستخدام تجزئة عشوائية بدلاً من بصمة مجموعة البيانات
- استخدم [save_to_disk()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.save_to_disk) لحفظ مجموعة البيانات المُحوَّلة، وإلا فسيتم حذفها عند إغلاق الجلسة
- لا يؤثر التخزين المؤقت على [load_dataset()](/docs/datasets/v5.2.0/ar/package_reference/loading_methods#datasets.load_dataset). إذا كنت ترغب في إعادة توليد مجموعة بيانات من الصفر، فيجب عليك استخدام
معامل `download_mode` في [load_dataset()](/docs/datasets/v5.2.0/ar/package_reference/loading_methods#datasets.load_dataset).

#### datasets.is_caching_enabled[[datasets.is_caching_enabled]]

```python
datasets.is_caching_enabled()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/fingerprint.py#L162)

عند تطبيق التحويلات على مجموعة بيانات، تُخزَّن البيانات في ملفات تخزين مؤقت. يتيح آلية التخزين المؤقت إعادة تحميل ملف تخزين مؤقت موجود إذا كان قد تم حسابه مسبقًا.

من الممكن إعادة تحميل مجموعة البيانات لأن ملفات التخزين المؤقت تُسمّى باستخدام بصمة مجموعة البيانات، والتي يتم تحديثها بعد كل تحويل.

إذا تم تعطيلها، لن تعيد المكتبة تحميل ملفات مجموعات البيانات المخزنة مؤقتًا عند تطبيق التحويلات على مجموعات البيانات. وبشكل أدق، إذا تم تعطيل التخزين المؤقت:
- تُعاد ملفات الكاش دائمًا
- تُكتب ملفات الكاش في مجلد مؤقت يُحذف عند إغلاق الجلسة
- تُسمّى ملفات التخزين المؤقت باستخدام تجزئة عشوائية بدلاً من بصمة مجموعة البيانات
- استخدم [save_to_disk()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.save_to_disk) لحفظ مجموعة البيانات المُحوَّلة، وإلا فسيتم حذفها عند إغلاق الجلسة
- لا يؤثر التخزين المؤقت على [load_dataset()](/docs/datasets/v5.2.0/ar/package_reference/loading_methods#datasets.load_dataset). إذا كنت ترغب في إعادة توليد مجموعة بيانات من الصفر، فيجب عليك استخدام
معامل `download_mode` في [load_dataset()](/docs/datasets/v5.2.0/ar/package_reference/loading_methods#datasets.load_dataset).

#### datasets.Column[[datasets.Column]]

```python
datasets.Column(source: typing.Union[ForwardRef('Dataset'), ForwardRef('Column')], column_name: str)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L638)

قابلة للتكرار لعمود محدد من [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset).

مثال:

تكرار على نصوص عمود "text" في مجموعة بيانات:

```python
for text in dataset["text"]:
    ...
```

يعمل أيضًا مع الأعمدة المتداخلة:

```python
for source in dataset["metadata"]["source"]:
    ...
```

## DatasetDict[[datasets.DatasetDict]]

قاموس تُستخدم فيه الأسماء المقسّمة كمفاتيح (مثل 'train' و 'test')، وتُستخدم كائنات `Dataset` كقيم. كما يحتوي على طرق تحويل مجموعات البيانات مثل map أو filter، لمعالجة جميع التقسيمات دفعة واحدة.

#### datasets.DatasetDict[[datasets.DatasetDict]]

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L53)

قاموس (dict of str: datasets.Dataset) يحتوي على طرق تحويلات مجموعة البيانات (map، filter، إلخ)

#### data[[datasets.DatasetDict.data]]

```python
data()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L94)

جداول Apache Arrow التي تدعم كل تقسيم.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.data
```

#### cache_files[[datasets.DatasetDict.cache_files]]

```python
cache_files()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L109)

ملفات الكاش التي تحتوي على جدول Apache Arrow الذي يدعم كل تقسيم.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.cache_files
{'test': [{'filename': '/root/.cache/huggingface/datasets/rotten_tomatoes_movie_review/default/1.0.0/40d411e45a6ce3484deed7cc15b82a53dad9a72aafd9f86f8f227134bec5ca46/rotten_tomatoes_movie_review-test.arrow'}],
 'train': [{'filename': '/root/.cache/huggingface/datasets/rotten_tomatoes_movie_review/default/1.0.0/40d411e45a6ce3484deed7cc15b82a53dad9a72aafd9f86f8f227134bec5ca46/rotten_tomatoes_movie_review-train.arrow'}],
 'validation': [{'filename': '/root/.cache/huggingface/datasets/rotten_tomatoes_movie_review/default/1.0.0/40d411e45a6ce3484deed7cc15b82a53dad9a72aafd9f86f8f227134bec5ca46/rotten_tomatoes_movie_review-validation.arrow'}]}
```

#### num_columns[[datasets.DatasetDict.num_columns]]

```python
num_columns()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L127)

عدد الأعمدة في كل تقسيم من مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.num_columns
{'test': 2, 'train': 2, 'validation': 2}
```

#### num_rows[[datasets.DatasetDict.num_rows]]

```python
num_rows()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L143)

عدد الصفوف في كل جزء من مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.num_rows
{'test': 1066, 'train': 8530, 'validation': 1066}
```

#### column_names[[datasets.DatasetDict.column_names]]

```python
column_names()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L159)

أسماء الأعمدة في كل تقسيم من مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.column_names
{'test': ['text', 'label'],
 'train': ['text', 'label'],
 'validation': ['text', 'label']}
```

#### الشكل[[datasets.DatasetDict.shape]]

```python
shape()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L177)

شكل كل جزء من مجموعة البيانات (عدد الصفوف، عدد الأعمدة).

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.shape
{'test': (1066, 2), 'train': (8530, 2), 'validation': (1066, 2)}
```

#### فريد[[datasets.DatasetDict.unique]]

```python
unique(column: str)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L226)

**المعاملات:**

column (`str`) : اسم العمود (قائمة بجميع أسماء الأعمدة باستخدام [column_names](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict.column_names))

**يعيد:** Dict[`str`, `list`]

قاموس للعناصر الفريدة في العمود المحدد.

إرجاع قائمة بالعناصر الفريدة في عمود لكل تقسيم.

يتم تنفيذ ذلك في الخلفية منخفضة المستوى، ولذلك فهو سريع للغاية.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.unique("label")
{'test': [1, 0], 'train': [1, 0], 'validation': [1, 0]}
```

#### cleanup_cache_files[[datasets.DatasetDict.cleanup_cache_files]]

```python
cleanup_cache_files()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L250)

**يعيد:**

`Dict` يحتوي على عدد الملفات المحذوفة لكل تقسيم

قم بتنظيف جميع ملفات الكاش في مجلد كاش مجموعة البيانات، باستثناء ملف الكاش المستخدم حاليًا إن وُجد. انتبه عند تنفيذ هذا الأمر إلى عدم وجود أي عملية أخرى تستخدم ملفات كاش أخرى في الوقت الحالي.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.cleanup_cache_files()
{'test': 0, 'train': 0, 'validation': 0}
```

#### خريطة[[datasets.DatasetDict.map]]

```python
map(function: typing.Optional[typing.Callable] = None, with_indices: bool = False, with_rank: bool = False, with_split: bool = False, input_columns: typing.Union[str, list[str], NoneType] = None, batched: bool = False, batch_size: typing.Optional[int] = 1000, drop_last_batch: bool = False, remove_columns: typing.Union[str, list[str], NoneType] = None, keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, cache_file_names: typing.Optional[dict[str, typing.Optional[str]]] = None, writer_batch_size: typing.Optional[int] = 1000, features: typing.Optional[datasets.features.features.Features] = None, disable_nullable: bool = False, fn_kwargs: typing.Optional[dict] = None, num_proc: typing.Optional[int] = None, desc: typing.Optional[str] = None, try_original_type: typing.Optional[bool] = True, on_mixed_types: typing.Optional[typing.Literal['use_json']] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L814)

**المعاملات:**

function (`callable`) : مع أحد التواقيع التالية: - `function(example: Dict[str, Any]) -> Dict[str, Any]` إذا كان `batched=False` و `with_indices=False` - `function(example: Dict[str, Any], indices: int) -> Dict[str, Any]` إذا كان `batched=False` و `with_indices=True` - `function(batch: Dict[str, list]) -> Dict[str, list]` إذا كان `batched=True` و `with_indices=False` - `function(batch: Dict[str, list], indices: list[int]) -> Dict[str, list]` إذا كان `batched=True` و `with_indices=True` للاستخدام المتقدم، يمكن للدالة أيضاً أن تُرجع `pyarrow.Table`. إذا كانت الدالة غير متزامنة، فسيُنفّذ `map` دالتك بالتوازي. علاوة على ذلك، إذا كانت دالتك لا تُرجع شيئاً (`None`)، فسيُنفّذ `map` دالتك ويُرجع مجموعة البيانات دون تغيير. إذا لم تُوفَّر دالة، فسيتم افتراض دالة الهوية: `lambda x: x`.

with_indices (`bool`، القيمة الافتراضية `False`) : تقديم فهارس أمثلة إلى `function`. لاحظ أنه في هذه الحالة يجب أن تكون التوقيع الخاص بـ `function` على النحو التالي `def function(example, idx): ...`.

with_rank (`bool`، القيمة الافتراضية `False`) : توفير ترتيب العملية إلى `function`. لاحظ أنه في هذه الحالة يجب أن تكون التوقيع الخاص بـ `function` هو `def function(example[, idx], rank): ...`.

with_split (`bool`، القيمة الافتراضية `False`) : توفير تقسيم العملية إلى `function`. لاحظ أنه في هذه الحالة يجب أن تكون التوقيع الخاص بـ `function` على النحو التالي `def function(example[, idx], split): ...`.

input_columns (`[Union[str, list[str]]]`، *اختياري*، القيمة الافتراضية `None`) : الأعمدة التي سيتم تمريرها إلى `function` كحجج موضعية. إذا كانت `None`، يتم تمرير قاموس (dict) يربط جميع الأعمدة المنسّقة كحجة واحدة.

batched (`bool`، القيمة الافتراضية `False`) : تقديم دفعة من الأمثلة إلى `function`.

batch_size (`int`، *اختياري*، القيمة الافتراضية `1000`) : عدد الأمثلة في كل دفعة تُقدَّم إلى `function` إذا كان `batched=True`، أو `batch_size <= 0`، أو `batch_size == None`، فيُقدَّم كامل مجموعة البيانات كدفعة واحدة إلى `function`.

drop_last_batch (`bool`، القيمة الافتراضية `False`) : ما إذا كان يجب تجاهل الدفعة الأخيرة الأصغر من batch_size بدلاً من معالجتها بواسطة الدالة.

remove_columns (`[Union[str, list[str]]]`، *اختياري*، القيمة الافتراضية `None`) : إزالة مجموعة من الأعمدة أثناء تنفيذ عملية الخرائط. سيتم حذف الأعمدة قبل تحديث الأمثلة بمخرجات `function`، أي إذا كان `function` يضيف أعمدة بأسماء موجودة في `remove_columns`، فسيتم الاحتفاظ بهذه الأعمدة.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : يُبقي مجموعة البيانات في الذاكرة بدلاً من كتابتها إلى ملف مؤقت.

load_from_cache_file (`Optional[bool]`، القيمة الافتراضية هي `True` إذا كان التخزين المؤقت مفعلاً): إذا أمكن تحديد ملف تخزين مؤقت يحفظ الحساب الحالي من `function`، فاستخدمه بدلاً من إعادة الحساب.

cache_file_names (`[Dict[str, str]]`، *اختياري*، القيمة الافتراضية `None`) : يُحدد اسم المسار لملف التخزين المؤقت. يُستخدم لتخزين نتائج الحساب بدلاً من اسم ملف التخزين المؤقت المولّد تلقائيًا. يجب عليك تقديم `cache_file_name` واحد لكل مجموعة بيانات في قاموس مجموعة البيانات.

writer_batch_size (`int`، الافتراضي `1000`) : عدد الصفوف لكل عملية كتابة في كاتب ملف الكاش. تُعد هذه القيمة توازنًا جيدًا بين استهلاك الذاكرة أثناء المعالجة وسرعة المعالجة. القيمة الأعلى تجعل المعالجة تُجري عمليات بحث أقل، بينما تستهلك القيمة الأقل ذاكرة مؤقتة أقل أثناء تشغيل `map`.

features (`[datasets.Features]`، *اختياري*، القيمة الافتراضية `None`) : استخدم [Features](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features) محددة لتخزين ملف الكاش بدلاً من الملف المولّد تلقائيًا.

disable_nullable (`bool`، القيمة الافتراضية `False`) : يمنع القيم الفارغة (null) في الجدول.

fn_kwargs (`Dict`، *اختياري*، القيمة الافتراضية `None`) : حُجج الكلمات المفتاحية التي سيتم تمريرها إلى `function`

num_proc (`int`, *اختياري*, القيمة الافتراضية `None`) : عدد العمليات المستخدمة للمعالجة متعددة العمليات. - إذا كانت `None` أو `0`، فلا تُستخدم المعالجة متعددة العمليات وتُنفَّذ العملية في العملية الرئيسية. - إذا كانت أكبر من `1`، تُستخدم عملية عامل واحدة أو عدة عمليات عامل لمعالجة البيانات بالتوازي. ملاحظة: يجب أن تكون الدالة المُمرَّرة إلى `map()` قابلة للتسلسل (picklable) لكي تعمل المعالجة متعددة العمليات بشكل صحيح (أي، يُفضَّل استخدام الدوال المعرَّفة في المستوى العلوي من الوحدة، وليس داخل دالة أو فئة أخرى).

desc (`str`، *اختياري*، القيمة الافتراضية `None`) : وصف ذو معنى ليُعرض إلى جانب شريط التقدم أثناء خرائط الأمثلة.

try_original_type (`Optional[bool]`، القيمة الافتراضية `True`) : محاولة الحفاظ على أنواع الأعمدة الأصلية (مثل int32 -> int32). اضبطها على False إذا كنت تريد دائمًا استنتاج أنواع جديدة.

on_mixed_types (`Literal["use_json"]`، *اختياري*، القيمة الافتراضية `None`) : إذا كانت "use_json"، فاستخدم نوع Json() للحقول ذات الأنواع المختلطة، أي الحقول غير المهيكلة التي تحتوي على بيانات بدون مخطط مسبق التعريف. في هذه الحالة، يتم تعيين الحقل ذو النوع المختلط إلى Json().  وهذا يسمح بتحميل قوائم تحتوي على مزيج من النصوص/الأعداد الصحيحة/الأعداد العشرية على سبيل المثال، أو قواميس بأنواع قيم عشوائية.

تطبيق دالة على جميع الأمثلة في الجدول (فرديةً أو على شكل دفعات) وتحديث الجدول. إذا أعادت دالتك عمودًا موجودًا مسبقًا، فسيتم استبداله. يتم تطبيق التحويل على جميع مجموعات البيانات في قاموس مجموعة البيانات.

يمكنك تحديد ما إذا كان ينبغي تجميع الدالة أم لا باستخدام معامل `batched`:

- إذا كانت `False`، فإن الدالة تستقبل مثالًا واحدًا ويجب أن تُرجع مثالًا واحدًا. المثال هو قاموس، مثل `{"text": "Hello there !"}`.
- إذا كان `True` و`batch_size` يساوي 1، فإن الدالة تستقبل دفعة تحتوي على مثال واحد كمدخلات، ويمكن أن تعيد دفعة تحتوي على مثال واحد أو أكثر. الدفعة هي قاموس، على سبيل المثال دفعة تحتوي على مثال واحد هي `{"text": ["Hello there !"]}`.
- إذا كان `True` و`batch_size` هو `n > 1`، فإن الدالة تستقبل دفعة من `n` أمثلة كمدخلات، ويمكن أن تعيد دفعة تحتوي على `n` أمثلة، أو على عدد عشوائي من الأمثلة. لاحظ أن الدفعة الأخيرة قد تحتوي على أقل من `n` أمثلة. الدفعة هي قاموس، على سبيل المثال، دفعة من `n` أمثلة هي `{"text": ["Hello there !"] * n}`.

إذا كانت الدالة غير متزامنة، فسيُنفّذ `map` دالتك بالتوازي، مع حد أقصى يبلغ ألف استدعاء متزامن. يُنصح باستخدام `asyncio.Semaphore` في دالتك إذا كنت ترغب في تحديد الحد الأقصى لعدد العمليات التي يمكن تنفيذها في الوقت نفسه.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> def add_prefix(example):
...     example["text"] = "Review: " + example["text"]
...     return example
>>> ds = ds.map(add_prefix)
>>> ds["train"][0:3]["text"]
['Review: the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .',
 'Review: the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .',
 'Review: effective but too-tepid biopic']

# process a batch of examples
>>> ds = ds.map(lambda example: tokenizer(example["text"]), batched=True)
# set number of processors
>>> ds = ds.map(add_prefix, num_proc=4)
```

#### تصفية[[datasets.DatasetDict.filter]]

```python
filter(function: typing.Optional[typing.Callable] = None, with_indices: bool = False, with_rank: bool = False, input_columns: typing.Union[str, list[str], NoneType] = None, batched: bool = False, batch_size: typing.Optional[int] = 1000, keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, cache_file_names: typing.Optional[dict[str, typing.Optional[str]]] = None, writer_batch_size: typing.Optional[int] = 1000, fn_kwargs: typing.Optional[dict] = None, num_proc: typing.Optional[int] = None, desc: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L986)

**المعاملات:**

function (`Callable`) : دالة قابلة للاستدعاء بإحدى التواقيع التالية: - `function(example: Dict[str, Any]) -> bool` إذا كان `batched=False` و `with_indices=False` و `with_rank=False` - `function(example: Dict[str, Any], *extra_args) -> bool` إذا كان `batched=False` و `with_indices=True` و/أو `with_rank=True` (حجة إضافية واحدة لكل منهما) - `function(batch: Dict[str, list]) -> list[bool]` إذا كان `batched=True` و `with_indices=False` و `with_rank=False` - `function(batch: Dict[str, list], *extra_args) -> list[bool]` إذا كان `batched=True` و `with_indices=True` و/أو `with_rank=True` (حجة إضافية واحدة لكل منهما) إذا لم يتم تقديم دالة، فإن القيمة الافتراضية هي دالة تعيد دائماً `True`: `lambda x: True`.

with_indices (`bool`، القيمة الافتراضية `False`) : تقديم فهارس أمثلة إلى `function`. لاحظ أنه في هذه الحالة يجب أن تكون التوقيع الخاص بـ `function` على النحو التالي `def function(example, idx[, rank]): ...`.

with_rank (`bool`، القيمة الافتراضية `False`) : توفير ترتيب العملية إلى `function`. لاحظ أنه في هذه الحالة يجب أن تكون التوقيع الخاص بـ `function` هو `def function(example[, idx], rank): ...`.

input_columns (`[Union[str, list[str]]]`، *اختياري*، القيمة الافتراضية `None`) : الأعمدة التي سيتم تمريرها إلى `function` كحجج موضعية. إذا كانت `None`، يتم تمرير قاموس (dict) يربط جميع الأعمدة المنسّقة كحجة واحدة.

batched (`bool`، القيمة الافتراضية `False`) : تقديم دفعة من الأمثلة إلى `function`.

batch_size (`int`، *اختياري*، القيمة الافتراضية `1000`) : عدد الأمثلة في كل دفعة تُقدَّم إلى `function` إذا كان `batched=True`. إذا كان `batch_size <= 0` أو `batch_size == None`، فسيتم تقديم مجموعة البيانات الكاملة كدفعة واحدة إلى `function`.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : يُبقي مجموعة البيانات في الذاكرة بدلاً من كتابتها إلى ملف مؤقت.

load_from_cache_file (`Optional[bool]`، القيمة الافتراضية هي `True` إذا كان التخزين المؤقت مفعلاً): إذا أمكن تحديد ملف تخزين مؤقت يحفظ الحساب الحالي من `function`، فاستخدمه بدلاً من إعادة الحساب.

cache_file_names (`[Dict[str, str]]`، *اختياري*، القيمة الافتراضية `None`) : يُحدد اسم المسار لملف التخزين المؤقت. يُستخدم لتخزين نتائج الحساب بدلاً من اسم ملف التخزين المؤقت المولّد تلقائيًا. يجب عليك تقديم `cache_file_name` واحد لكل مجموعة بيانات في قاموس مجموعة البيانات.

writer_batch_size (`int`، القيمة الافتراضية `1000`) : عدد الصفوف لكل عملية كتابة في كاتب ملف الكاش. تُعد هذه القيمة توازنًا جيدًا بين استهلاك الذاكرة أثناء المعالجة وسرعة المعالجة. يؤدي رفع القيمة إلى تقليل عدد عمليات البحث أثناء المعالجة، بينما يؤدي خفضها إلى تقليل استهلاك الذاكرة المؤقتة أثناء تشغيل `map`.

fn_kwargs (`Dict`، *اختياري*، القيمة الافتراضية `None`) : حُجج الكلمات المفتاحية التي سيتم تمريرها إلى `function`

num_proc (`int`, *اختياري*, القيمة الافتراضية `None`) : عدد العمليات المستخدمة للمعالجة متعددة العمليات. - إذا كانت `None` أو `0`، فلا تُستخدم المعالجة متعددة العمليات وتُنفَّذ العملية في العملية الرئيسية. - إذا كانت أكبر من `1`، تُستخدم عملية عامل واحدة أو عدة عمليات عامل لمعالجة البيانات بالتوازي. ملاحظة: يجب أن تكون الدالة المُمرَّرة إلى `map()` قابلة للتسلسل (picklable) لكي تعمل المعالجة متعددة العمليات بشكل صحيح (أي، يُفضَّل استخدام الدوال المعرَّفة في المستوى العلوي من الوحدة، وليس داخل دالة أو فئة أخرى).

desc (`str`، *اختياري*، القيمة الافتراضية `None`) : وصف ذو معنى ليُعرض إلى جانب شريط التقدم أثناء تصفية الأمثلة.

تطبيق دالة تصفية على جميع العناصر في الجدول على دفعات وتحديث الجدول بحيث تتضمن مجموعة البيانات أمثلةً فقط وفقاً لدالة التصفية. يتم تطبيق التحويل على جميع مجموعات البيانات في قاموس مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.filter(lambda x: x["label"] == 1)
DatasetDict({
    train: Dataset({
        features: ['text', 'label'],
        num_rows: 4265
    })
    validation: Dataset({
        features: ['text', 'label'],
        num_rows: 533
    })
    test: Dataset({
        features: ['text', 'label'],
        num_rows: 533
    })
})
```

#### فرز[[datasets.DatasetDict.sort]]

```python
sort(column_names: typing.Union[str, collections.abc.Sequence[str]], reverse: typing.Union[bool, collections.abc.Sequence[bool]] = False, null_placement: str = 'at_end', keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, indices_cache_file_names: typing.Optional[dict[str, typing.Optional[str]]] = None, writer_batch_size: typing.Optional[int] = 1000)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L1151)

**المعاملات:**

column_names (`Union[str, Sequence[str]]`) : اسم العمود أو الأعمدة التي سيتم الفرز بناءً عليها.

reverse (`Union[bool, Sequence[bool]]`، الافتراضي `False`) : إذا كان `True`، يتم الفرز حسب الترتيب التنازلي بدلاً من التصاعدي. إذا تم تقديم قيمة bool واحدة، تُطبَّق القيمة على فرز جميع أسماء الأعمدة. وإلا، يجب تقديم قائمة من قيم bool بنفس طول وترتيب column_names.

null_placement (`str`، الافتراضي `at_end`) : ضع قيم `None` في البداية إذا كان `at_start` أو `first` أو في النهاية إذا كان `at_end` أو `last`

keep_in_memory (`bool`، القيمة الافتراضية `False`) : الاحتفاظ بالفهارس المرتبة في الذاكرة بدلاً من كتابتها في ملف كاش.

load_from_cache_file (`Optional[bool]`، القيمة الافتراضية هي `True` إذا كان التخزين المؤقت مفعلاً): إذا أمكن تحديد ملف تخزين يحتوي على الفهارس المرتبة، فاستخدمه بدلاً من إعادة الحساب.

indices_cache_file_names (`[Dict[str, str]]`، *اختياري*، القيمة الافتراضية `None`) : يُحدد اسم المسار لملف التخزين المؤقت. يُستخدم لتخزين خرائط الفهارس بدلاً من اسم ملف التخزين المؤقت المولّد تلقائيًا. يجب عليك تقديم `cache_file_name` واحد لكل مجموعة بيانات في قاموس مجموعة البيانات.

writer_batch_size (`int`، القيمة الافتراضية `1000`) : عدد الصفوف لكل عملية كتابة في كاتب ملف الكاش. القيمة الأعلى تنتج ملفات كاش أصغر، بينما القيمة الأقل تستهلك ذاكرة مؤقتة أقل.

أنشئ مجموعة بيانات جديدة مرتبة وفقاً لعمود واحد أو عدة أعمدة.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset('cornell-movie-review-data/rotten_tomatoes')
>>> ds['train']['label'][:10]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
>>> sorted_ds = ds.sort('label')
>>> sorted_ds['train']['label'][:10]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
>>> another_sorted_ds = ds.sort(['label', 'text'], reverse=[True, False])
>>> another_sorted_ds['train']['label'][:10]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
```

#### shuffle[[datasets.DatasetDict.shuffle]]

```python
shuffle(seeds: typing.Union[int, dict[str, typing.Optional[int]], NoneType] = None, seed: typing.Optional[int] = None, generators: typing.Optional[dict[str, numpy.random._generator.Generator]] = None, keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, indices_cache_file_names: typing.Optional[dict[str, typing.Optional[str]]] = None, writer_batch_size: typing.Optional[int] = 1000)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L1218)

**المعاملات:**

seeds (`Dict[str, int]` أو `int`، *اختياري*) : بذرة لتبني مولّد البتات الافتراضي إذا كان `generator=None`. إذا كان `None`، فسيتم سحب إنتروبيا جديدة وغير متوقعة من نظام التشغيل. إذا تم تمرير `int` أو `array_like[ints]`، فسيتم تمريرها إلى SeedSequence لاستنتاج حالة BitGenerator الأولية. يمكنك تقديم بذرة واحدة `seed` لكل مجموعة بيانات في قاموس مجموعة البيانات.

seed (`int`, *اختياري*) : بذرة لتوليد BitGenerator الافتراضي إذا كان `generator=None`. مرادف لـ seeds (يتم رفع `ValueError` إذا تم توفير كلاهما).

generators (`Dict[str, *optional*, np.random.Generator]`) : مولّد عشوائي من Numpy يُستخدم لحساب تبديل صفوف مجموعة البيانات. إذا كان `generator=None` (الافتراضي)، يتم استخدام `np.random.default_rng` (مولّد البتات الافتراضي (PCG64) في NumPy). يجب عليك تقديم مولّد واحد `generator` لكل مجموعة بيانات في قاموس مجموعات البيانات.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : يُبقي مجموعة البيانات في الذاكرة بدلاً من كتابتها إلى ملف مؤقت.

load_from_cache_file (`Optional[bool]`، القيمة الافتراضية هي `True` إذا كان التخزين المؤقت مفعلاً): إذا أمكن تحديد ملف تخزين مؤقت يحفظ الحساب الحالي من `function`، فاستخدمه بدلاً من إعادة الحساب.

indices_cache_file_names (`Dict[str, str]`، *اختياري*) : يُحدد اسم المسار لملف التخزين المؤقت. يُستخدم لتخزين خرائط الفهارس بدلاً من اسم ملف التخزين المؤقت المولّد تلقائيًا. يجب عليك تقديم `cache_file_name` واحد لكل مجموعة بيانات في قاموس مجموعة البيانات.

writer_batch_size (`int`، القيمة الافتراضية `1000`) : عدد الصفوف لكل عملية كتابة في كاتب ملف الكاش. تُعد هذه القيمة توازنًا جيدًا بين استهلاك الذاكرة أثناء المعالجة وسرعة المعالجة. يؤدي رفع القيمة إلى تقليل عدد عمليات البحث أثناء المعالجة، بينما يؤدي خفضها إلى تقليل استهلاك الذاكرة المؤقتة أثناء تشغيل `map`.

أنشئ مجموعة بيانات جديدة حيث تكون الصفوف مُخلوطة.

تُطبَّق عملية التحويل على جميع مجموعات البيانات في قاموس مجموعة البيانات.

يستخدم الخلط حاليًا مولّدات الأرقام العشوائية من numpy. يمكنك إما تقديم مولّد بتات من NumPy لاستخدامه، أو تقديم بذرة (seed) لبدء مولّد الأرقام العشوائية الافتراضي في NumPy (PCG64).

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds["train"]["label"][:10]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

# set a seed
>>> shuffled_ds = ds.shuffle(seed=42)
>>> shuffled_ds["train"]["label"][:10]
[0, 1, 0, 1, 0, 0, 0, 0, 0, 0]
```

#### set_format[[datasets.DatasetDict.set_format]]

```python
set_format(type: typing.Optional[str] = None, columns: typing.Optional[list] = None, output_all_columns: bool = False, **format_kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L571)

**المعاملات:**

type (`str`, *اختياري*) : نوع المخرجات المختار من بين `[None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars']`. تعني `None` أن `__getitem__` يعيد كائنات بايثون (الافتراضي).

columns (`list[str]`، *اختياري*) : الأعمدة التي سيتم تنسيقها في المخرجات. تعني `None` أن `__getitem__` يعيد جميع الأعمدة (الافتراضي).

output_all_columns (`bool`، القيمة الافتراضية False) : احتفظ بالأعمدة غير المنسّقة أيضًا في المخرجات (ككائنات بايثون)،

- ****format_kwargs** (معلمات إضافية) : معلمات إضافية تُمرَّر إلى دالة التحويل مثل `np.array` أو `torch.tensor` أو `tensorflow.ragged.constant`.

حدد `__getitem__` صيغة الإرجاع (النوع والأعمدة). يتم ضبط الصيغة لكل مجموعة بيانات في قاموس مجموعات البيانات.

من الممكن استدعاء `map` بعد استدعاء `set_format`. بما أن `map` قد يضيف أعمدة جديدة، فإن قائمة الأعمدة المُنسَّقة يتم تحديثها. في هذه الحالة، إذا طبّقت `map` على مجموعة بيانات لإضافة عمود جديد، فسيتم تنسيق هذا العمود:

`new formatted columns = (all columns - previously unformatted columns)`

مثال:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> ds = ds.map(lambda x: tokenizer(x["text"], truncation=True, padding=True), batched=True)
>>> ds.set_format(type="numpy", columns=['input_ids', 'token_type_ids', 'attention_mask', 'label'])
>>> ds["train"].format
{'columns': ['input_ids', 'token_type_ids', 'attention_mask', 'label'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': 'numpy'}
```

#### reset_format[[datasets.DatasetDict.reset_format]]

```python
reset_format()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L622)

إعادة تعيين صيغة إرجاع `__getitem__` إلى كائنات بايثون وجميع الأعمدة. يتم تطبيق التحويل على جميع مجموعات البيانات في قاموس مجموعة البيانات.

نفس `self.set_format()`

مثال:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> ds = ds.map(lambda x: tokenizer(x["text"], truncation=True, padding=True), batched=True)
>>> ds.set_format(type="numpy", columns=['input_ids', 'token_type_ids', 'attention_mask', 'label'])
>>> ds["train"].format
{'columns': ['input_ids', 'token_type_ids', 'attention_mask', 'label'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': 'numpy'}
>>> ds.reset_format()
>>> ds["train"].format
{'columns': ['text', 'label', 'input_ids', 'token_type_ids', 'attention_mask'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': None}
```

#### formatted_as[[datasets.DatasetDict.formatted_as]]

```python
formatted_as(type: typing.Optional[str] = None, columns: typing.Optional[list] = None, output_all_columns: bool = False, **format_kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L531)

**المعاملات:**

type (`str`, *اختياري*) : نوع المخرجات المختار من بين `[None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars']`. تعني `None` أن `__getitem__` يعيد كائنات بايثون (الافتراضي).

columns (`list[str]`، *اختياري*) : الأعمدة التي سيتم تنسيقها في المخرجات. تعني `None` أن `__getitem__` يعيد جميع الأعمدة (الافتراضي).

output_all_columns (`bool`، القيمة الافتراضية False) : الاحتفاظ بالأعمدة غير المنسّقة أيضًا في المخرجات (ككائنات بايثون).

- ****format_kwargs** (معلمات إضافية) : معلمات إضافية تُمرَّر إلى دالة التحويل مثل `np.array` أو `torch.tensor` أو `tensorflow.ragged.constant`.

يُستخدم في عبارة `with`. اضبط صيغة إرجاع `__getitem__` (النوع والأعمدة). تُطبَّق التحويلة على جميع مجموعات البيانات في قاموس مجموعة البيانات.

#### with_format[[datasets.DatasetDict.with_format]]

```python
with_format(type: typing.Optional[str] = None, columns: typing.Optional[list] = None, output_all_columns: bool = False, **format_kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L683)

**المعاملات:**

type (`str`, *اختياري*) : نوع المخرجات المختار من بين `[None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars']`. تعني `None` أن `__getitem__` يعيد كائنات بايثون (الافتراضي).

columns (`list[str]`، *اختياري*) : الأعمدة التي سيتم تنسيقها في المخرجات. تعني `None` أن `__getitem__` يعيد جميع الأعمدة (الافتراضي).

output_all_columns (`bool`، القيمة الافتراضية `False`) : الاحتفاظ بالأعمدة غير المنسّقة أيضًا في المخرجات (ككائنات بايثون).

- ****format_kwargs** (معلمات إضافية) : معلمات إضافية تُمرَّر إلى دالة التحويل مثل `np.array` أو `torch.tensor` أو `tensorflow.ragged.constant`.

حدد صيغة إرجاع `__getitem__` (النوع والأعمدة). تُطبَّق تنسيق البيانات بشكل فوري. تُستخدم صيغة `type` (مثل "numpy") لتنسيق الدفعات عند استخدام `__getitem__`. يتم تعيين الصيغة لكل مجموعة بيانات في قاموس مجموعات البيانات.

من الممكن أيضًا استخدام تحويلات مخصصة للتنسيق باستخدام [with_transform()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.with_transform).

على عكس [set_format()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict.set_format)، تُعيد `with_format` كائن [DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict) جديدًا يحتوي على كائنات [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset) جديدة.

مثال:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> ds = ds.map(lambda x: tokenizer(x['text'], truncation=True, padding=True), batched=True)
>>> ds["train"].format
{'columns': ['text', 'label', 'input_ids', 'token_type_ids', 'attention_mask'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': None}
>>> ds = ds.with_format("torch")
>>> ds["train"].format
{'columns': ['text', 'label', 'input_ids', 'token_type_ids', 'attention_mask'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': 'torch'}
>>> ds["train"][0]
{'text': 'compassionately explores the seemingly irreconcilable situation between conservative christian parents and their estranged gay and lesbian children .',
 'label': tensor(1),
 'input_ids': tensor([  101, 18027, 16310, 16001,  1103,  9321,   178, 11604,  7235,  6617,
        1742,  2165,  2820,  1206,  6588, 22572, 12937,  1811,  2153,  1105,
        1147, 12890, 19587,  6463,  1105, 15026,  1482,   119,   102,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0]),
 'token_type_ids': tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
 'attention_mask': tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])}
```

#### with_transform[[datasets.DatasetDict.with_transform]]

```python
with_transform(transform: typing.Optional[typing.Callable], columns: typing.Optional[list] = None, output_all_columns: bool = False)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L760)

**المعاملات:**

transform (`Callable`، *اختياري*) : تحويل تنسيق مُعرَّف من قِبل المستخدم، يستبدل التنسيق المُعرَّف بواسطة [set_format()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.set_format). دالة التنسيق هي دالة قابلة للاستدعاء تستقبل دفعة (كقاموس) كمدخل وتعيد دفعة. تُطبَّق هذه الدالة مباشرة قبل إرجاع الكائنات في `__getitem__`.

columns (`list[str]`، *اختياري*) : الأعمدة التي سيتم تنسيقها في المخرجات. إذا تم تحديدها، فإن دفعة الإدخال الخاصة بالتحويل تحتوي فقط على تلك الأعمدة.

output_all_columns (`bool`، القيمة الافتراضية False) : الاحتفاظ بالأعمدة غير المنسّقة أيضًا في المخرجات (ككائنات بايثون). إذا تم ضبطها على `True`، فسيتم الاحتفاظ بالأعمدة غير المنسّقة الأخرى مع مخرجات التحويل.

حدد صيغة إرجاع `__getitem__` باستخدام هذا التحويل. يُطبَّق التحويل على الفور على الدفعات عند استدعاء `__getitem__`. يتم تعيين التحويل لكل مجموعة بيانات في قاموس مجموعات البيانات

كما هو الحال مع [set_format()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.set_format)، يمكن إعادة تعيين هذا باستخدام [reset_format()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.reset_format).

على عكس `set_transform()`، تُعيد `with_transform` كائن [DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict) جديدًا يحتوي على كائنات [Dataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset) جديدة.

مثال:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> def encode(example):
...     return tokenizer(example['text'], truncation=True, padding=True, return_tensors="pt")
>>> ds = ds.with_transform(encode)
>>> ds["train"][0]
{'attention_mask': tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 1, 1, 1, 1, 1, 1, 1, 1, 1]),
 'input_ids': tensor([  101,  1103,  2067,  1110, 17348,  1106,  1129,  1103,  6880,  1432,
        112,   188,  1207,   107, 14255,  1389,   107,  1105,  1115,  1119,
        112,   188,  1280,  1106,  1294,   170, 24194,  1256,  3407,  1190,
        170, 11791,  5253,   188,  1732,  7200, 10947, 12606,  2895,   117,
        179,  7766,   118,   172, 15554,  1181,  3498,  6961,  3263,  1137,
        188,  1566,  7912, 14516,  6997,   119,   102]),
 'token_type_ids': tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0])}
```

#### flatten[[datasets.DatasetDict.flatten]]

```python
flatten(max_depth = 16)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L193)

Flatten جدول Apache Arrow الخاص بكل تقسيم (تتم تسطيح الميزات المتداخلة). يتم تسطيح كل عمود بنوع struct إلى عمود واحد لكل حقل في البنية. تبقى الأعمدة الأخرى دون تغيير.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("rajpurkar/squad")
>>> ds["train"].features
{'id': Value('string'),
 'title': Value('string'),
 'context': Value('string'),
 'question': Value('string'),
 'answers.text': List(Value('string')),
 'answers.answer_start': List(Value('int32'))}
>>> ds.flatten()
DatasetDict({
    train: Dataset({
        features: ['id', 'title', 'context', 'question', 'answers.text', 'answers.answer_start'],
        num_rows: 87599
    })
    validation: Dataset({
        features: ['id', 'title', 'context', 'question', 'answers.text', 'answers.answer_start'],
        num_rows: 10570
    })
})
```

#### cast[[datasets.DatasetDict.cast]]

```python
cast(features: Features)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L274)

**المعاملات:**

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)) : الميزات الجديدة التي سيتم تحويل مجموعة البيانات إليها. يجب أن يتطابق اسم الميزات وترتيبها مع أسماء الأعمدة الحالية. كما يجب أن يكون نوع البيانات قابلاً للتحويل من نوع إلى آخر. بالنسبة للتحويلات غير البسيطة، مثل `string` <-> `ClassLabel`، يجب عليك استخدام [map()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict.map) لتحديث مجموعة البيانات.

قم بتحويل مجموعة البيانات إلى مجموعة ميزات جديدة. يتم تطبيق التحويل على جميع مجموعات البيانات في قاموس مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset, ClassLabel, Value
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds["train"].features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
>>> new_features = ds["train"].features.copy()
>>> new_features['label'] = ClassLabel(names=['bad', 'good'])
>>> new_features['text'] = Value('large_string')
>>> ds = ds.cast(new_features)
>>> ds["train"].features
{'label': ClassLabel(names=['bad', 'good']),
 'text': Value('large_string')}
```

#### cast_column[[datasets.DatasetDict.cast_column]]

```python
cast_column(column: str, feature)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L306)

**المعاملات:**

column (`str`) : اسم العمود.

feature (`Feature`) : الميزة المستهدفة.

**يعيد:**

[DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict)

قم بتحويل العمود إلى ميزة للتحليل.

مثال:

```py
>>> from datasets import load_dataset, ClassLabel
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds["train"].features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
>>> ds = ds.cast_column('label', ClassLabel(names=['bad', 'good']))
>>> ds["train"].features
{'label': ClassLabel(names=['bad', 'good']),
 'text': Value('string')}
```

#### remove_columns[[datasets.DatasetDict.remove_columns]]

```python
remove_columns(column_names: typing.Union[str, list[str]])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L335)

**المعاملات:**

column_names (`Union[str, list[str]]`) : اسم العمود أو الأعمدة المراد حذفها.

**يعيد:** [DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict)

نسخة من كائن مجموعة البيانات دون الأعمدة المراد إزالتها.

إزالة عمود واحد أو عدة أعمدة من كل تقسيم في مجموعة البيانات، بالإضافة إلى الميزات المرتبطة بالعمود أو الأعمدة المعنية.

تُطبَّق عملية التحويل على جميع تقسيمات قاموس مجموعة البيانات.

يمكنك أيضًا إزالة عمود باستخدام [map()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict.map) مع `remove_columns` لكن الطريقة الحالية لا تنسخ بيانات الأعمدة المتبقية وبالتالي فهي أسرع.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds = ds.remove_columns("label")
DatasetDict({
    train: Dataset({
        features: ['text'],
        num_rows: 8530
    })
    validation: Dataset({
        features: ['text'],
        num_rows: 1066
    })
    test: Dataset({
        features: ['text'],
        num_rows: 1066
    })
})
```

#### rename_column[[datasets.DatasetDict.rename_column]]

```python
rename_column(original_column_name: str, new_column_name: str)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L377)

**المعاملات:**

original_column_name (`str`) : اسم العمود الذي سيتم إعادة تسميته.

new_column_name (`str`) : الاسم الجديد للعمود.

إعادة تسمية عمود في مجموعة البيانات ونقل الميزات المرتبطة بالعمود الأصلي إلى اسم العمود الجديد. يتم تطبيق التحويل على جميع مجموعات البيانات في قاموس مجموعة البيانات.

يمكنك أيضًا إعادة تسمية عمود باستخدام [map()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict.map) مع `remove_columns` لكن الطريقة الحالية:
- يتولى نقل الميزات الأصلية تحت اسم العمود الجديد.
- لا ينسخ البيانات إلى مجموعة بيانات جديدة، وبالتالي يكون أسرع بكثير.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds = ds.rename_column("label", "label_new")
DatasetDict({
    train: Dataset({
        features: ['text', 'label_new'],
        num_rows: 8530
    })
    validation: Dataset({
        features: ['text', 'label_new'],
        num_rows: 1066
    })
    test: Dataset({
        features: ['text', 'label_new'],
        num_rows: 1066
    })
})
```

#### rename_columns[[datasets.DatasetDict.rename_columns]]

```python
rename_columns(column_mapping: dict)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L425)

**المعاملات:**

column_mapping (`Dict[str, str]`) : تعيين للأعمدة التي سيتم إعادة تسميتها إلى أسمائها الجديدة.

**يعيد:** [DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict)

نسخة من مجموعة البيانات مع إعادة تسمية الأعمدة.

أعد تسمية عدة أعمدة في مجموعة البيانات، وانقل الميزات المرتبطة بالأعمدة الأصلية إلى أسماء الأعمدة الجديدة. يتم تطبيق التحويل على جميع مجموعات البيانات في قاموس مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.rename_columns({'text': 'text_new', 'label': 'label_new'})
DatasetDict({
    train: Dataset({
        features: ['text_new', 'label_new'],
        num_rows: 8530
    })
    validation: Dataset({
        features: ['text_new', 'label_new'],
        num_rows: 1066
    })
    test: Dataset({
        features: ['text_new', 'label_new'],
        num_rows: 1066
    })
})
```

#### select_columns[[datasets.DatasetDict.select_columns]]

```python
select_columns(column_names: typing.Union[str, list[str]])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L463)

**المعاملات:**

column_names (`Union[str, list[str]]`) : اسم العمود أو الأعمدة التي يجب الاحتفاظ بها.

اختر عمودًا واحدًا أو عدة أعمدة من كل تقسيم في مجموعة البيانات، والميزات المرتبطة بالعمود أو الأعمدة المختارة.

تُطبَّق عملية التحويل على جميع تقسيمات قاموس مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.select_columns("text")
DatasetDict({
    train: Dataset({
        features: ['text'],
        num_rows: 8530
    })
    validation: Dataset({
        features: ['text'],
        num_rows: 1066
    })
    test: Dataset({
        features: ['text'],
        num_rows: 1066
    })
})
```

#### class_encode_column[[datasets.DatasetDict.class_encode_column]]

```python
class_encode_column(column: str, include_nulls: bool = False)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L499)

**المعاملات:**

column (`str`) : اسم العمود الذي سيتم تحويله.

include_nulls (`bool`، القيمة الافتراضية `False`) : ما إذا كان يجب تضمين القيم الفارغة في تسميات الفئات. إذا كانت `True`، فسيتم ترميز القيم الفارغة كتسمية فئة `"None"`.

يُحوّل العمود المُعطى إلى [ClassLabel](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.ClassLabel) ويحدّث الجداول.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("google/boolq")
>>> ds["train"].features
{'answer': Value('bool'),
 'passage': Value('string'),
 'question': Value('string')}
>>> ds = ds.class_encode_column("answer")
>>> ds["train"].features
{'answer': ClassLabel(num_classes=2, names=['False', 'True']),
 'passage': Value('string'),
 'question': Value('string')}
```

#### push_to_hub[[datasets.DatasetDict.push_to_hub]]

```python
push_to_hub(repo_id: str, config_name: str = 'default', set_default: typing.Optional[bool] = None, data_dir: typing.Optional[str] = None, commit_message: typing.Optional[str] = None, commit_description: typing.Optional[str] = None, private: typing.Optional[bool] = None, token: typing.Optional[str] = None, revision: typing.Optional[str] = None, create_pr: typing.Optional[bool] = False, max_shard_size: typing.Union[str, int, NoneType] = None, num_shards: typing.Optional[dict[str, int]] = None, embed_external_files: bool = True, num_proc: typing.Optional[int] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L1623)

**المعاملات:**

repo_id (`str`) : معرّف المستودع الذي سيتم الدفع إليه بالصيغة التالية: `<user>/<dataset_name>` أو `<org>/<dataset_name>`. كما يقبل `<dataset_name>`، وسيتم افتراض مساحة الأسماء للمستخدم المسجّل. وقد يكون أيضًا موقعًا داخل دلو، مثل `buckets/<user_or_org>/<bucket_name>/...`

config_name (`str`) : اسم تكوين مجموعة البيانات. القيمة الافتراضية هي "default".

set_default (`bool`، *اختياري*) : ما إذا كان سيتم تعيين هذا الإعداد كإعداد افتراضي. وإلا، فإن الإعداد الافتراضي هو ذلك المسمى "default".

data_dir (`str`, *اختياري*) : اسم المجلد الذي سيحتوي على ملفات البيانات المرفوعة. القيمة الافتراضية هي `config_name` إذا كانت مختلفة عن "default"، وإلا فهي "data".

commit_message (`str`، *اختياري*) : الرسالة التي سيتم الالتزام بها أثناء الدفع. ستكون الافتراضية `"Upload dataset"`.

commit_description (`str`، *اختياري*) : وصف للالتزام الذي سيتم إنشاؤه. بالإضافة إلى ذلك، وصف لطلب الانضمام إذا تم إنشاؤه (`create_pr` هو True).

private (`bool`، *اختياري*) : ما إذا كان سيتم جعل المستودع خاصًا. إذا كان `None` (الافتراضي)، فسيكون المستودع عامًا ما لم يكن الافتراضي الخاص بالمنظمة هو الخاص. يتم تجاهل هذه القيمة إذا كان المستودع موجودًا بالفعل.

token (`str`, *اختياري*) : رمز مصادقة اختياري لـ Hugging Face Hub. إذا لم يُمرَّر أي رمز، فسيتم افتراضيًا استخدام المحفوظ محليًا عند تسجيل الدخول باستخدام `hf auth login`. سيُطلق خطأً إذا لم يُمرَّر أي رمز ولم يكن المستخدم مسجّل الدخول.

revision (`str`، *اختياري*) : الفرع الذي سيتم دفع الملفات المرفوعة إليه. الافتراضي هو الفرع `"main"`.

create_pr (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان سيتم إنشاء طلب سحب (PR) مع الملفات المرفوعة أو الالتزام مباشرة.

max_shard_size (`int` أو `str`، *اختياري*، القيمة الافتراضية `"500MB"`) : الحد الأقصى لحجم مقاطع مجموعة البيانات التي سيتم رفعها إلى المستودع. إذا تم التعبير عنه كنص، فيجب أن يتكون من أرقام تليها وحدة (مثل `"500MB"` أو `"1GB"`).

num_shards (`Dict[str, int]`، *اختياري*) : عدد الأجزاء (shards) التي سيتم كتابتها. افتراضيًا، يعتمد عدد الأجزاء على `max_shard_size`. استخدم قاموسًا لتعريف عدد أجزاء مختلف لكل تقسيم (split).

embed_external_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بايتات الملفات في الشرائح. على وجه التحديد، سيقوم هذا قبل الدفع بالآتي لحقول النوع: - [Audio](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Audio) و [Image](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Image) يزيل معلومات المسار المحلي ويزر محتوى الملف في ملفات Parquet.

num_proc (`int`، *اختياري*، القيمة الافتراضية `None`) : عدد العمليات عند تجهيز مجموعة البيانات ورفعها. يكون هذا مفيدًا إذا كانت مجموعة البيانات تتكون من العديد من العينات أو ملفات الوسائط التي يجب تضمينها. يستخدم سياق "spawn" للعمل مع hf_xet، وهو عميل rust للرفع السريع إلى HF. يتم تعطيل تعدد العمليات بشكل افتراضي.

**يعيد:**

huggingface_hub.CommitInfo

يدفع [DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict) إلى المستودع كمجموعة بيانات Parquet. يتم دفع [DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict) باستخدام طلبات HTTP ولا يتطلب تثبيت git أو git-lfs.

سيتم دفع كل تقسيم من تقسيمات مجموعة البيانات بشكل مستقل. وستحتفظ مجموعة البيانات المُدَفوعة بأسماء التقسيمات الأصلية.

ملفات Parquet الناتجة مكتفية ذاتياً افتراضياً: إذا احتوى مجموعة البيانات الخاصة بك على بيانات [Image](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Image) أو [Audio](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Audio)، فستخزن ملفات Parquet البايتات الخاصة بصورك أو ملفات الصوت. يمكنك تعطيل ذلك عن طريق تعيين `embed_external_files` إلى False.

مثال:

```python
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>")
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", private=True)
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", max_shard_size="1GB")
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", num_shards={"train": 1024, "test": 8})
```

إذا كنت ترغب في إضافة تكوين جديد (أو مجموعة فرعية) إلى مجموعة بيانات (على سبيل المثال، إذا كانت مجموعة البيانات تحتوي على مهام/إصدارات/لغات متعددة):

```python
>>> english_dataset.push_to_hub("<organization>/<dataset_id>", "en")
>>> french_dataset.push_to_hub("<organization>/<dataset_id>", "fr")
>>> # later
>>> english_dataset = load_dataset("<organization>/<dataset_id>", "en")
>>> french_dataset = load_dataset("<organization>/<dataset_id>", "fr")
```

#### save_to_disk[[datasets.DatasetDict.save_to_disk]]

```python
save_to_disk(dataset_dict_path: typing.Union[str, bytes, os.PathLike], max_shard_size: typing.Union[str, int, NoneType] = None, num_shards: typing.Optional[dict[str, int]] = None, num_proc: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L1301)

**المعاملات:**

dataset_dict_path (`path-like`) : مسار (Path) (مثل `dataset/train`) أو عنوان URI عن بُعد (مثل `s3://my-bucket/dataset/train`) لمجلد قاموس البيانات حيث سيتم حفظ قاموس البيانات.

max_shard_size (`int` أو `str`، *اختياري*، القيمة الافتراضية `"500MB"`) : الحد الأقصى لحجم مقاطع مجموعة البيانات التي سيتم حفظها على نظام الملفات. إذا تم التعبير عنه كنص، فيجب أن يتكون من أرقام تليها وحدة (مثل `"50MB"`).

num_shards (`Dict[str, int]`، *اختياري*) : عدد الأجزاء التي سيتم كتابتها. افتراضيًا، يعتمد عدد الأجزاء على `max_shard_size` و`num_proc`. يجب عليك تحديد عدد الأجزاء لكل مجموعة بيانات في قاموس مجموعات البيانات. استخدم قاموسًا لتعريف عدد أجزاء مختلف لكل تقسيم.

num_proc (`int`، *اختياري*، الافتراضي `None`) : عدد العمليات عند تنزيل مجموعة البيانات وتوليدها محليًا. يتم تعطيل المعالجة المتعددة للعمليات افتراضيًا.

storage_options (`dict`، *اختياري*) : أزواج مفاتيح/قيم تُمرَّر إلى نظام الملفات الخلفي، إن وُجد.

يحفظ قاموس مجموعة بيانات على نظام الملفات باستخدام `fsspec.spec.AbstractFileSystem`.

لبيانات [Image](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Image) و[Audio](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Audio) و[Video](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Video):

تُخزَّن جميع بيانات Image() وAudio() وVideo() في ملفات arrow. إذا كنت ترغب في تخزين المسارات أو الروابط، فالرجاء استخدام النوع Value("string").

مثال:

```python
>>> dataset_dict.save_to_disk("path/to/dataset/directory")
>>> dataset_dict.save_to_disk("path/to/dataset/directory", max_shard_size="1GB")
>>> dataset_dict.save_to_disk("path/to/dataset/directory", num_shards={"train": 1024, "test": 8})
```

#### load_from_disk[[datasets.DatasetDict.load_from_disk]]

```python
load_from_disk(dataset_dict_path: typing.Union[str, bytes, os.PathLike], keep_in_memory: typing.Optional[bool] = None, storage_options: typing.Optional[dict] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L1375)

**المعاملات:**

dataset_dict_path (`path-like`) : مسار (Path) (مثل `"dataset/train"`) أو URI عن بُعد (مثل `"s3//my-bucket/dataset/train"`) لمجلد قاموس البيانات الذي سيتم تحميل قاموس البيانات منه.

keep_in_memory (`bool`، القيمة الافتراضية `None`) : ما إذا كان سيتم نسخ مجموعة البيانات في الذاكرة. إذا كانت `None`، فلن يتم نسخ مجموعة البيانات في الذاكرة ما لم يتم تفعيل ذلك صراحةً عن طريق تعيين `datasets.config.IN_MEMORY_MAX_SIZE` إلى قيمة غير صفرية. راجع المزيد من التفاصيل في قسم [تحسين الأداء](../cache#improve-performance).

storage_options (`dict`، *اختياري*) : أزواج مفاتيح/قيم تُمرَّر إلى نظام الملفات الخلفي، إن وُجد.

**يعيد:**

[DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict)

حمّل مجموعة بيانات تم حفظها سابقًا باستخدام `save_to_disk` من نظام ملفات باستخدام `fsspec.spec.AbstractFileSystem`.

مثال:

```py
>>> ds = load_from_disk('path/to/dataset/directory')
```

#### from_csv[[datasets.DatasetDict.from_csv]]

```python
from_csv(path_or_paths: dict, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L1435)

**المعاملات:**

path_or_paths (`dict` من مسارات مشابهة للمسارات): مسار أو مسارات ملف CSV.

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)، *اختياري*) : ميزات مجموعة البيانات.

cache_dir (str، *اختياري*، القيمة الافتراضية `"~/.cache/huggingface/datasets"`) : المجلد الذي يُخزَّن فيه البيانات مؤقتًا.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم نسخ البيانات في الذاكرة.

- ****kwargs** (معلمات إضافية بالكلمات المفتاحية): معلمات بالكلمات المفتاحية تُمرَّر إلى `pandas.read_csv`.

**يعيد:**

[DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict)

إنشاء [DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict) من ملف CSV أو أكثر.

مثال:

```py
>>> from datasets import DatasetDict
>>> ds = DatasetDict.from_csv({'train': 'path/to/dataset.csv'})
```

#### from_json[[datasets.DatasetDict.from_json]]

```python
from_json(path_or_paths: dict, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L1478)

**المعاملات:**

path_or_paths (`path-like` أو قائمة من `path-like`) : مسار(ات) ملف(ات) JSON Lines.

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)، *اختياري*) : ميزات مجموعة البيانات.

cache_dir (str، *اختياري*، القيمة الافتراضية `"~/.cache/huggingface/datasets"`) : المجلد الذي يُخزَّن فيه البيانات مؤقتًا.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم نسخ البيانات في الذاكرة.

- ****kwargs** (معلمات إضافية بالكلمات المفتاحية): معلمات بالكلمات المفتاحية تُمرَّر إلى `JsonConfig`.

**يعيد:**

[DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict)

إنشاء [DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict) من ملف أو ملفات JSON Lines.

مثال:

```py
>>> from datasets import DatasetDict
>>> ds = DatasetDict.from_json({'train': 'path/to/dataset.json'})
```

#### from_parquet[[datasets.DatasetDict.from_parquet]]

```python
from_parquet(path_or_paths: dict, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, columns: typing.Optional[list[str]] = None, **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L1521)

**المعاملات:**

path_or_paths (`dict` من مسارات مشابهة للمسارات): مسار أو مسارات ملف CSV.

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)، *اختياري*) : ميزات مجموعة البيانات.

cache_dir (`str`، *اختياري*، القيمة الافتراضية `"~/.cache/huggingface/datasets"`) : المجلد الذي يُخزَّن فيه البيانات مؤقتًا.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم نسخ البيانات في الذاكرة.

columns (`list[str]`، *اختياري*) : إذا لم يكن `None`، فسيتم قراءة هذه الأعمدة فقط من الملف. قد يكون اسم العمدة بادئة لحقل متداخل، على سبيل المثال، 'a' سيحدد 'a.b' و 'a.c' و 'a.d.e'.

- ****kwargs** (معلمات إضافية بالكلمات المفتاحية): معلمات بالكلمات المفتاحية تُمرَّر إلى `ParquetConfig`.

**يعيد:**

[DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict)

إنشاء [DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict) من ملف Parquet أو أكثر.

مثال:

```py
>>> from datasets import DatasetDict
>>> ds = DatasetDict.from_parquet({'train': 'path/to/dataset/parquet'})
```

#### from_text[[datasets.DatasetDict.from_text]]

```python
from_text(path_or_paths: dict, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L1570)

**المعاملات:**

path_or_paths (`dict` من مسارات مشابهة للمسارات): مسار أو مسارات ملف النص.

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)، *اختياري*) : ميزات مجموعة البيانات.

cache_dir (`str`، *اختياري*، القيمة الافتراضية `"~/.cache/huggingface/datasets"`) : المجلد الذي يُخزَّن فيه البيانات مؤقتًا.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم نسخ البيانات في الذاكرة.

- ****kwargs** (معلمات إضافية بالكلمات المفتاحية): معلمات بالكلمات المفتاحية تُمرَّر إلى `TextConfig`.

**يعيد:**

[DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict)

إنشاء [DatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetDict) من ملف نصي أو أكثر.

مثال:

```py
>>> from datasets import DatasetDict
>>> ds = DatasetDict.from_text({'train': 'path/to/dataset.txt'})
```

## IterableDataset[[datasets.IterableDataset]]

تُنفّذ الفئة الأساسية [IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset) مجموعة بيانات قابلة للتكرار مدعومة بمولّدات بايثون.

#### datasets.IterableDataset[[datasets.IterableDataset]]

```python
datasets.IterableDataset(ex_iterable: _BaseExamplesIterable, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, formatting: typing.Optional[datasets.iterable_dataset.FormattingConfig] = None, distributed: typing.Optional[datasets.iterable_dataset.DistributedConfig] = None, token_per_repo_id: typing.Optional[dict[str, typing.Union[str, bool, NoneType]]] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L2690)

مجموعة بيانات مدعومة بقابل للتكرار.

#### from_file[[datasets.IterableDataset.from_file]]

```python
from_file(filename: str)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L3188)

**المعاملات:**

filename (`str`) : اسم ملف مجموعة البيانات.

**يعيد:**

[IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset)

أنشئ كائن IterableDataset من جدول Arrow في الملف المحدد باسمه.

#### from_pandas[[datasets.IterableDataset.from_pandas]]

```python
from_pandas(df: DataFrame, features: typing.Optional[datasets.features.features.Features] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, preserve_index: typing.Optional[bool] = None, num_shards: typing.Optional[int] = 1)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L3204)

**المعاملات:**

df (`pandas.DataFrame`) : إطار بيانات يحتوي على مجموعة البيانات.

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)، *اختياري*) : ميزات مجموعة البيانات.

info (`DatasetInfo`، *اختياري*) : معلومات عن مجموعة البيانات، مثل الوصف والاستشهاد وما إلى ذلك.

split (`NamedSplit`، *اختياري*) : اسم تقسيم مجموعة البيانات.

preserve_index (`bool`, *اختياري*) : ما إذا كان سيتم تخزين الفهرس كعمود إضافي في مجموعة البيانات الناتجة. القيمة الافتراضية `None` ستخزّن الفهرس كعمود، باستثناء `RangeIndex` الذي يُخزَّن كبيانات وصفية فقط. استخدم `preserve_index=True` لإجباره على التخزين كعمود.

num_shards (`int`، الافتراضي `1`) : عدد الأجزاء (shards) التي يجب تحديدها عند إنشاء مجموعة البيانات القابلة للتكرار. هذا مفيد بشكل خاص للمجموعات الكبيرة من البيانات لتمكين الخلط بشكل صحيح، كما أنه يتيح التحميل المتوازي السريع باستخدام PyTorch DataLoader أو في الإعدادات الموزعة على سبيل المثال.

**يعيد:**

[IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset)

قم بتحويل `pandas.DataFrame` إلى `pyarrow.Table` لإنشاء [IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset).

تُستنتج أنواع الأعمدة في جدول Arrow الناتج من أنواع البيانات (dtypes) لسلاسل `pandas.Series` داخل إطار البيانات (DataFrame). في حالة السلاسل غير الكائنية (non-object)، يُترجم نوع NumPy إلى ما يعادله في Arrow. أما في حالة `object`، فيجب تخمين نوع البيانات من خلال فحص الكائنات البرمجية (Python objects) الموجودة في هذه السلسلة.

انتبه إلى أن سلسلة من نوع `object` لا تحمل معلومات كافية دائمًا للتوصل إلى نوع Arrow ذي معنى. في حال تعذّر استنتاج النوع، على سبيل المثال لأن إطار البيانات طوله 0 أو لأن السلسلة تحتوي فقط على كائنات `None/nan`، يتم تعيين النوع إلى `null`. يمكن تجنّب هذا السلوك من خلال إنشاء ميزات صريحة وتوريدها إلى هذه الدالة.

Important: a dataset created with from_pandas() lives in memory. This may change in the future, but in the meantime if you want to reduce memory usage you should write it on disk and reload using e.g. to_parquet / from_parquet.

مثال:

```py
>>> ds = IterableDataset.from_pandas(df)
```

#### from_dict[[datasets.IterableDataset.from_dict]]

```python
from_dict(mapping: dict, features: typing.Optional[datasets.features.features.Features] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, num_shards: typing.Optional[int] = 1)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L3316)

**المعاملات:**

mapping (`Mapping`) : إسناد السلاسل النصية إلى المصفوفات أو قوائم بايثون.

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)، *اختياري*) : ميزات مجموعة البيانات.

info (`DatasetInfo`، *اختياري*) : معلومات عن مجموعة البيانات، مثل الوصف والاستشهاد وما إلى ذلك.

split (`NamedSplit`، *اختياري*) : اسم تقسيم مجموعة البيانات.

num_shards (`int`، الافتراضي `1`) : عدد الأجزاء (shards) التي يجب تحديدها عند إنشاء مجموعة البيانات القابلة للتكرار. هذا مفيد بشكل خاص للمجموعات الكبيرة من البيانات لتمكين الخلط بشكل صحيح، كما أنه يتيح التحميل المتوازي السريع باستخدام PyTorch DataLoader أو في الإعدادات الموزعة على سبيل المثال.

**يعيد:**

[IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset)

تحويل `dict` إلى `pyarrow.Table` لإنشاء [IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset).

Important: a dataset created with from_dict() lives in memory. This may change in the future, but in the meantime if you want to reduce memory usage you should write it back on disk and reload using e.g. to_parquet / from_parquet.

#### from_list[[datasets.IterableDataset.from_list]]

```python
from_list(mapping: list, features: typing.Optional[datasets.features.features.Features] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, num_shards: typing.Optional[int] = 1)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L3353)

**المعاملات:**

mapping (`List[dict]`) : قائمة من خرائط النصوص إلى قيم الصفوف.

features (`Features`، اختياري) : ميزات مجموعة البيانات.

info (`DatasetInfo`، اختياري) : معلومات عن مجموعة البيانات، مثل الوصف والاستشهاد وما إلى ذلك.

split (`NamedSplit`، اختياري) : اسم تقسيم مجموعة البيانات.

num_shards (`int`، الافتراضي `1`) : عدد الأجزاء (shards) التي يجب تحديدها عند إنشاء مجموعة البيانات القابلة للتكرار. هذا مفيد بشكل خاص للمجموعات الكبيرة من البيانات لتمكين الخلط بشكل صحيح، كما أنه يتيح التحميل المتوازي السريع باستخدام PyTorch DataLoader أو في الإعدادات الموزعة على سبيل المثال.

**يعيد:**

[IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset)

تحويل قائمة من القواميس إلى `pyarrow.Table` لإنشاء [IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset)`.

لاحظ أن مفاتيح الإدخال الأول ستُستخدم لتحديد أعمدة مجموعة البيانات، بغض النظر عما يُمرر إلى features.

Important: a dataset created with from_list() lives in memory. This may change in the future, but in the meantime if you want to reduce memory usage you should write it back on disk and reload using e.g. from_parquet / to_parquet.

#### from_generator[[datasets.IterableDataset.from_generator]]

```python
from_generator(generator: typing.Callable, features: typing.Optional[datasets.features.features.Features] = None, gen_kwargs: typing.Optional[dict] = None, split: NamedSplit = NamedSplit('train'))
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L3090)

**المعاملات:**

generator (`Callable`) : دالة مولّدة `yields` الأمثلة.

features (`Features`، *اختياري*) : ميزات مجموعة البيانات.

gen_kwargs(`dict`, *اختياري*) : حُجج الكلمات المفتاحية التي سيتم تمريرها إلى الدالة القابلة للاستدعاء `generator`. يمكنك تعريف مجموعة بيانات قابلة للتكرار مقسمة إلى أجزاء (shards) عن طريق تمرير قائمة الأجزاء في `gen_kwargs`. يمكن استخدام ذلك لتحسين الخلط (shuffling) وعند التكرار على مجموعة البيانات باستخدام عدة عمّال (workers).

split ([NamedSplit](/docs/datasets/v5.2.0/ar/package_reference/builder_classes#datasets.NamedSplit)، القيمة الافتراضية هي `Split.TRAIN`) : اسم الجزء الذي سيُسند إلى مجموعة البيانات.

**يعيد:**

[IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset)

إنشاء مجموعة بيانات قابلة للتكرار من مولّد.

مثال:

```py
>>> def gen():
...     yield {"text": "Good", "label": 0}
...     yield {"text": "Bad", "label": 1}
...
>>> ds = IterableDataset.from_generator(gen)
```

```py
>>> def gen(shards):
...     for shard in shards:
...         with open(shard) as f:
...             for line in f:
...                 yield {"line": line}
...
>>> shards = [f"data{i}.txt" for i in range(32)]
>>> ds = IterableDataset.from_generator(gen, gen_kwargs={"shards": shards})
>>> ds = ds.shuffle(seed=42, buffer_size=10_000)  # shuffles the shards order + uses a shuffle buffer
>>> from torch.utils.data import DataLoader
>>> dataloader = DataLoader(ds.with_format("torch"), num_workers=4)  # give each worker a subset of 32/4=8 shards
```

#### remove_columns[[datasets.IterableDataset.remove_columns]]

```python
remove_columns(column_names: typing.Union[str, list[str]])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4343)

**المعاملات:**

column_names (`Union[str, List[str]]`) : اسم العمود أو الأعمدة المراد حذفها.

**يعيد:** `IterableDataset`

نسخة من كائن مجموعة البيانات دون الأعمدة المراد إزالتها.

احذف عمودًا واحدًا أو عدة أعمدة من مجموعة البيانات والميزات المرتبطة بها. يتم إجراء الحذف على الفور على الأمثلة أثناء التكرار على مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> next(iter(ds))
{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .', 'label': 1}
>>> ds = ds.remove_columns("label")
>>> next(iter(ds))
{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```

#### select_columns[[datasets.IterableDataset.select_columns]]

```python
select_columns(column_names: typing.Union[str, list[str]])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4378)

**المعاملات:**

column_names (`Union[str, List[str]]`) : اسم العمود أو الأعمدة التي سيتم اختيارها.

**يعيد:** `IterableDataset`

نسخة من كائن مجموعة البيانات مع الأعمدة المحددة.

اختر عمودًا واحدًا أو عدة أعمدة في مجموعة البيانات والميزات المرتبطة بها. يتم تنفيذ الاختيار على الفور على الأمثلة أثناء التكرار على مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> next(iter(ds))
{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .', 'label': 1}
>>> ds = ds.select_columns("text")
>>> next(iter(ds))
{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```

#### cast_column[[datasets.IterableDataset.cast_column]]

```python
cast_column(column: str, feature: typing.Union[dict, list, tuple, datasets.features.features.Value, datasets.features.features.ClassLabel, datasets.features.translation.Translation, datasets.features.translation.TranslationVariableLanguages, datasets.features.features.LargeList, datasets.features.features.List, datasets.features.features.Array2D, datasets.features.features.Array3D, datasets.features.features.Array4D, datasets.features.features.Array5D, datasets.features.audio.Audio, datasets.features.image.Image, datasets.features.mesh.Mesh, datasets.features.video.Video, datasets.features.pdf.Pdf, datasets.features.nifti.Nifti, datasets.features.bio_sequence.BioSequence, datasets.features.bio_structure.BioStructure])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4428)

**المعاملات:**

column (`str`) : اسم العمود.

feature (`Feature`) : الميزة المستهدفة.

**يعيد:** `IterableDataset`

قم بتحويل العمود إلى ميزة للتحليل.

مثال:

```py
>>> from datasets import load_dataset, Audio
>>> ds = load_dataset("PolyAI/minds14", name="en-US", split="train", streaming=True)
>>> ds.features
{'audio': Audio(sampling_rate=8000, mono=True, decode=True, id=None),
 'english_transcription': Value('string'),
 'intent_class': ClassLabel(num_classes=14, names=['abroad', 'address', 'app_error', 'atm_limit', 'balance', 'business_loan',  'card_issues', 'cash_deposit', 'direct_debit', 'freeze', 'high_value_payment', 'joint_account', 'latest_transactions', 'pay_bill']),
 'lang_id': ClassLabel(num_classes=14, names=['cs-CZ', 'de-DE', 'en-AU', 'en-GB', 'en-US', 'es-ES', 'fr-FR', 'it-IT', 'ko-KR',  'nl-NL', 'pl-PL', 'pt-PT', 'ru-RU', 'zh-CN']),
 'path': Value('string'),
 'transcription': Value('string')}
>>> ds = ds.cast_column("audio", Audio(sampling_rate=16000))
>>> ds.features
{'audio': Audio(sampling_rate=16000, mono=True, decode=True, id=None),
 'english_transcription': Value('string'),
 'intent_class': ClassLabel(num_classes=14, names=['abroad', 'address', 'app_error', 'atm_limit', 'balance', 'business_loan',  'card_issues', 'cash_deposit', 'direct_debit', 'freeze', 'high_value_payment', 'joint_account', 'latest_transactions', 'pay_bill']),
 'lang_id': ClassLabel(num_classes=14, names=['cs-CZ', 'de-DE', 'en-AU', 'en-GB', 'en-US', 'es-ES', 'fr-FR', 'it-IT', 'ko-KR',  'nl-NL', 'pl-PL', 'pt-PT', 'ru-RU', 'zh-CN']),
 'path': Value('string'),
 'transcription': Value('string')}
```

#### cast[[datasets.IterableDataset.cast]]

```python
cast(features: Features)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4474)

**المعاملات:**

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)) : الميزات الجديدة التي سيتم تحويل مجموعة البيانات إليها. يجب أن تتطابق أسماء الحقول في الميزات مع أسماء الأعمدة الحالية. كما يجب أن يكون نوع البيانات قابلاً للتحويل من نوع إلى آخر. بالنسبة للتحويلات غير البديهية، مثل `string` <-> `ClassLabel`، يجب عليك استخدام [map()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Dataset.map) لتحديث مجموعة البيانات.

**يعيد:** `IterableDataset`

نسخة من مجموعة البيانات مع الميزات المُحوَّلة.

قم بتحويل مجموعة البيانات إلى مجموعة جديدة من الميزات.

مثال:

```py
>>> from datasets import load_dataset, ClassLabel, Value
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> ds.features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
>>> new_features = ds.features.copy()
>>> new_features["label"] = ClassLabel(names=["bad", "good"])
>>> new_features["text"] = Value("large_string")
>>> ds = ds.cast(new_features)
>>> ds.features
{'label': ClassLabel(names=['bad', 'good']),
 'text': Value('large_string')}
```

#### فك الترميز[[datasets.IterableDataset.decode]]

```python
decode(enable: bool = True, num_threads: typing.Optional[int] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4520)

**المعاملات:**

enable (`bool`، القيمة الافتراضية `True`) : تفعيل أو تعطيل فك ترميز الميزات.

num_threads (`int`, *اختياري*, القيمة الافتراضية `None`) : تفعيل تعدد الخيوط (multithreading) لفك ترميز الميزات. لاحظ أن [load_dataset()](/docs/datasets/v5.2.0/ar/package_reference/loading_methods#datasets.load_dataset) يستخدم بالفعل عددًا قليلًا من الخيوط افتراضيًا عند بث مجموعة بيانات من HF تتضمن ميزات قابلة للفك. افتراضيًا، يتم تعيين `num_threads` إلى 32 إذا كانت هناك ميزة واحدة على الأقل تتطلب فك الترميز، وإلا فتم تعيينه إلى 0.

**يعيد:** `IterableDataset`

نسخة من مجموعة البيانات مع الميزات المُحوَّلة.

تفعيل أو تعطيل فك ترميز ميزات مجموعة البيانات للصوت والصورة والفيديو.

عند التفعيل (الافتراضي)، يتم فك ترميز أنواع الوسائط:

* audio -> قاموس يحتوي على "array" و "sampling_rate" و "path"
* image -> PIL.Image
* video -> torchcodec.decoders.VideoDecoder

يمكن تفعيل تعدد الخيوط باستخدام `num_threads`: حيث يُقرأ كل ملف وسائط ويُفكّ تشفيره في خيط عامل، مما يتيح تداخل رحلات الشبكة ذهابًا وإيابًا بين الأمثلة المتتالية. وهذا مفيد بشكل خاص لتسريع بث البيانات عن بُعد، وقد فعّلت [load_dataset()](/docs/datasets/v5.2.0/ar/package_reference/loading_methods#datasets.load_dataset) هذه الميزة افتراضيًا عند بث مجموعة بيانات عن بُعد تحتوي على سمات قابلة لفك التشفير (انظر `HF_DATASETS_DECODE_NUM_THREADS`). أما مجموعات البيانات المقروءة من القرص المحلي فتُبث باستخدام `num_threads=0`، لأن تعدد الخيوط قد يكون أبطأ من فك التشفير في الخيط الرئيسي للبيانات المحلية على الأقراص السريعة. وبما أن الأمثلة تُفكّ تشفيرها مسبقًا، يمكن لكل خيط نشط الاحتفاظ بمثال واحد في الذاكرة: قلّل قيمة `num_threads` لتقليل استهلاك الذاكرة.

يُعد تعطيل فك الترميز مفيدًا إذا كنت ترغب في تكرار المسارات أو البايتات الخاصة بملفات الوسائط دون فك ترميز محتواها فعليًا. ولتعطيل فك الترميز يمكنك استخدام `.decode(False)`، وهو ما يعادل استدعاء `.cast()` أو `.cast_column()` مع ضبط جميع أنواع Audio و Image و Video على `decode=False`.

أمثلة:

تعطيل فك الترميز:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("sshh12/planet-textures", split="train", streaming=True)
>>> next(iter(ds))
{'image': <PIL.PngImagePlugin.PngImageFile image mode=RGB size=2048x1024>,
'text': 'A distant celestial object with an icy crust, displaying a light blue shade, covered with round pits and rugged terrains.'}
>>> ds = ds.decode(False)
>>> ds.features
{'image': Image(mode=None, decode=False, id=None),
'text': Value('string')}
>>> next(iter(ds))
{
  'image': {
    'path': 'hf://datasets/sshh12/planet-textures@69dc4cef7a5c4b2cfe387727ec8ea73d4bff7302/train/textures/0000.png',
    'bytes': None
  },
  'text': 'A distant celestial object with an icy crust, displaying a light blue shade, covered with round pits and rugged terrains.'
}
```

تسريع البث باستخدام الخيوط المتعددة:

```py
>>> import os
>>> from datasets import load_dataset
>>> from tqdm import tqdm
>>> ds = load_dataset("sshh12/planet-textures", split="train", streaming=True)
>>> # already threaded by default with 32 threads, but more threads can help going even faster
>>> ds = ds.decode(num_threads=64)
>>> for _ in tqdm(ds):  # 2 times faster !
...     ...
```

#### __iter__[[datasets.IterableDataset.__iter__]]

```python
__iter__()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L3035)

#### iter[[datasets.IterableDataset.iter]]

```python
iter(batch_size: int, drop_last_batch: bool = False)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L3056)

**المعاملات:**

batch_size (`int`) : حجم كل دفعة (batch) تُقدَّم.

drop_last_batch (`bool`، الافتراضي *False*) : ما إذا كان يجب تجاهل الدفعة الأخيرة إذا كانت أصغر من batch_size

تكرار عبر الدفعات ذات الحجم *batch_size*.

#### خريطة[[datasets.IterableDataset.map]]

```python
map(function: typing.Optional[typing.Callable] = None, with_indices: bool = False, input_columns: typing.Union[str, list[str], NoneType] = None, batched: bool = False, batch_size: typing.Optional[int] = 1000, drop_last_batch: bool = False, remove_columns: typing.Union[str, list[str], NoneType] = None, features: typing.Optional[datasets.features.features.Features] = None, fn_kwargs: typing.Optional[dict] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L3676)

**المعاملات:**

function (`Callable`، *اختياري*، القيمة الافتراضية `None`) : الدالة التي تُطبَّق على الفور على الأمثلة عند تكرار مجموعة البيانات. يجب أن يكون لها أحد التواقيع التالية: - `function(example: Dict[str, Any]) -> Dict[str, Any]` إذا كان `batched=False` و `with_indices=False` - `function(example: Dict[str, Any], idx: int) -> Dict[str, Any]` إذا كان `batched=False` و `with_indices=True` - `function(batch: Dict[str, List]) -> Dict[str, List]` إذا كان `batched=True` و `with_indices=False` - `function(batch: Dict[str, List], indices: List[int]) -> Dict[str, List]` إذا كان `batched=True` و `with_indices=True` للاستخدام المتقدم، يمكن للدالة أيضًا أن تُرجع `pyarrow.Table`. إذا كانت الدالة غير متزامنة، فسيُنفّذ `map` دالتك بالتوازي. علاوة على ذلك، إذا كانت دالتك لا تُرجع شيئًا (`None`)، فسيُنفّذ `map` دالتك ويُرجع مجموعة البيانات دون تغيير. إذا لم تُوفَّر دالة، فسيتم استخدام دالة الهوية الافتراضية: `lambda x: x`.

with_indices (`bool`، القيمة الافتراضية `False`) : تقديم فهارس أمثلة إلى `function`. لاحظ أنه في هذه الحالة يجب أن تكون التوقيع الخاص بـ `function` على النحو التالي `def function(example, idx[, rank]): ...`.

input_columns (`Optional[Union[str, List[str]]]`، الافتراضي `None`) : الأعمدة التي سيتم تمريرها إلى `function` كحجج موضعية. إذا كانت `None`، يتم تمرير قاموس (dict) يربط جميع الأعمدة المنسّقة كحجة واحدة.

batched (`bool`، القيمة الافتراضية `False`) : تقديم دفعة من الأمثلة إلى `function`.

batch_size (`int`، *اختياري*، القيمة الافتراضية `1000`) : عدد الأمثلة في كل دفعة تُقدَّم إلى `function` إذا كان `batched=True`. إذا كان `batch_size <= 0` أو `batch_size == None`، فسيتم تقديم مجموعة البيانات الكاملة كدفعة واحدة إلى `function`.

drop_last_batch (`bool`، القيمة الافتراضية `False`) : ما إذا كان يجب تجاهل الدفعة الأخيرة الأصغر من batch_size بدلاً من معالجتها بواسطة الدالة.

remove_columns (`[List[str]]`، *اختياري*، القيمة الافتراضية `None`) : إزالة مجموعة من الأعمدة أثناء تنفيذ عملية الخرائط. سيتم حذف الأعمدة قبل تحديث الأمثلة بمخرجات `function`، أي إذا كان `function` يضيف أعمدة بأسماء موجودة في `remove_columns`، فسيتم الاحتفاظ بهذه الأعمدة.

features (`[Features]`، *اختياري*، القيمة الافتراضية `None`) : أنواع الميزات في مجموعة البيانات الناتجة.

fn_kwargs (`Dict`، *اختياري*، الافتراضي `None`) : حُجج الكلمات المفتاحية التي سيتم تمريرها إلى `function`.

تطبيق دالة على جميع الأمثلة في مجموعة البيانات القابلة للتكرار (فردية أو على شكل دفعات) وتحديثها. إذا أعادت دالتك عمودًا موجودًا مسبقًا، فإنها تستبدله. تُطبَّق الدالة على الأمثلة أثناء التكرار على مجموعة البيانات بشكل فوري.

يمكنك تحديد ما إذا كان ينبغي تجميع الدالة أم لا باستخدام معامل `batched`:

- إذا كانت `False`، فإن الدالة تستقبل مثالًا واحدًا ويجب أن تُرجع مثالًا واحدًا. المثال هو قاموس، مثل `{"text": "Hello there !"}`.
- إذا كان `True` و`batch_size` يساوي 1، فإن الدالة تستقبل دفعة تحتوي على مثال واحد كمدخلات ويمكنها إرجاع دفعة تحتوي على مثال واحد أو أكثر. الدفعة هي قاموس، على سبيل المثال دفعة تحتوي على مثال واحد هي {"text": ["Hello there !"]}.
- إذا كانت `True` و`batch_size` تساوي `n` > 1، فإن الدالة تستقبل دفعة من `n` أمثلة كمدخلات، ويمكن أن تعيد دفعة تحتوي على `n` أمثلة، أو على عدد عشوائي من الأمثلة. لاحظ أن الدفعة الأخيرة قد تحتوي على أقل من `n` أمثلة. الدفعة هي قاموس، على سبيل المثال، دفعة من `n` أمثلة هي `{"text": ["Hello there !"] * n}`.

إذا كانت الدالة غير متزامنة، فسيُنفّذ `map` دالتك بالتوازي، مع حد أقصى يبلغ ألف استدعاء متزامن. يُنصح باستخدام `asyncio.Semaphore` في دالتك إذا كنت ترغب في تحديد الحد الأقصى لعدد العمليات التي يمكن تنفيذها في الوقت نفسه.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> def add_prefix(example):
...     example["text"] = "Review: " + example["text"]
...     return example
>>> ds = ds.map(add_prefix)
>>> list(ds.take(3))
[{'label': 1,
 'text': 'Review: the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'Review: the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'Review: effective but too-tepid biopic'}]
```

#### rename_column[[datasets.IterableDataset.rename_column]]

```python
rename_column(original_column_name: str, new_column_name: str)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4288)

**المعاملات:**

original_column_name (`str`) : اسم العمود الذي سيتم إعادة تسميته.

new_column_name (`str`) : الاسم الجديد للعمود.

**يعيد:** `IterableDataset`

نسخة من مجموعة البيانات مع إعادة تسمية للعمود.

إعادة تسمية عمود في مجموعة البيانات، ونقل الميزات المرتبطة بالعمود الأصلي إلى اسم العمود الجديد.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> next(iter(ds))
{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
>>> ds = ds.rename_column("text", "movie_review")
>>> next(iter(ds))
{'label': 1,
 'movie_review': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```

#### تصفية[[datasets.IterableDataset.filter]]

```python
filter(function: typing.Optional[typing.Callable] = None, with_indices = False, input_columns: typing.Union[str, list[str], NoneType] = None, batched: bool = False, batch_size: typing.Optional[int] = 1000, fn_kwargs: typing.Optional[dict] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L3858)

**المعاملات:**

function (`Callable`) : دالة قابلة للاستدعاء تحمل إحدى التواقيع التالية: - `function(example: Dict[str, Any]) -> bool` إذا كان `with_indices=False, batched=False` - `function(example: Dict[str, Any], indices: int) -> bool` إذا كان `with_indices=True, batched=False` - `function(example: Dict[str, List]) -> List[bool]` إذا كان `with_indices=False, batched=True` - `function(example: Dict[str, List], indices: List[int]) -> List[bool]` إذا كان `with_indices=True, batched=True` إذا كانت الدالة غير متزامنة، فإن `filter` ستنفّذ دالتك بالتوازي. إذا لم تُوفَّر دالة، فإن القيمة الافتراضية هي دالة تعيد دائماً True: `lambda x: True`.

with_indices (`bool`، القيمة الافتراضية `False`) : تقديم فهارس أمثلة إلى `function`. لاحظ أنه في هذه الحالة يجب أن تكون التوقيع الخاص بـ `function` على النحو التالي `def function(example, idx): ...`.

input_columns (`str` أو `List[str]`، *اختياري*) : الأعمدة التي سيتم تمريرها إلى `function` كحجج موضعية. إذا كانت `None`، يتم تمرير قاموس (dict) يربط جميع الأعمدة المنسّقة كحجة واحدة.

batched (`bool`، القيمة الافتراضية `False`) : تقديم دفعة من الأمثلة إلى `function`.

batch_size (`int`، *اختياري*، الافتراضي `1000`) : عدد الأمثلة في الدفعة المقدمة إلى `function` إذا كان `batched=True`.

fn_kwargs (`Dict`، *اختياري*، الافتراضي `None`) : حُجج الكلمات المفتاحية التي سيتم تمريرها إلى `function`.

طبّق دالة تصفية على جميع العناصر بحيث تتضمن مجموعة البيانات أمثلةً فقط وفقًا لدالة التصفية. يتم إجراء التصفية على الفور أثناء التكرار على مجموعة البيانات.

إذا كانت الدالة غير متزامنة، فسيُنفّذ `filter` دالتك بالتوازي، مع حد أقصى يبلغ ألف استدعاء متزامن (قابل للضبط). يُنصح باستخدام `asyncio.Semaphore` في دالتك إذا كنت ترغب في تحديد الحد الأقصى لعدد العمليات التي يمكن تنفيذها في الوقت نفسه.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> ds = ds.filter(lambda x: x["label"] == 0)
>>> list(ds.take(3))
[{'label': 0, 'movie_review': 'simplistic , silly and tedious .'},
 {'label': 0,
 'movie_review': "it's so laddish and juvenile , only teenage boys could possibly find it funny ."},
 {'label': 0,
 'movie_review': 'exploitative and largely devoid of the depth or sophistication that would make watching such a graphic treatment of the crimes bearable .'}]
```

#### shuffle[[datasets.IterableDataset.shuffle]]

```python
shuffle(seed = None, generator: typing.Optional[numpy.random._generator.Generator] = None, buffer_size: int = 1000, max_buffer_input_shards: int = 10)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L3961)

**المعاملات:**

seed (`int`، *اختياري*، القيمة الافتراضية `None`) : البذرة العشوائية التي ستُستخدم لخلط مجموعة البيانات. تُستخدم لأخذ عينات من مخزن الخلط وكذلك لخلط شرائح البيانات.

generator (`numpy.random.Generator`، *اختياري*) : مولّد عشوائي من Numpy يُستخدم لحساب تبديل صفوف مجموعة البيانات. إذا كان `generator=None` (الافتراضي)، يُستخدم `np.random.default_rng` (مولّد البتات الافتراضي (PCG64) في NumPy).

buffer_size (`int`، القيمة الافتراضية `1000`) : حجم المخزن المؤقت.

max_buffer_input_shards (`int`، القيمة الافتراضية `10`) : الحد الأقصى لعدد الأجزاء المستخدمة لتغذية المخزن المؤقت في كل مرة.

يقوم بتبديل عناصر مجموعة البيانات هذه عشوائيًا.

تملأ هذه المجموعة بيانات مخزن مؤقتًا يحتوي على `buffer_size` عنصرًا، ثم تعيّن عناصر عشوائيًا من هذا المخزن المؤقت، مستبدلةً العناصر المحددة بعناصر جديدة. وللخلط المثالي، يلزم أن يكون حجم المخزن المؤقت أكبر من حجم المجموعة الكاملة أو مساويًا له.

على سبيل المثال، إذا كانت مجموعة البيانات الخاصة بك تحتوي على 10,000 عنصر لكن `buffer_size` مضبوط على 1000، فإن `shuffle` سيختار في البداية عنصراً عشوائياً من أول 1000 عنصر فقط في المخزن المؤقت. بمجرد اختيار عنصر، يُستبدل مكانه في المخزن المؤقت بالعنصر التالي (أي العنصر رقم 1,001)، مما يحافظ على مخزن مؤقت مكون من 1000 عنصر.

إذا كان مجموعة البيانات مكوّنة من عدة شظايا، فإنها تملأ المخزن المؤقت باستخدام ما يصل إلى `max_buffer_input_shards` شظية في كل مرة، كما أنها تخلط ترتيب الشظايا. وهذا يحسّن جودة الخلط بشكل كبير. يتم تداخل الشظايا المدخلة داخل كل عقدة وعامل، مع الحفاظ على عدد الشظايا المتاحة لتحميل البيانات بالتوازي.

ومع ذلك، إذا تم تثبيت الترتيب باستخدام [skip()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset.skip) أو [take()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset.take)، فإن ترتيب الشرائح يبقى دون تغيير، ولا يُستخدم شريحة واحدة في كل مرة لملء المخزن المؤقت.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> list(ds.take(3))
[{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .',
 'label': 1},
 {'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .',
 'label': 1},
 {'text': 'effective but too-tepid biopic', 'label': 1}]
>>> shuffled_ds = ds.shuffle(seed=42)
>>> list(shuffled_ds.take(3))
[{'text': "a sports movie with action that's exciting on the field and a story you care about off it .",
 'label': 1},
 {'text': 'at its best , the good girl is a refreshingly adult take on adultery . . .',
 'label': 1},
 {'text': "sam jones became a very lucky filmmaker the day wilco got dropped from their record label , proving that one man's ruin may be another's fortune .",
 'label': 1}]
>>> resharded_ds = ds.reshard()  # useful to shard Parquet datasets by row group instead of by file, improving shuffling quality on dataset with one or few files.
>>> shuffled_resharded_ds = resharded_ds.shuffle(seed=42)
>>> list(shuffled_resharded_ds.take(3))
[{'text': 'this mistaken-identity picture is so film-culture referential that the final product is a ghost .',
 'label': 0},
 {'text': 'woody allen used to ridicule movies like hollywood ending . now he makes them .',
 'label': 0},
 {'text': "not only is undercover brother as funny , if not more so , than both austin powers films , but it's also one of the smarter , savvier spoofs to come along in some time .",
 'label': 1}]
```

#### دفعة[[datasets.IterableDataset.batch]]

```python
batch(batch_size: typing.Optional[int] = None, by_column: typing.Union[str, list[str], NoneType] = None, drop_last_batch: bool = False)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4657)

**المعاملات:**

batch_size (`int`، اختياري) : عدد العينات في كل دفعة.

by_column (`Union[str, list[str]`، اختياري) : العمود المستخدم لتجميع الأمثلة في دفعات. تُجمَّع الأمثلة المتتالية التي تحمل القيمة نفسها لذلك العمود في الدفعة نفسها. يمكن أن يكون هذا أيضًا قائمة من الأعمدة إذا كنت ترغب في التجميع حسب أعمدة متعددة. عند التجميع حسب العمود، يُستخدم batch_size فقط للتحكم في حجم الدفعات التي سيتم تجميعها أو تقطيعها أثناء التراكم.

drop_last_batch (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم إسقاط آخر دفعة غير مكتملة.

تجميع العينات من مجموعة البيانات في دفعات.

مثال:

حجم الدفعة الثابت:

```py
>>> ds = load_dataset("some_dataset", streaming=True, split="train")
>>> batched_ds = ds.batch(batch_size=32)
```

دُفعات من العينات المتتالية التي تحمل قيمة متطابقة لـ"my_column":

```py
>>> ds = load_dataset("some_dataset", streaming=True, split="train")
>>> batched_ds = ds.batch(by_column="my_column")
```

#### تخطي[[datasets.IterableDataset.skip]]

```python
skip(n: int)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4058)

**المعاملات:**

n (`int`) : عدد العناصر التي سيتم تجاوزها.

أنشئ [IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset) جديدًا يتخطى أول `n` عناصر.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> list(ds.take(3))
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'}]
>>> ds = ds.skip(1)
>>> list(ds.take(3))
[{'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'},
 {'label': 1,
 'text': 'if you sometimes like to go to the movies to have fun , wasabi is a good place to start .'}]
```

#### take[[datasets.IterableDataset.take]]

```python
take(n: int)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4144)

**المعاملات:**

n (`int`) : عدد العناصر المطلوب أخذها.

أنشئ [IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset) جديدًا يحتوي على العناصر الـ`n` الأولى فقط.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> small_ds = ds.take(2)
>>> list(small_ds)
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'}]
```

#### shard[[datasets.IterableDataset.shard]]

```python
shard(num_shards: int, index: int, contiguous: bool = True)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4179)

**المعاملات:**

num_shards (`int`) : عدد الأجزاء التي سيتم تقسيم مجموعة البيانات إليها.

index (`int`) : أي شريحة يجب اختيارها وإرجاعها.

contiguous : (`bool`، القيمة الافتراضية `True`): ما إذا كان سيتم اختيار كتل متجاورة من الفهارس للتقسيمات.

أعد الشريحة رقم `index` من تقسيم مجموعة البيانات إلى `num_shards` أجزاء.

تُقسَّم هذه العملية بشكل حتمي. يقسم `dataset.shard(n, i)` مجموعة البيانات إلى مقاطع متصلة، مما يتيح إعادة دمجها بسهولة بعد المعالجة. إذا كان `dataset.num_shards % n == l`، فإن أول `l` مجموعات بيانات تحتوي كل منها على `(dataset.num_shards // n) + 1` شريحة، بينما تحتوي المجموعات المتبقية على `(dataset.num_shards // n)` شريحة. يعيد `datasets.concatenate_datasets([dset.shard(n, i) for i in range(n)])` مجموعة بيانات بنفس ترتيب الأصل. على وجه الخصوص، يعيد `dataset.shard(dataset.num_shards, i)` مجموعة بيانات تحتوي على شريحة واحدة.

ملاحظة: يجب أن تكون قيمة n أقل من عدد الشرائح في مجموعة البيانات `dataset.num_shards` أو تساويه.

من ناحية أخرى، يحتوي `dataset.shard(n, i, contiguous=False)` على جميع أجزاء مجموعة البيانات التي يكون فيها الباقي عند قسمة الفهرس على `n = i`.

تأكد من تقسيم البيانات إلى شرائح قبل استخدام أي عامل عشوائي (مثل `shuffle`). من الأفضل استخدام عامل التقسيم إلى شرائح في مرحلة مبكرة من خط أنابيب مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("fancyzhx/amazon_polarity", split="train", streaming=True)
>>> ds
IterableDataset({
    features: ['label', 'title', 'content'],
    num_shards: 4
})
>>> ds.shard(num_shards=2, index=0)
IterableDataset({
    features: ['label', 'title', 'content'],
    num_shards: 2
})
```

#### إعادة التقسيم[[datasets.IterableDataset.reshard]]

```python
reshard()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4235)

أعد تقسيم مجموعة البيانات إذا أمكن، أي قسّم الشرائح الحالية إلى شرائح أكثر. يزيد هذا من عدد الشرائح، وتكون مجموعة البيانات الناتجة فيها num_shards >= previous_num_shards. قد يحدث التساوي إذا تعذر تقسيم أي شريحة بشكل أكبر.

يعتمد آلية إعادة التقسيم على صيغة ملف مجموعة البيانات:

* Parquet: تقسيم البيانات إلى شرائح لكل مجموعة صفوف بدلاً من كل ملف
* Vortex: شريحة لكل نطاق من الكتل المتتالية (حوالي 64 ميغابايت من بيانات الملف لكل شريحة) بدلاً من شريحة لكل ملف
* أخرى: لم يتم تنفيذها بعد (المساهمات مرحّب بها!)

تأكد من إعادة التقسيم/التقسيم قبل استخدام أي مشغّل عشوائي (مثل `shuffle`). من الأفضل استخدام مشغّل التقسيم في مرحلة مبكرة من خط أنابيب مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("fancyzhx/amazon_polarity", split="train", streaming=True)
>>> ds
IterableDataset({
    features: ['label', 'title', 'content'],
    num_shards: 4
})
>>> ds.reshard()
IterableDataset({
    features: ['label', 'title', 'content'],
    num_shards: 3600
})
```

#### تكرار[[datasets.IterableDataset.repeat]]

```python
repeat(num_times: typing.Optional[int])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4100)

**المعاملات:**

num_times (`int`) أو (`None`) : عدد مرات تكرار مجموعة البيانات. إذا كانت `None`، فسيتم تكرار مجموعة البيانات بشكل غير محدود.

أنشئ [IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset) جديدًا يكرر مجموعة البيانات الأساسية `num_times` مرات.

ينتهي الإدخال الفارغ حتى عندما يكون `num_times` هو `None`.

ملاحظة: يعتمد تأثير استدعاء shuffle بعد repeat بشكل كبير على حجم المخزن المؤقت. عند استخدام buffer_size بقيمة 1، لا يُرى أي بيانات مكررة في نفس التكرار، حتى بعد الخلط: ds.repeat(n).shuffle(seed=42, buffer_size=1) مكافئ لـ ds.shuffle(seed=42, buffer_size=1).repeat(n)، حيث يقوم فقط بخلط ترتيب الشرائح داخل كل تكرار. أما عند استخدام حجم مخزن مؤقت >= (عدد العينات في مجموعة البيانات * عدد المرات)، فنحصل على خلط كامل للبيانات المكررة، أي أنه يمكن ملاحظة التكرارات في نفس التكرار.

مثال:
```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> ds = ds.take(2).repeat(2)
>>> list(ds)
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'},
 {'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'}]
```

#### to_csv[[datasets.IterableDataset.to_csv]]

```python
to_csv(path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO], batch_size: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None, **to_csv_kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4856)

**المعاملات:**

path_or_buf (`PathLike` أو `FileOrBuffer`) : إما مسار إلى ملف (مثل `file.csv`)، أو عنوان URI عن بُعد (مثل `hf://datasets/username/my_dataset_name/data.csv`)، أو BinaryIO، حيث سيتم حفظ مجموعة البيانات فيه بالتنسيق المحدد.

batch_size (`int`، *اختياري*) : حجم الدفعة التي يتم تحميلها في الذاكرة وكتابتها دفعة واحدة. القيمة الافتراضية هي `datasets.config.DEFAULT_MAX_BATCH_SIZE`.

storage_options (`dict`، *اختياري*) : أزواج مفاتيح/قيم تُمرَّر إلى نظام الملفات الخلفي، إن وُجد.

- ****to_csv_kwargs** (معلمات إضافية): المعلمات التي تُمرَّر إلى [`pandas.DataFrame.to_csv`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html) في pandas. المعلم `index` يكون افتراضيًا `False` إذا لم يُحدَّد. إذا كنت ترغب في كتابة الفهرس، فمرِّر `index=True` وحدِّد أيضًا اسمًا لعمود الفهرس عن طريق تمرير `index_label`.

**يعيد:** `int`

عدد الأحرف أو البايتات المكتوبة.

يُصدّر مجموعة البيانات إلى ملف csv.

يتكرر هذا على مجموعة البيانات ويحمّلها بالكامل في الذاكرة قبل كتابتها.

مثال:

```py
>>> ds.to_csv("path/to/dataset/directory")
```

#### to_pandas[[datasets.IterableDataset.to_pandas]]

```python
to_pandas(batch_size: typing.Optional[int] = None, batched: bool = False)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4777)

**المعاملات:**

batch_size (`int`، *اختياري*) : حجم الدُفعات (عدد الصفوف) إذا كان `batched` هو `True`. القيمة الافتراضية هي `datasets.config.DEFAULT_MAX_BATCH_SIZE`.

batched (`bool`) : اضبطه على `True` لإرجاع مولّد يُخرج مجموعة البيانات على شكل دفعات من `batch_size` صفوف. القيمة الافتراضية هي `False` (تُرجع مجموعات البيانات كاملة مرة واحدة).

**يعيد:**

`pandas.DataFrame` أو `Iterator[pandas.DataFrame]`

يعيد مجموعة البيانات على شكل `pandas.DataFrame`. كما يمكنه إرجاع مولّد (generator) لمجموعات البيانات الكبيرة.

مثال:

```py
>>> ds.to_pandas()
```

#### to_dict[[datasets.IterableDataset.to_dict]]

```python
to_dict(batch_size: typing.Optional[int] = None, batched: bool = False)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4737)

**المعاملات:**

batch_size (`int`، *اختياري*) : حجم الدُفعات (عدد الصفوف) إذا كان `batched` هو `True`. القيمة الافتراضية هي `datasets.config.DEFAULT_MAX_BATCH_SIZE`.

**يعيد:**

`dict` أو `Iterator[dict]`

يعيد مجموعة البيانات كقاموس بايثون. كما يمكنه إعادة مولّد لمجموعات البيانات الكبيرة.

مثال:

```py
>>> ds.to_dict()
```

#### to_json[[datasets.IterableDataset.to_json]]

```python
to_json(path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO], batch_size: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None, **to_json_kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4899)

**المعاملات:**

path_or_buf (`PathLike` أو `FileOrBuffer`) : إما مسار إلى ملف (مثل `file.json`)، أو عنوان URI عن بُعد (مثل `hf://datasets/username/my_dataset_name/data.json`)، أو BinaryIO، حيث سيتم حفظ مجموعة البيانات فيه بالتنسيق المحدد.

batch_size (`int`، *اختياري*) : حجم الدفعة التي يتم تحميلها في الذاكرة وكتابتها دفعة واحدة. القيمة الافتراضية هي `datasets.config.DEFAULT_MAX_BATCH_SIZE`.

storage_options (`dict`، *اختياري*) : أزواج مفاتيح/قيم تُمرَّر إلى نظام الملفات الخلفي، إن وُجد.

- ****to_json_kwargs** (additional keyword arguments) : Parameters to pass to pandas's [`pandas.DataFrame.to_json`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_json.html). Default arguments are `lines=True` and `orient="records". The parameter `index` defaults to `False` if `orient` is `"split"` or `"table"`. If you would like to write the index, pass `index=True`.

**يعيد:** `int`

عدد الأحرف أو البايتات المكتوبة.

تصدير مجموعة البيانات إلى JSON Lines أو JSON.

يتكرر هذا على مجموعة البيانات ويحمّلها بالكامل في الذاكرة قبل كتابتها.

تنسيق الإخراج الافتراضي هو [JSON Lines](https://jsonlines.org/). لتصدير إلى [JSON](https://www.json.org)، مرّر الحجة `lines=False` والقيمة المطلوبة لـ `orient`.

مثال:

```py
>>> ds.to_json("path/to/dataset/directory/filename.jsonl")
```

```py
>>> num_shards = dataset.num_shards
>>> for index in range(num_shards):
...     shard = dataset.shard(index, num_shards)
...     shard.to_json(f"path/of/my/dataset/data-{index:05d}.jsonl")
```

#### to_parquet[[datasets.IterableDataset.to_parquet]]

```python
to_parquet(path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO], batch_size: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None, **parquet_writer_kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4995)

**المعاملات:**

path_or_buf (`PathLike` أو `FileOrBuffer`) : إما مسار إلى ملف (مثل `file.parquet`)، أو عنوان URI عن بُعد (مثل `hf://datasets/username/my_dataset_name/data.parquet`)، أو BinaryIO، حيث سيتم حفظ مجموعة البيانات فيه بالتنسيق المحدد.

batch_size (`int`، *اختياري*) : حجم الدفعة التي يتم تحميلها في الذاكرة وكتابتها دفعة واحدة. القيمة الافتراضية هي `datasets.config.DEFAULT_MAX_BATCH_SIZE`.

storage_options (`dict`، *اختياري*) : أزواج مفاتيح/قيم تُمرَّر إلى نظام الملفات الخلفي، إن وُجد.

- ****parquet_writer_kwargs**** (معلمات إضافية): المعلمات التي تُمرَّر إلى `pyarrow.parquet.ParquetWriter` في PyArrow.

**يعيد:** `int`

عدد الأحرف أو البايتات المكتوبة.

يُصدّر مجموعة البيانات إلى parquet

مثال:

```py
>>> ds.to_parquet("path/to/dataset/directory")
```

```py
>>> num_shards = dataset.num_shards
>>> for index in range(num_shards):
...     shard = dataset.shard(index, num_shards)
...     shard.to_parquet(f"path/of/my/dataset/data-{index:05d}.parquet")
```

#### to_sql[[datasets.IterableDataset.to_sql]]

```python
to_sql(name: str, con: typing.Union[str, ForwardRef('sqlalchemy.engine.Connection'), ForwardRef('sqlalchemy.engine.Engine'), ForwardRef('sqlite3.Connection')], batch_size: typing.Optional[int] = None, **sql_writer_kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L4953)

**المعاملات:**

name (`str`) : اسم جدول SQL.

con (`str` أو `sqlite3.Connection` أو `sqlalchemy.engine.Connection` أو `sqlalchemy.engine.Connection`) : سلسلة [URI](https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls) أو كائن اتصال SQLite3/SQLAlchemy يُستخدم للكتابة إلى قاعدة بيانات.

batch_size (`int`، *اختياري*) : حجم الدفعة التي يتم تحميلها في الذاكرة وكتابتها دفعة واحدة. القيمة الافتراضية هي `datasets.config.DEFAULT_MAX_BATCH_SIZE`.

- ****sql_writer_kwargs** (معلمات إضافية) : المعلمات المراد تمريرها إلى [`pandas.DataFrame.to_sql`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_sql.html) في pandas. المعامل `index` يكون افتراضيًا `False` إذا لم يُحدد. إذا كنت ترغب في كتابة الفهرس، فمرر `index=True` وحدد أيضًا اسمًا لعمود الفهرس عن طريق تمرير `index_label`.

**يعيد:** `int`

عدد السجلات المكتوبة.

يُصدِّر مجموعة البيانات إلى قاعدة بيانات SQL.

مثال:

```py
>>> # con provided as a connection URI string
>>> ds.to_sql("data", "sqlite:///my_own_db.sql")
>>> # con provided as a sqlite3 connection object
>>> import sqlite3
>>> con = sqlite3.connect("my_own_db.sql")
>>> with con:
...     ds.to_sql("data", con)
```

#### push_to_hub[[datasets.IterableDataset.push_to_hub]]

```python
push_to_hub(repo_id: str, config_name: str = 'default', set_default: typing.Optional[bool] = None, split: typing.Optional[str] = None, data_dir: typing.Optional[str] = None, commit_message: typing.Optional[str] = None, commit_description: typing.Optional[str] = None, private: typing.Optional[bool] = None, token: typing.Optional[str] = None, revision: typing.Optional[str] = None, create_pr: typing.Optional[bool] = False, max_shard_size: typing.Union[str, int, NoneType] = None, num_shards: typing.Optional[int] = None, embed_external_files: bool = True, num_proc: typing.Optional[int] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L5330)

**المعاملات:**

repo_id (`str`) : معرّف المستودع الذي سيتم الدفع إليه بالصيغة التالية: `<user>/<dataset_name>` أو `<org>/<dataset_name>`. كما يقبل `<dataset_name>`، وسيتم افتراض مساحة الأسماء للمستخدم المسجّل. وقد يكون أيضًا موقعًا داخل دلو، مثل `buckets/<user_or_org>/<bucket_name>/...`

config_name (`str`، القيمة الافتراضية هي "default") : اسم التهيئة (أو الجزء الفرعي) لمجموعة البيانات. القيمة الافتراضية هي "default".

set_default (`bool`، *اختياري*) : ما إذا كان سيتم تعيين هذا الإعداد كإعداد افتراضي. وإلا، فإن الإعداد الافتراضي هو ذلك المسمى "default".

split (`str`، *اختياري*) : اسم الجزء الذي سيُمنح لذلك مجموعة البيانات. الافتراضي هو `self.split`.

data_dir (`str`, *اختياري*) : اسم المجلد الذي سيحتوي على ملفات البيانات المرفوعة. القيمة الافتراضية هي `config_name` إذا كانت مختلفة عن "default"، وإلا فهي "data".

commit_message (`str`، *اختياري*) : الرسالة التي سيتم الالتزام بها أثناء الدفع. ستكون الافتراضية `"Upload dataset"`.

commit_description (`str`، *اختياري*) : وصف للالتزام الذي سيتم إنشاؤه. بالإضافة إلى ذلك، وصف لطلب الانضمام إذا تم إنشاؤه (`create_pr` هو True).

private (`bool`، *اختياري*) : ما إذا كان سيتم جعل المستودع خاصًا. إذا كان `None` (الافتراضي)، فسيكون المستودع عامًا ما لم يكن الافتراضي الخاص بالمنظمة هو الخاص. يتم تجاهل هذه القيمة إذا كان المستودع موجودًا بالفعل.

token (`str`, *اختياري*) : رمز مصادقة اختياري لـ Hugging Face Hub. إذا لم يُمرَّر أي رمز، فسيتم افتراضيًا استخدام المحفوظ محليًا عند تسجيل الدخول باستخدام `hf auth login`. سيُطلق خطأً إذا لم يُمرَّر أي رمز ولم يكن المستخدم مسجّل الدخول.

revision (`str`، *اختياري*) : الفرع الذي سيتم دفع الملفات المرفوعة إليه. الافتراضي هو الفرع `"main"`.

create_pr (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان سيتم إنشاء طلب سحب (PR) مع الملفات المرفوعة أو الالتزام مباشرة.

max_shard_size (`int` أو `str`، *اختياري*) : الحد الأقصى الاختياري لحجم أجزاء مجموعة البيانات المراد رفعها إلى المستودع. إذا تم التعبير عنه كنص، فيجب أن يتكون من أرقام تليها وحدة (مثل `"5MB"`). إذا لم يُقدَّم، فإن عدد الأجزاء يتخذ افتراضيًا قيمة `.num_shards` لهذه المجموعة.

num_shards (`int`, *اختياري*) : عدد الأجزاء (shards) التي سيتم كتابتها. إذا تم تقديم `max_shard_size` ولم يتم تقديم `num_shards`، فإن عدد الأجزاء يُقدَّر من `max_shard_size`. يمكن أن يكون أكبر من `.num_shards` لهذا مجموعة البيانات: في هذه الحالة، يتم توزيع كل جزء إدخال على عدة أجزاء إخراج عن طريق كتابة أمثلته إليها بطريقة الدوران (round-robin).

embed_external_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بايتات الملفات في الشرائح. على وجه التحديد، سيقوم هذا بما يلي قبل الدفع للحقول من النوع: - [Audio](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Audio) و [Image](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Image): إزالة معلومات المسار المحلي وتضمين محتوى الملف في ملفات Parquet.

num_proc (`int`، *اختياري*، القيمة الافتراضية `None`) : عدد العمليات عند تجهيز مجموعة البيانات ورفعها. يكون هذا مفيدًا إذا كانت مجموعة البيانات تتكون من عينات وتحويلات كثيرة. يستخدم سياق "spawn" للعمل مع hf_xet، وهو عميل rust للرفع السريع إلى HF. يتم تعطيل تعدد العمليات بشكل افتراضي.

**يعيد:**

huggingface_hub.CommitInfo

يدفع مجموعة البيانات إلى المستودع كمجموعة بيانات بصيغة Parquet. يتم دفع مجموعة البيانات باستخدام طلبات HTTP ولا يتطلب الأمر تثبيت git أو git-lfs.

ملفات Parquet الناتجة مكتفية ذاتياً بشكل افتراضي. إذا احتوى مجموعة البيانات الخاصة بك على بيانات [Image](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Image) أو [Audio](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Audio) أو [Video](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Video)، فستقوم ملفات Parquet بتخزين بايتات ملفات الصور أو الصوت الخاصة بك. يمكنك تعطيل ذلك عن طريق تعيين `embed_external_files` إلى `False`.

مثال:

```python
>>> dataset.push_to_hub("<organization>/<dataset_id>")
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", private=True)
>>> dataset.push_to_hub("<organization>/<dataset_id>", max_shard_size="1GB")
>>> dataset.push_to_hub("<organization>/<dataset_id>", num_shards=1024)
```

إذا كانت مجموعة بياناتك تحتوي على عدة تقسيمات (مثل التدريب/التحقق/الاختبار):

```python
>>> train_dataset.push_to_hub("<organization>/<dataset_id>", split="train")
>>> val_dataset.push_to_hub("<organization>/<dataset_id>", split="validation")
>>> # later
>>> dataset = load_dataset("<organization>/<dataset_id>")
>>> train_dataset = dataset["train"]
>>> val_dataset = dataset["validation"]
```

إذا كنت ترغب في إضافة تكوين جديد (أو مجموعة فرعية) إلى مجموعة بيانات (على سبيل المثال، إذا كانت مجموعة البيانات تحتوي على مهام/إصدارات/لغات متعددة):

```python
>>> english_dataset.push_to_hub("<organization>/<dataset_id>", "en")
>>> french_dataset.push_to_hub("<organization>/<dataset_id>", "fr")
>>> # later
>>> english_dataset = load_dataset("<organization>/<dataset_id>", "en")
>>> french_dataset = load_dataset("<organization>/<dataset_id>", "fr")
```

#### load_state_dict[[datasets.IterableDataset.load_state_dict]]

```python
load_state_dict(state_dict: dict)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L2800)

حمّل state_dict الخاص بمجموعة البيانات. سيُستأنف التكرار من المثال التالي لتلك اللحظة التي تم فيها حفظ الحالة.

يعود الاستئناف إلى النقطة التي تم فيها حفظ نقطة التفتيش بالضبط، باستثناء حالتين:

1. تُفقد الأمثلة من مخازن الخلط عند استئناف التدريب وتُعاد تعبئة المخازن ببيانات جديدة
2. قد تتسبب تركيبات `.with_format(arrow)` و`.map()` المُجمَّعة في تخطي دفعة واحدة.

مثال:

```py
>>> from datasets import Dataset, concatenate_datasets
>>> ds = Dataset.from_dict({"a": range(6)}).to_iterable_dataset(num_shards=3)
>>> for idx, example in enumerate(ds):
...     print(example)
...     if idx == 2:
...         state_dict = ds.state_dict()
...         print("checkpoint")
...         break
>>> ds.load_state_dict(state_dict)
>>> print(f"restart from checkpoint")
>>> for example in ds:
...     print(example)
```

والذي يعيد:
```
{'a': 0}
{'a': 1}
{'a': 2}
checkpoint
restart from checkpoint
{'a': 3}
{'a': 4}
{'a': 5}
```

```py
>>> from torchdata.stateful_dataloader import StatefulDataLoader
>>> ds = load_dataset("deepmind/code_contests", streaming=True, split="train")
>>> dataloader = StatefulDataLoader(ds, batch_size=32, num_workers=4)
>>> # checkpoint
>>> state_dict = dataloader.state_dict()  # uses ds.state_dict() under the hood
>>> # resume from checkpoint
>>> dataloader.load_state_dict(state_dict)  # uses ds.load_state_dict() under the hood
```

#### state_dict[[datasets.IterableDataset.state_dict]]

```python
state_dict()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L2747)

**يعيد:** `dict`

احصل على state_dict الحالي لمجموعة البيانات. يتوافق هذا مع الحالة عند آخر مثال تم إرجاؤه.

يعود الاستئناف إلى النقطة التي تم فيها حفظ نقطة التفتيش بالضبط، باستثناء حالتين:

1. تُفقد الأمثلة من مخازن الخلط عند استئناف التدريب وتُعاد تعبئة المخازن ببيانات جديدة
2. قد تتسبب تركيبات `.with_format(arrow)` و`.map()` المُجمَّعة في تخطي دفعة واحدة.

مثال:

```py
>>> from datasets import Dataset, concatenate_datasets
>>> ds = Dataset.from_dict({"a": range(6)}).to_iterable_dataset(num_shards=3)
>>> for idx, example in enumerate(ds):
...     print(example)
...     if idx == 2:
...         state_dict = ds.state_dict()
...         print("checkpoint")
...         break
>>> ds.load_state_dict(state_dict)
>>> print(f"restart from checkpoint")
>>> for example in ds:
...     print(example)
```

والذي يعيد:
```
{'a': 0}
{'a': 1}
{'a': 2}
checkpoint
restart from checkpoint
{'a': 3}
{'a': 4}
{'a': 5}
```

```py
>>> from torchdata.stateful_dataloader import StatefulDataLoader
>>> ds = load_dataset("deepmind/code_contests", streaming=True, split="train")
>>> dataloader = StatefulDataLoader(ds, batch_size=32, num_workers=4)
>>> # checkpoint
>>> state_dict = dataloader.state_dict()  # uses ds.state_dict() under the hood
>>> # resume from checkpoint
>>> dataloader.load_state_dict(state_dict)  # uses ds.load_state_dict() under the hood
```

#### معلومة[[datasets.IterableDataset.info]]

```python
info()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L172)

كائن [DatasetInfo](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.DatasetInfo) يحتوي على جميع البيانات الوصفية في مجموعة البيانات.

#### تقسيم[[datasets.IterableDataset.split]]

```python
split()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L177)

كائن [NamedSplit](/docs/datasets/v5.2.0/ar/package_reference/builder_classes#datasets.NamedSplit) يقابل تقسيماً مسمّى من مجموعة البيانات.

#### builder_name[[datasets.IterableDataset.builder_name]]

```python
builder_name()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L182)

#### استشهاد[[datasets.IterableDataset.citation]]

```python
citation()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L186)

#### config_name[[datasets.IterableDataset.config_name]]

```python
config_name()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L190)

#### dataset_size[[datasets.IterableDataset.dataset_size]]

```python
dataset_size()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L194)

#### الوصف[[datasets.IterableDataset.description]]

```python
description()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L198)

#### download_checksums[[datasets.IterableDataset.download_checksums]]

```python
download_checksums()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L202)

#### download_size[[datasets.IterableDataset.download_size]]

```python
download_size()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L206)

#### الميزات[[datasets.IterableDataset.features]]

```python
features()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L210)

#### الصفحة الرئيسية[[datasets.IterableDataset.homepage]]

```python
homepage()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L214)

#### رخصة[[datasets.IterableDataset.license]]

```python
license()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L218)

#### size_in_bytes[[datasets.IterableDataset.size_in_bytes]]

```python
size_in_bytes()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L222)

#### supervised_keys[[datasets.IterableDataset.supervised_keys]]

```python
supervised_keys()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L226)

#### الإصدار[[datasets.IterableDataset.version]]

```python
version()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_dataset.py#L230)

#### from_csv[[datasets.IterableDataset.from_csv]]

```python
from_csv(path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]], split: typing.Optional[datasets.splits.NamedSplit] = None, features: typing.Optional[datasets.features.features.Features] = None, keep_in_memory: bool = False, **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L3392)

**المعاملات:**

path_or_paths (`path-like` أو قائمة من `path-like`) : مسار(ات) ملف(ات) CSV.

split ([NamedSplit](/docs/datasets/v5.2.0/ar/package_reference/builder_classes#datasets.NamedSplit)، *اختياري*) : اسم التقسيم الذي سيُسند إلى مجموعة البيانات.

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)، *اختياري*) : ميزات مجموعة البيانات.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم نسخ البيانات في الذاكرة.

- ****kwargs** (معلمات إضافية بالكلمات المفتاحية): معلمات بالكلمات المفتاحية تُمرَّر إلى `pandas.read_csv`.

**يعيد:**

[IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset)

إنشاء IterableDataset من ملف أو ملفات CSV.

مثال:

```py
>>> ds = IterableDataset.from_csv('path/to/dataset.csv')
```

#### from_json[[datasets.IterableDataset.from_json]]

```python
from_json(path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]], split: typing.Optional[datasets.splits.NamedSplit] = None, features: typing.Optional[datasets.features.features.Features] = None, keep_in_memory: bool = False, field: typing.Optional[str] = None, **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L3435)

**المعاملات:**

path_or_paths (`path-like` أو قائمة من `path-like`) : مسار أو مسارات ملفات JSON أو JSON Lines.

split ([NamedSplit](/docs/datasets/v5.2.0/ar/package_reference/builder_classes#datasets.NamedSplit)، *اختياري*) : اسم التقسيم الذي سيُسند إلى مجموعة البيانات.

features ([الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)، *اختياري*) : ميزات مجموعة البيانات.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم نسخ البيانات في الذاكرة.

field (`str`، *اختياري*) : اسم الحقل في ملف JSON الذي يحتوي على مجموعة البيانات.

- ****kwargs** (معلمات إضافية بالكلمات المفتاحية): معلمات بالكلمات المفتاحية تُمرَّر إلى `JsonConfig`.

**يعيد:**

[IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset)

إنشاء IterableDataset من ملف أو ملفات JSON أو JSON Lines.

مثال:

```py
>>> ds = IterableDataset.from_json('path/to/dataset.json')
```

#### from_parquet[[datasets.IterableDataset.from_parquet]]

```python
from_parquet(path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]], split: typing.Optional[datasets.splits.NamedSplit] = None, features: typing.Optional[datasets.features.features.Features] = None, keep_in_memory: bool = False, columns: typing.Optional[list[str]] = None, filters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = None, fragment_scan_options: typing.Optional[pyarrow._dataset_parquet.ParquetFragmentScanOptions] = None, on_bad_files: typing.Literal['error', 'warn', 'skip'] = 'error', **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L3482)

**المعاملات:**

path_or_paths (`path-like` أو قائمة من `path-like`) : مسار(ات) ملف(ات) Parquet.

split (`NamedSplit`، *اختياري*) : اسم التقسيم الذي سيُسند إلى مجموعة البيانات.

features (`Features`، *اختياري*) : ميزات مجموعة البيانات.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم نسخ البيانات في الذاكرة.

columns (`List[str]`، *اختياري*) : إذا لم يكن `None`، فسيتم قراءة هذه الأعمدة فقط من الملف. قد يكون اسم العمدة بادئة لحقل متداخل، على سبيل المثال، 'a' سيحدد 'a.b' و 'a.c' و 'a.d.e'.

filters (`Union[pyarrow.dataset.Expression, list[tuple], list[list[tuple]]]`، *اختياري*) : إرجاع الصفوف المطابقة للمرشّح فقط. إذا أمكن، يُدفع الشرط إلى الأسفل لاستغلال معلومات التقسيم أو البيانات الوصفية الداخلية الموجودة في مصدر البيانات، مثل إحصاءات Parquet. وإلا، يُرشّح RecordBatches المحمّلة قبل تسليمها.

fragment_scan_options (`pyarrow.dataset.ParquetFragmentScanOptions`، *اختياري*) : خيارات محددة للمسح الخاصة بقطع Parquet. وهذا مفيد بشكل خاص لتكوين التخزين المؤقت والتخزين المؤقت.

on_bad_files (`Literal["error", "warn", "skip"]`, *اختياري*، القيمة الافتراضية هي "error") : تحديد الإجراء المتخذ عند مواجهة ملف معطوب (ملف لا يمكن قراءته). القيم المسموح بها هي: * 'error'، رفع استثناء (Exception) عند مواجهة ملف معطوب. * 'warn'، رفع تحذير عند مواجهة ملف معطوب وتخطي ذلك الملف. * 'skip'، تخطي الملفات المعطوبة دون رفع استثناء أو تحذير عند مواجهتها.

- ****kwargs** (معلمات إضافية بالكلمات المفتاحية): معلمات بالكلمات المفتاحية تُمرَّر إلى `ParquetConfig`.

**يعيد:**

[IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset)

إنشاء IterableDataset من ملف أو ملفات Parquet.

مثال:

```py
>>> ds = IterableDataset.from_parquet('path/to/dataset.parquet')
```

تحميل مجموعة فرعية من الأعمدة:

```python
>>> ds = IterableDataset.from_parquet('path/to/dataset.parquet', columns=["col_0", "col_1"])
```

Efficiently filter data, possibly skipping entire files or row groups:

```python
>>> filters = [("col_0", "==", 0)]
>>> ds = IterableDataset.from_parquet(parquet_files_list, filters=filters)
```

#### from_text[[datasets.IterableDataset.from_text]]

```python
from_text(path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]], split: typing.Optional[datasets.splits.NamedSplit] = None, features: typing.Optional[datasets.features.features.Features] = None, keep_in_memory: bool = False, keep_linebreaks: bool = False, sample_by: typing.Literal['line', 'paragraph', 'document'] = 'line', **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L3567)

**المعاملات:**

path_or_paths (`path-like` أو قائمة من `path-like`) : مسار(ات) ملف(ات) النص.

split (`NamedSplit`، *اختياري*) : اسم التقسيم الذي سيُسند إلى مجموعة البيانات.

features (`Features`، *اختياري*) : ميزات مجموعة البيانات.

keep_in_memory (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم نسخ البيانات في الذاكرة.

keep_linebreaks : (`bool`، القيمة الافتراضية False): ما إذا كان يجب الإبقاء على أسطر الفاصل.

sample_by (`Literal["line", "paragraph", "document"]`، الافتراضي "line") : ما إذا كان سيتم تحميل البيانات سطرًا سطرًا، أو فقرةً فقرةً، أو مستندًا مستندًا. افتراضيًا، كل صف في مجموعة البيانات = سطر واحد.

- ****kwargs** (معلمات إضافية بالكلمات المفتاحية): معلمات بالكلمات المفتاحية تُمرَّر إلى `TextConfig`.

**يعيد:**

[IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset)

إنشاء IterableDataset من ملف نصي أو أكثر.

مثال:

```py
>>> ds = IterableDataset.from_text('path/to/dataset.txt')
```

#### datasets.IterableColumn[[datasets.IterableColumn]]

```python
datasets.IterableColumn(source: typing.Union[ForwardRef('IterableDataset'), ForwardRef('IterableColumn')], column_name: str)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/iterable_dataset.py#L2657)

قابلة للتكرار لعمود محدد في [IterableDataset](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset).

مثال:

تكرار على نصوص عمود "text" في مجموعة بيانات:

```python
for text in dataset["text"]:
    ...
```

يعمل أيضًا مع الأعمدة المتداخلة:

```python
for source in dataset["metadata"]["source"]:
    ...
```

## IterableDatasetDict[[datasets.IterableDatasetDict]]

قاموس تُستخدم فيه الأسماء المقسّمة كمفاتيح (مثل 'train' و 'test')، وتُستخدم كائنات `IterableDataset` كقيم.

#### datasets.IterableDatasetDict[[datasets.IterableDatasetDict]]

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L1810)

#### خريطة[[datasets.IterableDatasetDict.map]]

```python
map(function: typing.Optional[typing.Callable] = None, with_indices: bool = False, with_split: bool = False, input_columns: typing.Union[str, list[str], NoneType] = None, batched: bool = False, batch_size: int = 1000, drop_last_batch: bool = False, remove_columns: typing.Union[str, list[str], NoneType] = None, fn_kwargs: typing.Optional[dict] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L1911)

**المعاملات:**

function (`Callable`، *اختياري*، القيمة الافتراضية `None`) : الدالة التي تُطبَّق على الفور على الأمثلة عند تكرار مجموعة البيانات. يجب أن يكون لها أحد التواقيع التالية: - `function(example: Dict[str, Any]) -> Dict[str, Any]` إذا كان `batched=False` و `with_indices=False` - `function(example: Dict[str, Any], idx: int) -> Dict[str, Any]` إذا كان `batched=False` و `with_indices=True` - `function(batch: Dict[str, list]) -> Dict[str, list]` إذا كان `batched=True` و `with_indices=False` - `function(batch: Dict[str, list], indices: list[int]) -> Dict[str, list]` إذا كان `batched=True` و `with_indices=True` للاستخدام المتقدم، يمكن للدالة أيضًا أن تُرجع `pyarrow.Table`. إذا كانت الدالة غير متزامنة، فسيُنفِّذ `map` دالتك بالتوازي. علاوة على ذلك، إذا كانت دالتك لا تُرجع شيئًا (`None`)، فسيُنفِّذ `map` دالتك ويُرجع مجموعة البيانات دون تغيير. إذا لم تُوفَّر دالة، فسيتم استخدام دالة الهوية الافتراضية: `lambda x: x`.

with_indices (`bool`، القيمة الافتراضية `False`) : تقديم فهارس أمثلة إلى `function`. لاحظ أنه في هذه الحالة يجب أن تكون التوقيع الخاص بـ `function` على النحو التالي `def function(example, idx[, rank]): ...`.

input_columns (`[Union[str, list[str]]]`، *اختياري*، القيمة الافتراضية `None`) : الأعمدة التي سيتم تمريرها إلى `function` كحجج موضعية. إذا كانت `None`، يتم تمرير قاموس (dict) يربط جميع الأعمدة المنسّقة كحجة واحدة.

batched (`bool`، القيمة الافتراضية `False`) : تقديم دفعة من الأمثلة إلى `function`.

batch_size (`int`، *اختياري*، القيمة الافتراضية `1000`) : عدد الأمثلة في كل دفعة تُقدَّم إلى `function` إذا كان `batched=True`.

drop_last_batch (`bool`، القيمة الافتراضية `False`) : ما إذا كان يجب تجاهل الدفعة الأخيرة الأصغر من `batch_size` بدلاً من معالجتها بواسطة الدالة.

remove_columns (`[list[str]]`، *اختياري*، القيمة الافتراضية `None`) : إزالة مجموعة من الأعمدة أثناء تنفيذ عملية الخرائط. سيتم حذف الأعمدة قبل تحديث الأمثلة بمخرجات `function`، أي إذا كان `function` يضيف أعمدة بأسماء موجودة في `remove_columns`، فسيتم الاحتفاظ بهذه الأعمدة.

fn_kwargs (`Dict`، *اختياري*، القيمة الافتراضية `None`) : حُجج الكلمات المفتاحية التي سيتم تمريرها إلى `function`

تطبيق دالة على جميع الأمثلة في مجموعة البيانات القابلة للتكرار (فردية أو على شكل دفعات) وتحديثها. إذا أعادت دالتك عمودًا موجودًا مسبقًا، فسيتم استبداله. تُطبَّق الدالة على الأمثلة أثناء التكرار على مجموعة البيانات بشكل فوري. وتُطبَّق عملية التحويل على جميع مجموعات البيانات ضمن قاموس مجموعة البيانات.

يمكنك تحديد ما إذا كان ينبغي تجميع الدالة أم لا باستخدام معامل `batched`:

- إذا كانت `False`، فإن الدالة تستقبل مثالًا واحدًا ويجب أن تُرجع مثالًا واحدًا. المثال هو قاموس، مثل `{"text": "Hello there !"}`.
- إذا كان `True` و`batch_size` يساوي 1، فإن الدالة تستقبل دفعة تحتوي على مثال واحد كمدخلات، ويمكن أن تعيد دفعة تحتوي على مثال واحد أو أكثر. الدفعة هي قاموس، على سبيل المثال دفعة تحتوي على مثال واحد هي `{"text": ["Hello there !"]}`.
- إذا كانت `True` و`batch_size` تساوي `n` > 1، فإن الدالة تستقبل دفعة من `n` أمثلة كمدخلات، ويمكن أن تعيد دفعة تحتوي على `n` أمثلة، أو على عدد عشوائي من الأمثلة. لاحظ أن الدفعة الأخيرة قد تحتوي على أقل من `n` أمثلة. الدفعة هي قاموس، على سبيل المثال، دفعة من `n` أمثلة هي `{"text": ["Hello there !"] * n}`.

إذا كانت الدالة غير متزامنة، فسيُنفّذ `map` دالتك بالتوازي، مع حد أقصى يبلغ ألف استدعاء متزامن. يُنصح باستخدام `asyncio.Semaphore` في دالتك إذا كنت ترغب في تحديد الحد الأقصى لعدد العمليات التي يمكن تنفيذها في الوقت نفسه.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> def add_prefix(example):
...     example["text"] = "Review: " + example["text"]
...     return example
>>> ds = ds.map(add_prefix)
>>> next(iter(ds["train"]))
{'label': 1,
 'text': 'Review: the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```

#### تصفية[[datasets.IterableDatasetDict.filter]]

```python
filter(function: typing.Optional[typing.Callable] = None, with_indices = False, input_columns: typing.Union[str, list[str], NoneType] = None, batched: bool = False, batch_size: typing.Optional[int] = 1000, fn_kwargs: typing.Optional[dict] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L2011)

**المعاملات:**

function (`Callable`) : دالة قابلة للاستدعاء تحمل إحدى التواقيع التالية: - `function(example: Dict[str, Any]) -> bool` إذا كان `with_indices=False, batched=False` - `function(example: Dict[str, Any], indices: int) -> bool` إذا كان `with_indices=True, batched=False` - `function(example: Dict[str, list]) -> list[bool]` إذا كان `with_indices=False, batched=True` - `function(example: Dict[str, list], indices: list[int]) -> list[bool]` إذا كان `with_indices=True, batched=True` إذا لم يتم تقديم دالة، فإن القيمة الافتراضية هي دالة تعيد دائمًا True: `lambda x: True`.

with_indices (`bool`، القيمة الافتراضية `False`) : تقديم فهارس أمثلة إلى `function`. لاحظ أنه في هذه الحالة يجب أن تكون التوقيع الخاص بـ `function` على النحو التالي `def function(example, idx): ...`.

input_columns (`str` أو `list[str]`، *اختياري*) : الأعمدة التي سيتم تمريرها إلى `function` كحجج موضعية. إذا كانت `None`، يتم تمرير قاموس (dict) يربط جميع الأعمدة المنسّقة كحجة واحدة.

batched (`bool`، القيمة الافتراضية `False`) : تقديم دفعة من الأمثلة إلى `function`

batch_size (`int`، *اختياري*، القيمة الافتراضية `1000`) : عدد الأمثلة في كل دفعة تُقدَّم إلى `function` إذا كان `batched=True`.

fn_kwargs (`Dict`، *اختياري*، القيمة الافتراضية `None`) : حُجج الكلمات المفتاحية التي سيتم تمريرها إلى `function`

طبّق دالة تصفية على جميع العناصر بحيث تتضمن مجموعة البيانات أمثلةً فقط وفقًا لدالة التصفية. يتم إجراء التصفية على الفور أثناء التكرار على مجموعة البيانات. تُطبَّق التصفية على جميع مجموعات البيانات ضمن قاموس مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> ds = ds.filter(lambda x: x["label"] == 0)
>>> list(ds["train"].take(3))
[{'label': 0, 'text': 'Review: simplistic , silly and tedious .'},
 {'label': 0,
 'text': "Review: it's so laddish and juvenile , only teenage boys could possibly find it funny ."},
 {'label': 0,
 'text': 'Review: exploitative and largely devoid of the depth or sophistication that would make watching such a graphic treatment of the crimes bearable .'}]
```

#### shuffle[[datasets.IterableDatasetDict.shuffle]]

```python
shuffle(seed = None, generator: typing.Optional[numpy.random._generator.Generator] = None, buffer_size: int = 1000, max_buffer_input_shards: int = 10)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L2074)

**المعاملات:**

seed (`int`، *اختياري*، القيمة الافتراضية `None`) : البذرة العشوائية التي ستُستخدم لخلط مجموعة البيانات. تُستخدم لأخذ عينات من مخزن الخلط وكذلك لخلط شرائح البيانات.

generator (`numpy.random.Generator`، *اختياري*) : مولّد عشوائي من Numpy يُستخدم لحساب تبديل صفوف مجموعة البيانات. إذا كان `generator=None` (الافتراضي)، يُستخدم `np.random.default_rng` (مولّد البتات الافتراضي (PCG64) في NumPy).

buffer_size (`int`، القيمة الافتراضية `1000`) : حجم المخزن المؤقت.

max_buffer_input_shards (`int`، القيمة الافتراضية `10`) : الحد الأقصى لعدد الأجزاء المستخدمة لتغذية المخزن المؤقت في كل مرة.

يقوم بتبديل عناصر مجموعة البيانات هذه عشوائياً. يُطبَّق التبديل على جميع مجموعات البيانات في قاموس مجموعة البيانات.

تملأ هذه المجموعة بيانات مخزن مؤقت يحتوي على buffer_size عنصرًا، ثم تعيّن عناصر عشوائيًا من هذا المخزن المؤقت، مستبدلةً العناصر المحددة بعناصر جديدة. وللخلط المثالي، يلزم أن يكون حجم المخزن المؤقت أكبر من حجم المجموعة الكاملة أو مساويًا له.

على سبيل المثال، إذا كانت مجموعة البيانات الخاصة بك تحتوي على 10,000 عنصر لكن `buffer_size` مضبوط على 1000، فإن `shuffle` سيختار في البداية عنصراً عشوائياً من أول 1000 عنصر فقط في المخزن المؤقت. بمجرد اختيار عنصر، يُستبدل مكانه في المخزن المؤقت بالعنصر التالي (أي العنصر رقم 1,001)، مما يحافظ على مخزن مؤقت مكون من 1000 عنصر.

إذا كان مجموعة البيانات مكوّنة من عدة أجزاء، فإنها تقوم أيضًا بـ`shuffle` لترتيب الأجزاء. ومع ذلك، إذا تم تثبيت الترتيب باستخدام [skip()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset.skip) أو [take()](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDataset.take)، فإن ترتيب الأجزاء يبقى دون تغيير.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> list(ds["train"].take(3))
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'}]
>>> ds = ds.shuffle(seed=42)
>>> list(ds["train"].take(3))
[{'label': 1,
 'text': "a sports movie with action that's exciting on the field and a story you care about off it ."},
 {'label': 1,
 'text': 'at its best , the good girl is a refreshingly adult take on adultery . . .'},
 {'label': 1,
 'text': "sam jones became a very lucky filmmaker the day wilco got dropped from their record label , proving that one man's ruin may be another's fortune ."}]
```

#### with_format[[datasets.IterableDatasetDict.with_format]]

```python
with_format(type: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L1865)

**المعاملات:**

type (`str`, *اختياري*) : نوع المخرجات المختار من بين `[None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars']`. تعني `None` أنه يُعاد كائنات بايثون (الافتراضي).

إرجاع مجموعة بيانات بالصيغة المحددة.

مثال:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation", streaming=True)
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> ds = ds.map(lambda x: tokenizer(x['text'], truncation=True, padding=True), batched=True)
>>> ds = ds.with_format("torch")
>>> next(iter(ds))
{'text': 'compassionately explores the seemingly irreconcilable situation between conservative christian parents and their estranged gay and lesbian children .',
 'label': tensor(1),
 'input_ids': tensor([  101, 18027, 16310, 16001,  1103,  9321,   178, 11604,  7235,  6617,
        1742,  2165,  2820,  1206,  6588, 22572, 12937,  1811,  2153,  1105,
        1147, 12890, 19587,  6463,  1105, 15026,  1482,   119,   102,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0]),
 'token_type_ids': tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
 'attention_mask': tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])}
```

#### cast[[datasets.IterableDatasetDict.cast]]

```python
cast(features: Features)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L2290)

**المعاملات:**

features (`Features`) : الميزات الجديدة التي سيتم تحويل مجموعة البيانات إليها. يجب أن تتطابق أسماء الحقول في الميزات مع أسماء الأعمدة الحالية. كما يجب أن يكون نوع البيانات قابلاً للتحويل من نوع إلى آخر. للتحويل غير البسيط، مثل `string` <-> `ClassLabel` ، يجب عليك استخدام `map` لتحديث مجموعة البيانات.

**يعيد:** [IterableDatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDatasetDict)

نسخة من مجموعة البيانات مع الميزات المُحوَّلة.

قم بتحويل مجموعة البيانات إلى مجموعة ميزات جديدة. يُطبَّق تحويل النوع على جميع مجموعات البيانات في قاموس مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> ds["train"].features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
>>> new_features = ds["train"].features.copy()
>>> new_features['label'] = ClassLabel(names=['bad', 'good'])
>>> new_features['text'] = Value('large_string')
>>> ds = ds.cast(new_features)
>>> ds["train"].features
{'label': ClassLabel(names=['bad', 'good']),
 'text': Value('large_string')}
```

#### cast_column[[datasets.IterableDatasetDict.cast_column]]

```python
cast_column(column: str, feature: typing.Union[dict, list, tuple, datasets.features.features.Value, datasets.features.features.ClassLabel, datasets.features.translation.Translation, datasets.features.translation.TranslationVariableLanguages, datasets.features.features.LargeList, datasets.features.features.List, datasets.features.features.Array2D, datasets.features.features.Array3D, datasets.features.features.Array4D, datasets.features.features.Array5D, datasets.features.audio.Audio, datasets.features.image.Image, datasets.features.mesh.Mesh, datasets.features.video.Video, datasets.features.pdf.Pdf, datasets.features.nifti.Nifti, datasets.features.bio_sequence.BioSequence, datasets.features.bio_structure.BioStructure])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L2259)

**المعاملات:**

column (`str`) : اسم العمود.

feature (`Feature`) : الميزة المستهدفة.

**يعيد:**

[IterableDatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDatasetDict)

cast_column_to_feature لتحويل العمود إلى ميزة للتحليل. يُطبَّق تحويل النوع على جميع مجموعات البيانات في قاموس مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset, ClassLabel
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> ds["train"].features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
>>> ds = ds.cast_column('label', ClassLabel(names=['bad', 'good']))
>>> ds["train"].features
{'label': ClassLabel(names=['bad', 'good']),
 'text': Value('string')}
```

#### remove_columns[[datasets.IterableDatasetDict.remove_columns]]

```python
remove_columns(column_names: typing.Union[str, list[str]])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L2207)

**المعاملات:**

column_names (`Union[str, list[str]]`) : اسم العمود أو الأعمدة المراد حذفها.

**يعيد:** [IterableDatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDatasetDict)

نسخة من كائن مجموعة البيانات دون الأعمدة المراد إزالتها.

احذف عمودًا واحدًا أو عدة أعمدة من مجموعة البيانات والميزات المرتبطة بها. يتم إجراء الحذف على الفور على الأمثلة عند التكرار على مجموعة البيانات. يُطبَّق الحذف على جميع مجموعات البيانات في قاموس مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> ds = ds.remove_columns("label")
>>> next(iter(ds["train"]))
{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```

#### rename_column[[datasets.IterableDatasetDict.rename_column]]

```python
rename_column(original_column_name: str, new_column_name: str)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L2143)

**المعاملات:**

original_column_name (`str`) : اسم العمود الذي سيتم إعادة تسميته.

new_column_name (`str`) : الاسم الجديد للعمود.

**يعيد:** [IterableDatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDatasetDict)

نسخة من مجموعة البيانات مع إعادة تسمية للعمود.

إعادة تسمية عمود في مجموعة البيانات، ونقل الميزات المرتبطة بالعمود الأصلي إلى اسم العمود الجديد. تُطبَّق إعادة التسمية على جميع مجموعات البيانات في قاموس مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> ds = ds.rename_column("text", "movie_review")
>>> next(iter(ds["train"]))
{'label': 1,
 'movie_review': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```

#### rename_columns[[datasets.IterableDatasetDict.rename_columns]]

```python
rename_columns(column_mapping: dict)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L2179)

**المعاملات:**

column_mapping (`Dict[str, str]`) : تعيين للأعمدة التي سيتم إعادة تسميتها إلى أسمائها الجديدة.

**يعيد:** [IterableDatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDatasetDict)

نسخة من مجموعة البيانات مع إعادة تسمية الأعمدة

أعد تسمية عدة أعمدة في مجموعة البيانات، وانقل الميزات المرتبطة بالأعمدة الأصلية إلى أسماء الأعمدة الجديدة. يتم تطبيق إعادة التسمية على جميع مجموعات البيانات في قاموس مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> ds = ds.rename_columns({"text": "movie_review", "label": "rating"})
>>> next(iter(ds["train"]))
{'movie_review': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .',
 'rating': 1}
```

#### select_columns[[datasets.IterableDatasetDict.select_columns]]

```python
select_columns(column_names: typing.Union[str, list[str]])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L2233)

**المعاملات:**

column_names (`Union[str, list[str]]`) : اسم العمود أو الأعمدة التي يجب الاحتفاظ بها.

**يعيد:** [IterableDatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDatasetDict)

نسخة من كائن مجموعة البيانات تحتوي على الأعمدة المحددة فقط.

اختر عمودًا واحدًا أو عدة أعمدة في مجموعة البيانات والميزات المرتبطة بها. يتم تنفيذ الاختيار على الفور على الأمثلة أثناء التكرار على مجموعة البيانات. يُطبَّق الاختيار على جميع مجموعات البيانات في قاموس مجموعة البيانات.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> ds = ds.select("text")
>>> next(iter(ds["train"]))
{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```

#### push_to_hub[[datasets.IterableDatasetDict.push_to_hub]]

```python
push_to_hub(repo_id: str, config_name: str = 'default', set_default: typing.Optional[bool] = None, data_dir: typing.Optional[str] = None, commit_message: typing.Optional[str] = None, commit_description: typing.Optional[str] = None, private: typing.Optional[bool] = None, token: typing.Optional[str] = None, revision: typing.Optional[str] = None, create_pr: typing.Optional[bool] = False, max_shard_size: typing.Union[str, int, NoneType] = None, num_shards: typing.Optional[dict[str, int]] = None, embed_external_files: bool = True, num_proc: typing.Optional[int] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/dataset_dict.py#L2327)

**المعاملات:**

repo_id (`str`) : معرّف المستودع الذي سيتم الدفع إليه بالصيغة التالية: `<user>/<dataset_name>` أو `<org>/<dataset_name>`. كما يقبل `<dataset_name>`، وسيتم افتراض مساحة الأسماء للمستخدم المسجّل. وقد يكون أيضًا موقعًا داخل دلو، مثل `buckets/<user_or_org>/<bucket_name>/...`

config_name (`str`) : اسم تكوين مجموعة البيانات. القيمة الافتراضية هي "default".

set_default (`bool`، *اختياري*) : ما إذا كان سيتم تعيين هذا الإعداد كإعداد افتراضي. وإلا، فإن الإعداد الافتراضي هو ذلك المسمى "default".

data_dir (`str`, *اختياري*) : اسم المجلد الذي سيحتوي على ملفات البيانات المرفوعة. القيمة الافتراضية هي `config_name` إذا كانت مختلفة عن "default"، وإلا فهي "data".

commit_message (`str`، *اختياري*) : الرسالة التي سيتم الالتزام بها أثناء الدفع. ستكون الافتراضية `"Upload dataset"`.

commit_description (`str`، *اختياري*) : وصف للالتزام الذي سيتم إنشاؤه. بالإضافة إلى ذلك، وصف لطلب الانضمام إذا تم إنشاؤه (`create_pr` هو True).

private (`bool`، *اختياري*) : ما إذا كان سيتم جعل المستودع خاصًا. إذا كان `None` (الافتراضي)، فسيكون المستودع عامًا ما لم يكن الافتراضي الخاص بالمنظمة هو الخاص. يتم تجاهل هذه القيمة إذا كان المستودع موجودًا بالفعل.

token (`str`, *اختياري*) : رمز مصادقة اختياري لـ Hugging Face Hub. إذا لم يُمرَّر أي رمز، فسيتم افتراضيًا استخدام المحفوظ محليًا عند تسجيل الدخول باستخدام `hf auth login`. سيُطلق خطأً إذا لم يُمرَّر أي رمز ولم يكن المستخدم مسجّل الدخول.

revision (`str`، *اختياري*) : الفرع الذي سيتم دفع الملفات المرفوعة إليه. الافتراضي هو الفرع `"main"`.

create_pr (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان سيتم إنشاء طلب سحب (PR) مع الملفات المرفوعة أو الالتزام مباشرة.

max_shard_size (`int` أو `str`، *اختياري*) : الحد الأقصى الاختياري لحجم شظايا مجموعة البيانات المراد رفعها إلى المستودع. إذا تم التعبير عنه كنص، فيجب أن يتكون من أرقام تليها وحدة (مثل `"500MB"` أو `"1GB"`). إذا لم يُقدَّم، فإن كل تقسيم يحافظ على عدد الشظايا الأصلي لمجموعة البيانات.

num_shards (`Dict[str, int]`، *اختياري*) : عدد الأجزاء التي سيتم كتابتها. استخدم قاموسًا لتعريف `num_shards` مختلف لكل تقسيم. إذا تم توفير `max_shard_size` ولم يتم توفير `num_shards` لتقسيم معين، فإن عدد الأجزاء لذلك التقسيم يُقدَّر من `max_shard_size`.

embed_external_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بايتات الملفات في الشرائح. على وجه التحديد، سيقوم هذا قبل الدفع بالآتي لحقول النوع: - [Audio](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Audio) و [Image](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Image) يزيل معلومات المسار المحلي ويزر محتوى الملف في ملفات Parquet.

num_proc (`int`، *اختياري*، القيمة الافتراضية `None`) : عدد العمليات عند تجهيز مجموعة البيانات ورفعها. يكون هذا مفيدًا إذا كانت مجموعة البيانات تتكون من العديد من العينات أو ملفات الوسائط التي يجب تضمينها. يستخدم سياق "spawn" للعمل مع hf_xet، وهو عميل rust للرفع السريع إلى HF. يتم تعطيل تعدد العمليات بشكل افتراضي.

**يعيد:**

huggingface_hub.CommitInfo

يدفع [IterableDatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDatasetDict) إلى المستودع كمجموعة بيانات Parquet. يتم دفع [IterableDatasetDict](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.IterableDatasetDict) باستخدام طلبات HTTP ولا يتطلب تثبيت git أو git-lfs.

سيتم دفع كل تقسيم من تقسيمات مجموعة البيانات بشكل مستقل. وستحتفظ مجموعة البيانات المُدَفوعة بأسماء التقسيمات الأصلية.

ملفات Parquet الناتجة مكتفية ذاتياً افتراضياً: إذا احتوى مجموعة البيانات الخاصة بك على بيانات [Image](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Image) أو [Audio](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Audio)، فستخزن ملفات Parquet البايتات الخاصة بصورك أو ملفات الصوت. يمكنك تعطيل ذلك عن طريق تعيين `embed_external_files` إلى False.

مثال:

```python
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>")
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", private=True)
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", max_shard_size="1GB")
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", num_shards={"train": 1024, "test": 8})
```

إذا كنت ترغب في إضافة تكوين جديد (أو مجموعة فرعية) إلى مجموعة بيانات (على سبيل المثال، إذا كانت مجموعة البيانات تحتوي على مهام/إصدارات/لغات متعددة):

```python
>>> english_dataset.push_to_hub("<organization>/<dataset_id>", "en")
>>> french_dataset.push_to_hub("<organization>/<dataset_id>", "fr")
>>> # later
>>> english_dataset = load_dataset("<organization>/<dataset_id>", "en")
>>> french_dataset = load_dataset("<organization>/<dataset_id>", "fr")
```

## الميزات[[datasets.Features]]

#### datasets.Features[[datasets.Features]]

```python
datasets.Features(*args, **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L1931)

قاموس خاص يحدد البنية الداخلية لمجموعة البيانات.

يتم إنشاء الكائن باستخدام قاموس من النوع `dict[str, FieldType]`، حيث تكون المفاتيح هي أسماء الأعمدة المطلوبة، والقيم هي نوع العمود المعني.

يمكن أن يكون `FieldType` أحد ما يلي:
- تحدد ميزة [Value](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Value) قيمة لنوع بيانات واحد، مثل `int64` أو `string`.
- تحدد ميزة [ClassLabel](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.ClassLabel) مجموعة محددة مسبقًا من الفئات التي يمكن ربطها بوسوم، وتُخزَّن كأعداد صحيحة في مجموعة البيانات.
- يحدد `dict` في Python ميزة مركّبة تحتوي على تعيين من الحقول الفرعية إلى الميزات الفرعية. ومن الممكن وجود حقول متداخلة داخل حقول متداخلة بطريقة غير محددة.
- يحدد [List](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.List) أو [LargeList](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.LargeList) ميزة مركبة تحتوي على تسلسل من الميزات الفرعية، جميعها من نفس نوع الميزة.
- خاصية [Array2D](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Array2D) أو [Array3D](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Array3D) أو [Array4D](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Array4D) أو [Array5D](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Array5D) للمصفوفات متعددة الأبعاد.
- ميزة [Audio](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Audio) لتخزين المسار المطلق إلى ملف صوتي أو قاموس يحتوي على المسار النسبي لملف صوتي (المفتاح "path") ومحتواه البايتي (المفتاح "bytes"). تقوم هذه ميزة بتحميل الصوت بشكل كسول باستخدام مُفكّك.
- خاصية [Image](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Image) لتخزين المسار المطلق لملف صورة، أو كائن `np.ndarray`، أو كائن `PIL.Image.Image`، أو قاموس يحتوي على المسار النسبي لملف الصورة (مفتاح "path") ومحتواه البايتي (مفتاح "bytes"). تستخرج هذه الخاصية بيانات الصورة.
- ميزة [Video](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Video) لتخزين المسار المطلق لملف فيديو، أو كائن `torchcodec.decoders.VideoDecoder`، أو قاموس يحتوي على المسار النسبي لملف الفيديو (المفتاح "path") ومحتواه البايتي (المفتاح "bytes"). تقوم هذه ميزة بتحميل الفيديو بشكل كسول باستخدام مُفكّك.
- ميزة [Pdf](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Pdf) لتخزين المسار المطلق إلى ملف PDF، أو كائن `pdfplumber.pdf.PDF`، أو قاموس يحتوي على المسار النسبي لملف PDF (المفتاح "path") ومحتواه على شكل بايتات (المفتاح "bytes"). تقوم هذه ميزة بتحميل ملف PDF بشكل كسول باستخدام قارئ PDF.
- ميزة [Nifti](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Nifti) لتخزين المسار المطلق إلى ملف تصوير عصبي بصيغة NIfTI، أو كائن `nibabel.Nifti1Image`، أو قاموس يحتوي على المسار النسبي لملف NIfTI (المفتاح "path") ومحتواه على شكل بايتات (المفتاح "bytes"). تقوم هذه ميزة بتحميل ملف NIfTI بشكل كسول باستخدام nibabel.
- ميزة [Translation](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Translation) أو [TranslationVariableLanguages](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.TranslationVariableLanguages) الخاصة بترجمة الآلة.
- ميزة [Json](/docs/datasets/v5.2.0/ar/package_reference/loading_methods#datasets.Json) لتخزين البيانات غير المهيكلة، مثل تلك التي تحتوي على أنواع مختلطة/عشوائية. تحت الغطاء

#### نسخ[[datasets.Features.copy]]

```python
copy()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L2364)

**يعيد:**

[الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)

أنشئ نسخة عميقة من [Features](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features).

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> copy_of_features = ds.features.copy()
>>> copy_of_features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
```

#### decode_batch[[datasets.Features.decode_batch]]

```python
decode_batch(batch: dict, token_per_repo_id: typing.Optional[dict[str, typing.Union[str, bool, NoneType]]] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L2337)

**المعاملات:**

batch (`dict[str, list[Any]]`) : بيانات دفعة مجموعة البيانات.

token_per_repo_id (`dict`، *اختياري*) : للوصول إلى ملفات الصوت أو الصور وفك ترميزها من المستودعات الخاصة على Hub، يمكنك تمرير قاموس repo_id (str) -> token (bool أو str)

**يعيد:**

`dict[str, list[Any]]`

فك ترميز الدفعة باستخدام فك ترميز مخصص للميزات.

#### decode_column[[datasets.Features.decode_column]]

```python
decode_column(column: list, column_name: str, token_per_repo_id: typing.Optional[dict[str, typing.Union[str, bool, NoneType]]] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L2312)

**المعاملات:**

column (`list[Any]`) : بيانات عمود مجموعة البيانات.

column_name (`str`) : اسم عمود مجموعة البيانات.

**يعيد:**

`list[Any]`

فك ترميز العمود باستخدام فك ترميز مخصص للميزة.

#### decode_example[[datasets.Features.decode_example]]

```python
decode_example(example: dict, token_per_repo_id: typing.Optional[dict[str, typing.Union[str, bool, NoneType]]] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L2289)

**المعاملات:**

example (`dict[str, Any]`) : بيانات صف مجموعة البيانات.

token_per_repo_id (`dict`, *اختياري*) : للوصول إلى ملفات الصوت أو الصور وفك ترميزها من المستودعات الخاصة على Hub، يمكنك تمرير قاموس `repo_id (str) -> token (bool or str)`.

**يعيد:**

`dict[str, Any]`

مثال على فك الترميز مع فك ميزات مخصص.

#### encode_batch[[datasets.Features.encode_batch]]

```python
encode_batch(batch)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L2270)

**المعاملات:**

batch (`dict[str, list[Any]]`) : البيانات في دفعة مجموعة البيانات.

**يعيد:**

`dict[str, list[Any]]`

ترميز الدفعة إلى صيغة Arrow.

#### encode_column[[datasets.Features.encode_column]]

```python
encode_column(column, column_name: str)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L2254)

**المعاملات:**

column (`list[Any]`) : البيانات في عمود مجموعة البيانات.

column_name (`str`) : اسم عمود مجموعة البيانات.

**يعيد:**

`list[Any]`

ترميز العمود إلى صيغة مخصصة لـ Arrow.

#### encode_example[[datasets.Features.encode_example]]

```python
encode_example(example)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L2240)

**المعاملات:**

example (`dict[str, Any]`) : البيانات في صف مجموعة البيانات.

**يعيد:**

`dict[str, Any]`

ترميز المثال إلى صيغة Arrow.

#### flatten[[datasets.Features.flatten]]

```python
flatten(max_depth = 16)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L2437)

**يعيد:** [الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)

الميزات المسطحة.

تسطيح الميزات. يتم حذف كل عمود من نوع القاموس واستبداله بجميع الحقول الفرعية التي يحتويها. تُسمّى الحقول الجديدة عن طريق دمج اسم العمود الأصلي واسم الحقل الفرعي على النحو التالي: `<original>.<subfield>`.

إذا احتوت عمود على قواميس متداخلة، فإن أسماء الحقول الفرعية على المستويات الأدنى تُدمج أيضًا لتشكيل أعمدة جديدة: `<original>.<subfield>.<subsubfield>`، وما إلى ذلك.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("rajpurkar/squad", split="train")
>>> ds.features.flatten()
{'answers.answer_start': List(Value('int32'), id=None),
 'answers.text': List(Value('string'), id=None),
 'context': Value('string'),
 'id': Value('string'),
 'question': Value('string'),
 'title': Value('string')}
```

#### from_arrow_schema[[datasets.Features.from_arrow_schema]]

```python
from_arrow_schema(pa_schema: Schema)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L2023)

**المعاملات:**

pa_schema (`pyarrow.Schema`) : مخطط Arrow.

**يعيد:**

[الميزات](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features)

إنشاء [Features](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Features) من مخطط Arrow. كما يتحقق من بيانات وصفية للمخطط الخاصة بخصائص مجموعات بيانات Hugging Face. الحقول غير القابلة للتبديل (Non-nullable) غير مدعومة ويتم ضبطها لتكون قابلة للتبديل (nullable).

كما أن pa.dictionary غير مدعوم، حيث يُستخدم النوع الأساسي بدلاً منه. لذلك، تقوم مجموعات البيانات بتحويل كائنات DictionaryArray إلى قيمها الفعلية.

#### from_dict[[datasets.Features.from_dict]]

```python
from_dict(dic)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L2057)

**المعاملات:**

dic (*dict[str, Any]*) : قاموس Python.

**يعيد:** `*Features*`

إنشاء [*Features*] من قاموس.

أعد توليد كائن الميزة المتداخلة من قاموس مُفكك التسلسل. نستخدم المفتاح *_type* لاستنتاج اسم فئة البيانات (dataclass) لنوع الميزة *FieldType*.

يتيح هذا الأمر استخدام بناءٍ مريح لتعريف الميزات من قواميس JSON المُفكَّكة. تُستخدم هذه الدالة على وجه الخصوص عند فكّ تسلسل [*DatasetInfo*] الذي تمّ تصديره إلى كائن JSON. تعمل هذه الدالة كمقابلٍ لـ [*Features.from_arrow_schema*] وتتعامل مع الفوريّة المتكررة حقلًا بحقل، لكنها لا تتطلب أيّ خرائط إلى pyarrow أو منه، باستثناء أنها تستفيد من خرائط أنواع البيانات الأولية في pyarrow التي يقوم بها [*Value*] تلقائيًا.

مثال:

```python
>>> Features.from_dict(&amp;lcub;'_type': &amp;lcub;'dtype': 'string', 'id': None, '_type': 'Value'}})
&amp;lcub;'_type': Value('string')}
```

#### reorder_fields_as[[datasets.Features.reorder_fields_as]]

```python
reorder_fields_as(other: Features)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L2384)

**المعاملات:**

other ([*الميزات*]) : الميزات [*الأخرى*] التي يجب أن تتوافق معها.

**يعيد:**

[*الميزات*]

Reorder Features fields to match the field order of other [*Features*].

ترتيب الحقول مهم لأنه يؤثر على بيانات arrow الأساسية. يسمح بإعادة ترتيب الحقول بمطابقة نوع بيانات arrow الأساسية.

مثال:

```python
>>> from datasets import Features, List, Value
>>> # let's say we have two features with a different order of nested fields (for a and b for example)
>>> f1 = Features(&amp;lcub;"root": &amp;lcub;"a": Value("string"), "b": Value("string")}})
>>> f2 = Features(&amp;lcub;"root": &amp;lcub;"b": Value("string"), "a": Value("string")}})
>>> assert f1.type != f2.type
>>> # re-ordering keeps the base structure (here List is defined at the root level), but makes the fields order match
>>> f1.reorder_fields_as(f2)
&amp;lcub;'root': List(&amp;lcub;'b': Value('string'), 'a': Value('string')})}
>>> assert f1.reorder_fields_as(f2).type == f2.type
```

### Scalar[[datasets.Value]]

#### datasets.Value[[datasets.Value]]

```python
datasets.Value(dtype: str, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L511)

**المعاملات:**

dtype (`str`) : اسم نوع البيانات.

قيمة مكوّن قياسي من نوع بيانات محدد.

أنواع `Value` الممكنة هي كالتالي:
- `null`
- `bool`
- `int8`
- `int16`
- `int32`
- `int64`
- `uint8`
- `uint16`
- `uint32`
- `uint64`
- `float16`
- `float32` (مستعار float)
- `float64` (مستعار double)
- `time32[(s|ms)]`
- `time64[(us|ns)]`
- `timestamp[(s|ms|us|ns)]`
- `timestamp[(s|ms|us|ns), tz=(tzstring)]`
- `date32`
- `date64`
- `duration[(s|ms|us|ns)]`
- `decimal128(precision, scale)`
- `decimal256(precision, scale)`
- `binary`
- `large_binary`
- `binary_view`
- `string`
- `large_string`
- `string_view`

مثال:

```py
>>> from datasets import Features
>>> features = Features({'stars': Value('int32')})
>>> features
{'stars': Value('int32')}
```

#### datasets.ClassLabel[[datasets.ClassLabel]]

```python
datasets.ClassLabel(num_classes: dataclasses.InitVar[typing.Optional[int]] = None, names: list = None, names_file: dataclasses.InitVar[typing.Optional[str]] = None, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L1052)

**المعاملات:**

num_classes (`int`، *اختياري*) : عدد الفئات. يجب أن تكون جميع التسميات < `num_classes`.

names (`list` من `str`، *اختياري*) : أسماء نصية للفئات الصحيحة. يُحافظ على الترتيب الذي تُقدَّم به الأسماء.

names_file (`str`، *اختياري*) : مسار إلى ملف يحتوي على أسماء للفئات الصحيحة، اسم واحد في كل سطر.

نوع الميزة لوسوم الفئات الصحيحة.

هناك 3 طرق لتعريف `ClassLabel`، تتوافق مع 3 معاملات:

* `num_classes`: أنشئ تسميات من 0 إلى (num_classes-1).
* `names`: قائمة من نصوص التسميات.
* `names_file`: ملف يحتوي على قائمة التسميات.

تُخزَّن التسميات في الخلفية كأعداد صحيحة. يمكنك استخدام -1 لتمثيل التسميات المجهولة أو الناقصة.

مثال:

```py
>>> from datasets import Features, ClassLabel
>>> features = Features({'label': ClassLabel(num_classes=3, names=['bad', 'ok', 'good'])})
>>> features
{'label': ClassLabel(names=['bad', 'ok', 'good'])}
```

#### cast_storage[[datasets.ClassLabel.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.IntegerArray])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L1217)

**المعاملات:**

storage (`Union[pa.StringArray, pa.IntegerArray]`) : مصفوفة PyArrow للتحويل.

**يعيد:** `pa.Int64Array`

مصفوفة في نوع التخزين `ClassLabel` الخاص بسهم.

قم بتحويل مصفوفة Arrow إلى نوع تخزين arrow الخاص بـ `ClassLabel`. أنواع Arrow التي يمكن تحويلها إلى نوع تخزين pyarrow الخاص بـ `ClassLabel` هي:

- `pa.string()`
- `pa.int()`

#### int2str[[datasets.ClassLabel.int2str]]

```python
int2str(values: typing.Union[int, collections.abc.Iterable])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L1171)

التحويل من `integer` إلى `string` لاسم الفئة.

بالنسبة إلى التسميات المجهولة/الناقصة: تمرير أعداد سالبة يثير `ValueError`.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> ds.features["label"].int2str(0)
'neg'
```

#### str2int[[datasets.ClassLabel.str2int]]

```python
str2int(values: typing.Union[str, collections.abc.Iterable])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L1126)

اسم فئة التحويل `string` => `integer`.

مثال:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> ds.features["label"].str2int('neg')
0
```

### مركّب[[datasets.LargeList]]

#### datasets.LargeList[[datasets.LargeList]]

```python
datasets.LargeList(feature: typing.Any, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L1414)

**المعاملات:**

feature (`FeatureType`) : نوع بيانات الميزة الفرعية لكل عنصر ضمن القائمة الكبيرة.

نوع الميزة لبيانات القوائم الكبيرة المكوّنة من نوع بيانات الميزات الفرعية.

يعتمد على `pyarrow.LargeListType`، وهو يشبه `pyarrow.ListType` لكنه يستخدم إزاحات 64-بت بدلاً من 32-بت.

#### datasets.List[[datasets.List]]

```python
datasets.List(feature: typing.Any, length: int = -1, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L1386)

**المعاملات:**

feature (`FeatureType`) : نوع بيانات الميزة الفرعية لكل عنصر ضمن القائمة الكبيرة.

length (اختياري `int`، الافتراضي -1) : طول القائمة إذا كان ثابتًا. الافتراضي هو -1 مما يعني طولًا غير محدد.

نوع الميزة لبيانات القوائم الكبيرة المكوّنة من نوع بيانات الميزات الفرعية.

يعتمد على `pyarrow.ListType`، الذي يستخدم إزاحات 32-بت أو طولًا ثابتًا.

#### datasets.Sequence[[datasets.Sequence]]

```python
datasets.Sequence(feature = None, length = -1, **kwargs)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L1352)

**المعاملات:**

feature (`FeatureType`) : نوع بيانات الميزة الفرعية لكل عنصر ضمن القائمة الكبيرة.

length (اختياري `int`، الافتراضي -1) : طول القائمة إذا كان ثابتًا. الافتراضي هو -1 مما يعني طولًا غير محدد.

**يعيد:**

[قائمة](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.List) الخاصية المحددة، باستثناء `dict` الخاصيات الفرعية التي يتم تحويلها إلى `dict` من قوائم الخاصيات الفرعية من أجل التوافق مع TFDS.

`Sequence` هو أداة تحوّل تلقائيًا ميزات القاموس الداخلية إلى قاموس من القوائم. تم تنفيذ هذا السلوك ليكون طبقة توافق مع مكتبة TensorFlow Datasets، لكنه قد لا يكون مرغوبًا فيه في بعض الحالات. إذا كنت لا تريد هذا السلوك، يمكنك استخدام [List](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.List) أو [LargeList](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.LargeList) بدلاً من [Sequence](/docs/datasets/v5.2.0/ar/package_reference/main_classes#datasets.Sequence).

### الترجمة[[datasets.Translation]]

#### datasets.Translation[[datasets.Translation]]

```python
datasets.Translation(languages: list, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/translation.py#L12)

**المعاملات:**

languages (`dict`) : قاموس لكل مثال يربط رموز اللغات النصية بترجمات نصية.

`Feature` للترجمات مع لغات ثابتة لكل مثال. هنا للتوافق مع tfds.

مثال:

```python
>>> # At construction time:
>>> datasets.features.Translation(languages=['en', 'fr', 'de'])
>>> # During data generation:
>>> yield {
...         'en': 'the cat',
...         'fr': 'le chat',
...         'de': 'die katze'
... }
```

#### flatten[[datasets.Translation.flatten]]

```python
flatten()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/translation.py#L44)

Flatten ميزة الترجمة إلى قاموس.

#### datasets.TranslationVariableLanguages[[datasets.TranslationVariableLanguages]]

```python
datasets.TranslationVariableLanguages(languages: typing.Optional[list] = None, num_languages: typing.Optional[int] = None, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/translation.py#L52)

**المعاملات:**

languages (`dict`) : قاموس لكل مثال يربط رموز اللغات النصية بترجمة أو أكثر نصية. قد تختلف اللغات الموجودة من مثال إلى آخر.

**يعيد:** - `language` أو `translation` (متجه أحادي البعد بطول متغير من نوع `tf.Tensor` يحتوي على `tf.string`)

رموز اللغات مرتبة تصاعديًا أو ترجمات نصية عادية، مرتبة لتتوافق مع رموز اللغات.

`Feature` للترجمات التي تتضمن لغات متغيرة لكل مثال. هنا من أجل التوافق مع tfds.

مثال:

```python
>>> # At construction time:
>>> datasets.features.TranslationVariableLanguages(languages=['en', 'fr', 'de'])
>>> # During data generation:
>>> yield {
...         'en': 'the cat',
...         'fr': ['le chat', 'la chatte,']
...         'de': 'die katze'
... }
>>> # Tensor returned :
>>> {
...         'language': ['en', 'de', 'fr', 'fr'],
...         'translation': ['the cat', 'die katze', 'la chatte', 'le chat'],
... }
```

#### flatten[[datasets.TranslationVariableLanguages.flatten]]

```python
flatten()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/translation.py#L122)

Flatten الخاصية TranslationVariableLanguages إلى قاموس.

### المصفوفات[[datasets.Array2D]]

#### datasets.Array2D[[datasets.Array2D]]

```python
datasets.Array2D(shape: tuple, dtype: str, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L608)

**المعاملات:**

shape (`tuple`) : حجم كل بُعد.

dtype (`str`) : اسم نوع البيانات.

أنشئ مصفوفة ثنائية الأبعاد.

مثال:

```py
>>> from datasets import Features
>>> features = Features({'x': Array2D(shape=(1, 3), dtype='int32')})
```

#### datasets.Array3D[[datasets.Array3D]]

```python
datasets.Array3D(shape: tuple, dtype: str, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L633)

**المعاملات:**

shape (`tuple`) : حجم كل بُعد.

dtype (`str`) : اسم نوع البيانات.

أنشئ مصفوفة ثلاثية الأبعاد.

مثال:

```py
>>> from datasets import Features
>>> features = Features({'x': Array3D(shape=(1, 2, 3), dtype='int32')})
```

#### datasets.Array4D[[datasets.Array4D]]

```python
datasets.Array4D(shape: tuple, dtype: str, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L658)

**المعاملات:**

shape (`tuple`) : حجم كل بُعد.

dtype (`str`) : اسم نوع البيانات.

أنشئ مصفوفة رباعية الأبعاد.

مثال:

```py
>>> from datasets import Features
>>> features = Features({'x': Array4D(shape=(1, 2, 2, 3), dtype='int32')})
```

#### datasets.Array5D[[datasets.Array5D]]

```python
datasets.Array5D(shape: tuple, dtype: str, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L683)

**المعاملات:**

shape (`tuple`) : حجم كل بُعد.

dtype (`str`) : اسم نوع البيانات.

أنشئ مصفوفة خماسية الأبعاد.

مثال:

```py
>>> from datasets import Features
>>> features = Features({'x': Array5D(shape=(1, 2, 2, 3, 3), dtype='int32')})
```

### الصوت[[datasets.Audio]]

#### datasets.Audio[[datasets.Audio]]

```python
datasets.Audio(sampling_rate: typing.Optional[int] = None, decode: bool = True, num_channels: typing.Optional[int] = None, stream_index: typing.Optional[int] = None, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/audio.py#L24)

**المعاملات:**

sampling_rate (`int`، *اختياري*) : معدل أخذ العينات المستهدف. إذا كان `None`، يتم استخدام معدل أخذ العينات الأصلي.

num_channels (`int`, *اختياري*) : عدد القنوات المطلوب للعينات. افتراضيًا، يُستخدم عدد قنوات المصدر. سيعيد فك ترميز الصوت عينات بشكل (num_channels, num_samples) حاليًا، يتم دعم `None` (عدد قنوات المصدر، الافتراضي)، أو `1` (أحادي) أو `2` (ستيريو) قناة. يُمرر الحجة `num_channels` إلى `torchcodec.decoders.AudioDecoder`.

decode (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم فك ترميز بيانات الصوت. إذا كانت `False`، تُرجع القاموس الأساسي بالصيغة `{"path": audio_path, "bytes": audio_bytes}`.

stream_index (`int`، *اختياري*) : مؤشر البث الذي يجب استخدامه من الملف. إذا كان `None`، فسيتم افتراض استخدام "أفضل" مؤشر.

مكوّن `Feature` الصوتي لاستخراج البيانات الصوتية من ملف صوتي.

المدخل: تقبل ميزة الصوت كمدخل:
- `str`: المسار المطلق لملف الصوت (أي يُسمح بالوصول العشوائي).
- مسار `pathlib.Path`: المسار إلى ملف الصوت (أي يُسمح بالوصول العشوائي).
- `dict` بالمفاتيح:

  - `path`: نص يحتوي على المسار النسبي لملف الصوت إلى ملف الأرشيف.
  - `bytes`: محتوى البايتات الخاص بملف الصوت.

  يُعدّ هذا مفيدًا لملفات parquet أو webdataset التي تضمّن ملفات صوتية.

- `dict` بالمفاتيح:

  - `array`: مصفوفة تحتوي على عينة الصوت
  - `sampling_rate`: عدد صحيح يقابل معدل أخذ العينات لعينة الصوت.

- كائن `torchcodec.decoders.AudioDecoder`: كائن مُفكِّك الصوت الخاص بـ torchcodec.

المخرجات: تُخرج ميزات الصوت البيانات ككائنات `torchcodec.decoders.AudioDecoder`، مع مفاتيح إضافية:

- `array`: مصفوفة تحتوي على عينة الصوت
- `sampling_rate`: عدد صحيح يقابل معدل أخذ العينات لعينة الصوت.

مثال:

```py
>>> from datasets import load_dataset, Audio
>>> ds = load_dataset("PolyAI/minds14", name="en-US", split="train")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=44100, num_channels=2))
>>> ds[0]["audio"]
<datasets.features._torchcodec.AudioDecoder object at 0x11642b6a0>
>>> audio = ds[0]["audio"]
>>> audio.get_samples_played_in_range(0, 10)
AudioSamples:
    data (shape): torch.Size([2, 110592])
    pts_seconds: 0.0
    duration_seconds: 2.507755102040816
    sample_rate: 44100
```

#### cast_storage[[datasets.Audio.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/audio.py#L237)

**المعاملات:**

storage (`Union[pa.StringArray, pa.StructArray]`) : مصفوفة PyArrow للتحويل.

**يعيد:** `pa.StructArray`

مصفوفة في نوع تخزين Audio arrow، وهو `pa.struct({"bytes": pa.binary(), "path": pa.string()})`

قم بتحويل مصفوفة Arrow إلى نوع تخزين Audio الخاص بـ arrow. أنواع Arrow التي يمكن تحويلها إلى نوع تخزين pyarrow الخاص بـ Audio هي:

- `pa.string()` - يجب أن يحتوي على بيانات "path"
- `pa.binary()` - يجب أن يحتوي على بايتات الصوت
- `pa.struct({"bytes": pa.binary()})`
- `pa.struct({"path": pa.string()})`
- `pa.struct({"bytes": pa.binary(), "path": pa.string()})` - لا يهم الترتيب

#### decode_example[[datasets.Audio.decode_example]]

```python
decode_example(value: dict, token_per_repo_id: typing.Optional[dict[str, typing.Union[str, bool, NoneType]]] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/audio.py#L164)

**المعاملات:**

value (`dict`) : قاموس بمفاتيح: - `path`: نص يحتوي على مسار ملف الصوت النسبي. - `bytes`: بايتات ملف الصوت.

token_per_repo_id (`dict`, *اختياري*) : للوصول إلى ملفات الصوت وفك ترميزها من المستودعات الخاصة على Hub، يمكنك تمرير قاموس repo_id (`str`) -> token (`bool` أو `str`)

**يعيد:**

`torchcodec.decoders.AudioDecoder`

decode ملف صوتي مثال إلى بيانات صوتية.

#### embed_storage[[datasets.Audio.embed_storage]]

```python
embed_storage(storage: StructArray, token_per_repo_id = None, local_files: bool = True, remote_files: bool = True)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/audio.py#L283)

**المعاملات:**

storage (`pa.StructArray`) : مصفوفة PyArrow للتضمين.

token_per_repo_id (`dict`، اختياري) : قاموس repo_id -> token لجلب بايتات الملفات.

local_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بيانات الملفات المحلية في المصفوفة

remote_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بيانات الملفات البعيدة في المصفوفة. على سبيل المثال، الملفات التي تبدأ مساراتها بـ hf:// أو https://

**يعيد:** `pa.StructArray`

مصفوفة في نوع تخزين Audio arrow، وهو `pa.struct({"bytes": pa.binary(), "path": pa.string()})`.

تضمين ملفات الصوت في مصفوفة Arrow.

#### encode_example[[datasets.Audio.encode_example]]

```python
encode_example(value: typing.Union[str, bytes, bytearray, dict, ForwardRef('AudioDecoder')])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/audio.py#L96)

**المعاملات:**

value (`str`، `bytes`،`bytearray`،`dict`، `AudioDecoder`) : البيانات المُمرَّرة كمدخل إلى ميزة الصوت.

**يعيد:** `dict`

ترميز المثال إلى صيغة Arrow.

#### flatten[[datasets.Audio.flatten]]

```python
flatten()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/audio.py#L226)

إذا كان في حالة قابلة للفك، فاطرح خطأً، وإلا فسطّح الميزة إلى قاموس.

### صورة[[datasets.Image]]

#### datasets.Image[[datasets.Image]]

```python
datasets.Image(mode: typing.Optional[str] = None, decode: bool = True, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/image.py#L47)

**المعاملات:**

mode (`str`، *اختياري*) : الوضع الذي سيتم تحويل الصورة إليه. إذا كان `None`، يتم استخدام الوضع الأصلي للصورة.

decode (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم فك ترميز بيانات الصورة. إذا كانت `False`، تُرجع القاموس الأساسي بالصيغة `{"path": image_path, "bytes": image_bytes}`.

خاصية `Feature` لقراءة بيانات الصورة من ملف صورة.

المدخل: تقبل ميزة الصورة كمدخل:
- `str`: المسار المطلق لملف الصورة (أي يُسمح بالوصول العشوائي).
- مسار `pathlib.Path`: المسار إلى ملف الصورة (أي يُسمح بالوصول العشوائي).
- `dict` بالمفاتيح:

  - `path`: نص يحتوي على المسار النسبي لملف الصورة إلى ملف الأرشيف.
  - `bytes`: بايتات ملف الصورة.

  يُعدّ هذا مفيدًا لملفات parquet أو webdataset التي تضمّن ملفات صور.

- مصفوفة `np.ndarray`: مصفوفة NumPy تمثل صورة.
- `PIL.Image.Image`: كائن صورة من مكتبة PIL.

المخرجات: تُخرج ميزات الصورة البيانات ككائنات `PIL.Image.Image`.

أمثلة:

```py
>>> from datasets import load_dataset, Image
>>> ds = load_dataset("AI-Lab-Makerere/beans", split="train")
>>> ds.features["image"]
Image(decode=True, id=None)
>>> ds[0]["image"]
<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=500x500 at 0x15E52E7F0>
>>> ds = ds.cast_column('image', Image(decode=False))
{'bytes': None,
 'path': '/root/.cache/huggingface/datasets/downloads/extracted/b0a21163f78769a2cf11f58dfc767fb458fc7cea5c05dccc0144a2c0f0bc1292/train/healthy/healthy_train.85.jpg'}
```

#### cast_storage[[datasets.Image.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray, pyarrow.lib.ListArray])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/image.py#L216)

**المعاملات:**

storage (`Union[pa.StringArray, pa.StructArray, pa.ListArray]`) : مصفوفة PyArrow للتحويل.

**يعيد:** `pa.StructArray`

مصفوفة في نوع تخزين Image arrow، وهو `pa.struct({"bytes": pa.binary(), "path": pa.string()})`.

قم بتحويل مصفوفة Arrow إلى نوع تخزين Image الخاص بـ arrow. أنواع Arrow التي يمكن تحويلها إلى نوع تخزين Image الخاص بـ pyarrow هي:

- `pa.string()` - يجب أن يحتوي على بيانات "path"
- `pa.large_string()` - يجب أن يحتوي على بيانات "path" (سيتم تحويله إلى نص إذا أمكن)
- `pa.binary()` - يجب أن يحتوي على بايتات الصورة
- `pa.struct({"bytes": pa.binary()})`
- `pa.struct({"path": pa.string()})`
- `pa.struct({"bytes": pa.binary(), "path": pa.string()})` - لا يهم الترتيب
- `pa.list(*)` - يجب أن يحتوي على بيانات مصفوفة الصور

#### decode_example[[datasets.Image.decode_example]]

```python
decode_example(value: dict, token_per_repo_id = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/image.py#L139)

**المعاملات:**

value (`str` أو `dict`) : نص يحتوي على مسار مطلق لملف الصورة، أو قاموس بمفاتيح: - `path`: نص يحتوي على مسار مطلق أو نسبي لملف الصورة. - `bytes`: البايتات الخاصة بملف الصورة.

token_per_repo_id (`dict`, *اختياري*) : للوصول إلى ملفات الصور وفك ترميزها من المستودعات الخاصة على Hub، يمكنك تمرير قاموس repo_id (`str`) -> token (`bool` أو `str`).

**يعيد:**

`PIL.Image.Image`

فك ترميز ملف صورة مثال إلى بيانات صورة.

#### embed_storage[[datasets.Image.embed_storage]]

```python
embed_storage(storage: StructArray, token_per_repo_id = None, local_files: bool = True, remote_files: bool = True)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/image.py#L278)

**المعاملات:**

storage (`pa.StructArray`) : مصفوفة PyArrow للتضمين.

token_per_repo_id (`dict`، اختياري) : قاموس repo_id -> token لجلب بايتات الملفات.

local_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بيانات الملفات المحلية في المصفوفة

remote_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بيانات الملفات البعيدة في المصفوفة. على سبيل المثال، الملفات التي تبدأ مساراتها بـ hf:// أو https://

**يعيد:** `pa.StructArray`

مصفوفة في نوع تخزين Image arrow، وهو `pa.struct({"bytes": pa.binary(), "path": pa.string()})`.

تضمين ملفات الصور في مصفوفة Arrow.

#### encode_example[[datasets.Image.encode_example]]

```python
encode_example(value: typing.Union[str, bytes, bytearray, dict, numpy.ndarray, ForwardRef('PIL.Image.Image')])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/image.py#L98)

**المعاملات:**

value (`str` أو `np.ndarray` أو `PIL.Image.Image` أو `dict`) : البيانات المُمرَّرة كمدخل إلى ميزة الصورة.

**يعيد:**

`dict` يحتوي على حقلي "path" و"bytes"

ترميز المثال إلى صيغة Arrow.

#### flatten[[datasets.Image.flatten]]

```python
flatten()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/image.py#L203)

إذا كان في حالة قابلة للفك، أعد الميزة نفسها، وإلا فسطّح الميزة إلى قاموس.

### فيديو[[datasets.Video]]

#### datasets.Video[[datasets.Video]]

```python
datasets.Video(decode: bool = True, stream_index: typing.Optional[int] = None, dimension_order: typing.Literal['NCHW', 'NHWC'] = 'NCHW', num_ffmpeg_threads: int = 1, device: typing.Union[str, ForwardRef('torch.device'), NoneType] = 'cpu', seek_mode: typing.Literal['exact', 'approximate'] = 'exact', id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/video.py#L29)

**المعاملات:**

decode (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم فك ترميز بيانات الفيديو. إذا كانت `False`، تُرجع القاموس الأساسي بالصيغة `{"path": video_path, "bytes": video_bytes}`.

stream_index (`int`، *اختياري*) : مؤشر البث الذي يجب استخدامه من الملف. إذا كان `None`، فسيتم افتراض استخدام "أفضل" مؤشر.

dimension_order (`str`، الافتراضي `NCHW`) : ترتيب الأبعاد للإطارات المُفكَّكة. حيث N هو حجم الدفعة، وC هو عدد القنوات، وH هو الارتفاع، وW هو عرض الإطارات.

num_ffmpeg_threads (`int`، القيمة الافتراضية هي `1`) : عدد الخيوط المستخدمة لفك ترميز الفيديو. (يُوصى بإبقائها عند 1)

device (`str` أو `torch.device`، الافتراضي هو `cpu`) : الجهاز المستخدم لفك ترميز الفيديو.

seek_mode (`str`، الافتراضي `exact`) : يحدد ما إذا كان الوصول إلى الإطار سيكون دقيقًا أو تقريبيًا. يضمن الوضع الدقيق أن طلب الإطار i سيعيد دائمًا الإطار i، لكن ذلك يتطلب مسحًا أوليًا للملف. أما الوضع التقريبي فهو أسرع لأنه يتجنب مسح الملف، لكنه أقل دقة لأنه يستخدم بيانات وصفية الملف لحساب الموقع المحتمل للإطار i. اقرأ المزيد [هنا](https://docs.pytorch.org/torchcodec/stable/generated_examples/approximate_mode.html#sphx-glr-generated-examples-approximate-mode-py)

ميزة `Feature` في الفيديو لقراءة بيانات الفيديو من ملف فيديو.

المدخل: تقبل ميزة الفيديو كمدخل:
- `str`: المسار المطلق لملف الفيديو (أي يُسمح بالوصول العشوائي).
- مسار `pathlib.Path`: المسار إلى ملف الفيديو (أي يُسمح بالوصول العشوائي).
- `dict` بالمفاتيح:

  - `path`: نص يحتوي على المسار النسبي لملف الفيديو في مستودع مجموعة البيانات.
  - `bytes`: بايتات ملف الفيديو.

  يُعدّ هذا مفيدًا لملفات parquet أو webdataset التي تضمّن ملفات فيديو.

- كائن `torchcodec.decoders.VideoDecoder`: كائن مُفكِّك الفيديو الخاص بـ torchcodec.

المخرجات: تُميَّز مخرجات الفيديو البيانات ككائنات من نوع `torchcodec.decoders.VideoDecoder`.

أمثلة:

```py
>>> from datasets import Dataset, Video
>>> ds = Dataset.from_dict({"video":["path/to/Screen Recording.mov"]}).cast_column("video", Video())
>>> ds.features["video"]
Video(decode=True, id=None)
>>> ds[0]["video"]
<torchcodec.decoders._video_decoder.VideoDecoder object at 0x14a61e080>
>>> video = ds[0]["video"]
>>> video.get_frames_in_range(0, 10)
FrameBatch:
data (shape): torch.Size([10, 3, 50, 66])
pts_seconds: tensor([0.4333, 0.4333, 0.4333, 0.4333, 0.4333, 0.4333, 0.4333, 0.4333, 0.4333,
        0.4333], dtype=torch.float64)
duration_seconds: tensor([0.0167, 0.0167, 0.0167, 0.0167, 0.0167, 0.0167, 0.0167, 0.0167, 0.0167,
        0.0167], dtype=torch.float64)
>>> ds.cast_column('video', Video(decode=False))[0]["video]
{'bytes': None,
 'path': 'path/to/Screen Recording.mov'}
```

#### cast_storage[[datasets.Video.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray, pyarrow.lib.ListArray])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/video.py#L242)

**المعاملات:**

storage (`Union[pa.StringArray, pa.StructArray, pa.ListArray]`) : مصفوفة PyArrow للتحويل.

**يعيد:** `pa.StructArray`

مصفوفة في نوع تخزين السهم (Arrow) في الفيديو، وهو `pa.struct({"bytes": pa.binary(), "path": pa.string()})`.

قم بتحويل مصفوفة Arrow إلى نوع تخزين Video الخاص بـ arrow. أنواع Arrow التي يمكن تحويلها إلى نوع تخزين pyarrow الخاص بـ Video هي:

- `pa.string()` - يجب أن يحتوي على بيانات "path"
- `pa.binary()` - يجب أن يحتوي على بايتات الفيديو
- `pa.struct({"bytes": pa.binary()})`
- `pa.struct({"path": pa.string()})`
- `pa.struct({"bytes": pa.binary(), "path": pa.string()})` - لا يهم الترتيب
- `pa.list(*)` - يجب أن يحتوي على بيانات مصفوفة الفيديو

#### decode_example[[datasets.Video.decode_example]]

```python
decode_example(value: typing.Union[str, datasets.features.video.Example], token_per_repo_id: typing.Optional[dict[str, typing.Union[bool, str]]] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/video.py#L153)

**المعاملات:**

value (`str` أو `dict`) : نص يحتوي على المسار المطلق لملف الفيديو، أو قاموس بمفاتيح: - `path`: نص يحتوي على مسار مطلق أو نسبي لملف الفيديو. - `bytes`: البايتات الخاصة بملف الفيديو.

token_per_repo_id (`dict`, *اختياري*) : للوصول إلى ملفات الفيديو وفك ترميزها من المستودعات الخاصة على Hub، يمكنك تمرير قاموس repo_id (`str`) -> token (`bool` أو `str`).

**يعيد:**

`torchcodec.decoders.VideoDecoder`

Decode ملف فيديو كمثال إلى بيانات فيديو.

#### embed_storage[[datasets.Video.embed_storage]]

```python
embed_storage(storage: StructArray, token_per_repo_id = None, local_files: bool = True, remote_files: bool = True)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/video.py#L294)

**المعاملات:**

storage (`pa.StructArray`) : مصفوفة PyArrow للتضمين.

token_per_repo_id (`dict`، اختياري) : قاموس repo_id -> token لجلب بايتات الملفات.

local_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بيانات الملفات المحلية في المصفوفة

remote_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بيانات الملفات البعيدة في المصفوفة. على سبيل المثال، الملفات التي تبدأ مساراتها بـ hf:// أو https://

**يعيد:** `pa.StructArray`

مصفوفة في نوع تخزين السهم (Arrow) في الفيديو، وهو `pa.struct({"bytes": pa.binary(), "path": pa.string()})`.

تضمين ملفات الصور في مصفوفة Arrow.

#### encode_example[[datasets.Video.encode_example]]

```python
encode_example(value: typing.Union[str, bytes, bytearray, datasets.features.video.Example, numpy.ndarray, ForwardRef('VideoDecoder')])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/video.py#L105)

**المعاملات:**

value (`str` أو `np.ndarray` أو `bytes` أو `bytearray` أو `VideoDecoder` أو `dict`) : البيانات المُمرَّرة كمدخل إلى ميزة الفيديو.

**يعيد:**

`dict` يحتوي على حقلي "path" و"bytes"

ترميز المثال إلى صيغة Arrow.

#### flatten[[datasets.Video.flatten]]

```python
flatten()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/video.py#L229)

إذا كان في حالة قابلة للفك، أعد الميزة نفسها، وإلا فسطّح الميزة إلى قاموس.

### شبكة[[datasets.Mesh]]

#### datasets.Mesh[[datasets.Mesh]]

```python
datasets.Mesh(decode: bool = True, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/mesh.py#L23)

**المعاملات:**

decode (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم فك ترميز بيانات الشبكة. إذا كانت `False`، تُرجع القاموس الأساسي بالصيغة `{"path": mesh_path, "bytes": mesh_bytes}`. يستخدم فك ترميز الشبكة `trimesh` ويدعم ملفات `.glb` و`.gltf` و`.ply` و`.stl`.

شبكة `Feature` لقراءة بيانات الشبكات ثلاثية الأبعاد من ملف.

المدخل: تقبل ميزة Mesh كمدخل:
- `str`: المسار المطلق لملف الشبكة (أي يُسمح بالوصول العشوائي).
- `pathlib.Path`: مسار إلى ملف الشبكة (أي يُسمح بالوصول العشوائي).
- `dict` بالمفاتيح:

  - `path`: نص يحتوي على المسار النسبي لملف الشبكة (mesh) إلى ملف الأرشيف.
  - `bytes`: بايتات ملف الشبكة.

  يُعدّ هذا مفيدًا لملفات parquet أو webdataset التي تضمّن ملفات mesh.

- A `trimesh.Trimesh` or `trimesh.Scene`: 3D mesh or scene object.

المخرجات: تُخرج ميزة Mesh البيانات ككائنات `trimesh.Trimesh` أو `trimesh.Scene`.

#### cast_storage[[datasets.Mesh.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/mesh.py#L162)

**المعاملات:**

storage (`Union[pa.StringArray, pa.StructArray]`) : مصفوفة PyArrow للتحويل.

**يعيد:** `pa.StructArray`

مصفوفة في نوع تخزين Mesh arrow، وهو `pa.struct({"bytes": pa.binary(), "path": pa.string()})`.

قم بتحويل مصفوفة Arrow إلى نوع تخزين Mesh arrow. أنواع Arrow التي يمكن تحويلها إلى نوع تخزين Mesh pyarrow هي:

- `pa.string()` - يجب أن يحتوي على بيانات "path"
- `pa.large_string()` - يجب أن يحتوي على بيانات "path" (سيتم تحويله إلى نص إذا أمكن)
- `pa.binary()` - يجب أن يحتوي على بايتات الشبكة
- `pa.struct({"bytes": pa.binary()})`
- `pa.struct({"path": pa.string()})`
- `pa.struct({"bytes": pa.binary(), "path": pa.string()})` - لا يهم الترتيب

#### decode_example[[datasets.Mesh.decode_example]]

```python
decode_example(value: dict, token_per_repo_id = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/mesh.py#L91)

**المعاملات:**

value (`dict`) : قاموس بمفاتيح: - `path`: نص يحتوي على مسار مطلق أو نسبي لملف الشبكة. - `bytes`: البايتات الخاصة بملف الشبكة.

token_per_repo_id (`dict`, *اختياري*) : للوصول إلى ملفات الشبكة وفك ترميزها من المستودعات الخاصة على Hub، يمكنك تمرير قاموس repo_id (`str`) -> token (`bool` أو `str`).

**يعيد:**

`trimesh.Trimesh` أو `trimesh.Scene`

Decode example mesh file.

#### embed_storage[[datasets.Mesh.embed_storage]]

```python
embed_storage(storage: StructArray, token_per_repo_id = None, local_files: bool = True, remote_files: bool = True)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/mesh.py#L215)

**المعاملات:**

storage (`pa.StructArray`) : مصفوفة PyArrow للتضمين.

token_per_repo_id (`dict`، اختياري) : قاموس repo_id -> token لجلب بايتات الملفات.

local_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بيانات الملفات المحلية في المصفوفة.

remote_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بيانات الملفات البعيدة في المصفوفة.

**يعيد:** `pa.StructArray`

مصفوفة في نوع تخزين Mesh arrow، وهو `pa.struct({"bytes": pa.binary(), "path": pa.string()})`.

تضمين ملفات الشبكة في مصفوفة Arrow.

#### encode_example[[datasets.Mesh.encode_example]]

```python
encode_example(value: typing.Union[str, bytes, bytearray, dict, ForwardRef('trimesh.Trimesh'), ForwardRef('trimesh.Scene')])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/mesh.py#L57)

**المعاملات:**

value (`str` أو `bytes` أو `dict` أو `trimesh.Trimesh` أو `trimesh.Scene`) : البيانات المُمرَّرة كمدخل إلى ميزة Mesh.

**يعيد:**

`dict` يحتوي على حقلي "path" و"bytes"

ترميز المثال إلى صيغة Arrow.

#### flatten[[datasets.Mesh.flatten]]

```python
flatten()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/mesh.py#L149)

إذا كان في حالة قابلة للفك، أعد الميزة نفسها، وإلا فسطّح الميزة إلى قاموس.

### Json[[datasets.Json]]

#### datasets.Json[[datasets.Json]]

```python
datasets.Json(decode: bool = True, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L1258)

نوع الميزة الخاص بـ JSON objects.

تُخزَّن الكائنات في الخلفية كنصوص مشفّرة بصيغة JSON.

مثال:

```py
>>> from datasets import Features, Json
>>> features = Features({'json': Json()})
>>> features
{'json': Json()}
```

```py
>>> from datasets import Dataset, Features, Json, List
>>> features = Features({"a": List(Json())})
>>> ds = Dataset.from_dict({"a": [[{"b": 0}, {"c": 0}]]}, features=features)
>>> # OR
>>> ds = Dataset.from_dict({"a": [[{"b": 0}, {"c": 0}]]}, on_mixed_types="use_json")
>>> ds.features
{'a': List(Json())}
>>> ds[0]
{'a': [{'b': 0}, {'c': 0}]}
>>> def f(x):
...     for y in x["a"]:
...         y["d"] = "foo"
...     return x
>>> ds = ds.map(f)
>>> ds.features
>>> ds[0]
{'a': [{'b': 0, 'd': 'foo'}, {'c': 0, 'd': 'foo'}]}
```

#### cast_storage[[datasets.Json.cast_storage]]

```python
cast_storage(storage: Array)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/features.py#L1321)

**المعاملات:**

storage (`Union[pa.StringArray, pa.IntegerArray]`) : مصفوفة PyArrow للتحويل.

**يعيد:** `pa.JsonArray`

مصفوفة في نوع تخزين `Json` الخاص بـ arrow.

قم بتحويل مصفوفة Arrow إلى نوع تخزين arrow الخاص بـ `Json`.

### Pdf[[datasets.Pdf]]

#### datasets.Pdf[[datasets.Pdf]]

```python
datasets.Pdf(decode: bool = True, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/pdf.py#L31)

**المعاملات:**

decode (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم فك ترميز بيانات ملف pdf. إذا كانت القيمة `False`، تُعاد القاموس الأساسي بالصيغة `{"path": pdf_path, "bytes": pdf_bytes}`.

**تجريبي.** ميزة `Feature` لقراءة مستندات pdf من ملف pdf.

المدخل: تقبل ميزة Pdf كمدخل:
- `str`: المسار المطلق لملف pdf (أي يُسمح بالوصول العشوائي).
- مسار من نوع `pathlib.Path`: المسار إلى ملف pdf (أي يُسمح بالوصول العشوائي).
- `dict` بالمفاتيح:
  - `path`: نص يحتوي على المسار النسبي لملف pdf في مستودع مجموعة البيانات.
  - `bytes`: بايتات ملف pdf. وهذا مفيد للملفات المؤرشفة ذات الوصول التسلسلي.

- `pdfplumber.pdf.PDF`: كائن pdfplumber pdf.

أمثلة:

```py
>>> from datasets import Dataset, Pdf
>>> ds = Dataset.from_dict({"pdf": ["path/to/pdf/file.pdf"]}).cast_column("pdf", Pdf())
>>> ds.features["pdf"]
Pdf(decode=True, id=None)
>>> ds[0]["pdf"]
<pdfplumber.pdf.PDF object at 0x7f8a1c2d8f40>
>>> ds = ds.cast_column("pdf", Pdf(decode=False))
>>> ds[0]["pdf"]
{'bytes': None,
'path': 'path/to/pdf/file.pdf'}
```

#### cast_storage[[datasets.Pdf.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray, pyarrow.lib.ListArray])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/pdf.py#L183)

**المعاملات:**

storage (`Union[pa.StringArray, pa.StructArray, pa.ListArray]`) : مصفوفة PyArrow للتحويل.

**يعيد:** `pa.StructArray`

مصفوفة في نوع تخزين Pdf arrow، وهو `pa.struct({"bytes": pa.binary(), "path": pa.string()})`.

قم بتحويل مصفوفة Arrow إلى نوع تخزين Pdf الخاص بـ arrow. أنواع Arrow التي يمكن تحويلها إلى نوع تخزين pyarrow الخاص بـ Pdf هي:

- `pa.string()` - يجب أن يحتوي على بيانات "path"
- `pa.binary()` - يجب أن يحتوي على بايتات الصورة
- `pa.struct({"bytes": pa.binary()})`
- `pa.struct({"path": pa.string()})`
- `pa.struct({"bytes": pa.binary(), "path": pa.string()})` - لا يهم الترتيب
- `pa.list(*)` - يجب أن يحتوي على بيانات مصفوفة pdf

#### decode_example[[datasets.Pdf.decode_example]]

```python
decode_example(value: dict, token_per_repo_id = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/pdf.py#L113)

**المعاملات:**

value (`str` أو `dict`) : نص يحتوي على مسار ملف pdf المطلق، أو قاموس بمفاتيح: - `path`: نص يحتوي على مسار ملف pdf مطلق أو نسبي. - `bytes`: البايتات الخاصة بملف pdf.

token_per_repo_id (`dict`, *اختياري*) : للوصول إلى ملفات pdf في المستودعات الخاصة على Hub وفك ترميزها، يمكنك تمرير قاموس repo_id (`str`) -> token (`bool` أو `str`).

**يعيد:**

`pdfplumber.pdf.PDF`

تحويل ملف pdf مثال إلى بيانات pdf.

#### embed_storage[[datasets.Pdf.embed_storage]]

```python
embed_storage(storage: StructArray, token_per_repo_id = None, local_files: bool = True, remote_files: bool = True)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/pdf.py#L220)

**المعاملات:**

storage (`pa.StructArray`) : مصفوفة PyArrow للتضمين.

token_per_repo_id (`dict`، اختياري) : قاموس repo_id -> token لجلب بايتات الملفات.

local_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بيانات الملفات المحلية في المصفوفة

remote_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بيانات الملفات البعيدة في المصفوفة. على سبيل المثال، الملفات التي تبدأ مساراتها بـ hf:// أو https://

**يعيد:** `pa.StructArray`

مصفوفة في نوع تخزين PDF arrow، وهو `pa.struct({"bytes": pa.binary(), "path": pa.string()})`.

تضمين ملفات PDF في مصفوفة Arrow.

#### encode_example[[datasets.Pdf.encode_example]]

```python
encode_example(value: typing.Union[str, bytes, bytearray, dict, ForwardRef('pdfplumber.pdf.PDF')])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/pdf.py#L78)

**المعاملات:**

value (`str` أو `bytes` أو `pdfplumber.pdf.PDF` أو `dict`) : البيانات المُمرَّرة كمدخل إلى ميزة Pdf.

**يعيد:**

`dict` يحتوي على حقلي "path" و"bytes"

ترميز المثال إلى صيغة Arrow.

#### flatten[[datasets.Pdf.flatten]]

```python
flatten()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/pdf.py#L170)

إذا كان في حالة قابلة للفك، أعد الميزة نفسها، وإلا فسطّح الميزة إلى قاموس.

### Nifti[[datasets.Nifti]]

#### datasets.Nifti[[datasets.Nifti]]

```python
datasets.Nifti(decode: bool = True, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/nifti.py#L64)

**المعاملات:**

decode (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم فك ترميز بيانات NIfTI. إذا كانت `False`، يُعاد نص يحتوي على البايتات. لا يُدعم `decode=False` عند فك ترميز الأمثلة.

**تجريبي.** ميزة `Feature` من Nifti لقراءة ملفات التصوير العصبي بصيغة NIfTI.

المدخل: تقبل ميزة Nifti كمدخل:
- `str`: المسار المطلق إلى ملف NIfTI (أي يُسمح بالوصول العشوائي).
- مسار `pathlib.Path`: المسار إلى ملف NIfTI (أي يُسمح بالوصول العشوائي).
- `dict` بالمفاتيح:
  - `path`: نص يحتوي على المسار النسبي لملف NIfTI في مستودع مجموعة البيانات.
  - `bytes`: بايتات ملف NIfTI. يكون هذا مفيدًا للملفات المؤرشفة التي يتم الوصول إليها بشكل تسلسلي.

- كائن صورة `nibabel` (مثل `nibabel.nifti1.Nifti1Image`).

أمثلة:

```py
>>> from datasets import Dataset, Nifti
>>> ds = Dataset.from_dict({"nifti": ["path/to/file.nii.gz"]}).cast_column("nifti", Nifti())
>>> ds.features["nifti"]
Nifti(decode=True, id=None)
>>> ds[0]["nifti"]
<nibabel.nifti1.Nifti1Image object at 0x7f8a1c2d8f40>
>>> ds = ds.cast_column("nifti", Nifti(decode=False))
>>> ds[0]["nifti"]
{'bytes': None,
'path': 'path/to/file.nii.gz'}
```

#### cast_storage[[datasets.Nifti.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray, pyarrow.lib.BinaryArray])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/nifti.py#L298)

**المعاملات:**

storage (`Union[pa.StringArray, pa.StructArray, pa.BinaryArray]`) : مصفوفة PyArrow للتحويل.

**يعيد:** `pa.StructArray`

مصفوفة في نوع تخزين سهم Nifti، وهو `pa.struct({"bytes": pa.binary(), "path": pa.string()})`.

قم بتحويل مصفوفة Arrow إلى نوع تخزين Nifti arrow. أنواع Arrow التي يمكن تحويلها إلى نوع تخزين Nifti pyarrow هي:

- `pa.string()` - يجب أن يحتوي على بيانات "path"
- `pa.binary()` - يجب أن يحتوي على بايتات NIfTI
- `pa.struct({"bytes": pa.binary()})`
- `pa.struct({"path": pa.string()})`
- `pa.struct({"bytes": pa.binary(), "path": pa.string()})` - لا يهم الترتيب

#### decode_example[[datasets.Nifti.decode_example]]

```python
decode_example(value: dict, token_per_repo_id = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/nifti.py#L150)

**المعاملات:**

value (`str` أو `dict`) : نص يحتوي على المسار المطلق لملف NIfTI، أو قاموس بمفاتيح: - `path`: نص يحتوي على مسار مطلق أو نسبي لملف NIfTI. - `bytes`: البايتات الخاصة بملف NIfTI.

token_per_repo_id (`dict`, *اختياري*) : للوصول إلى ملفات NIfTI وفك ترميزها من المستودعات الخاصة على Hub، يمكنك تمرير قاموس repo_id (`str`) -> token (`bool` أو `str`).

**يعيد:**

كائنات `nibabel.Nifti1Image`

فكّ ترميز ملف NIfTI التجريبي إلى كائن صورة nibabel.

#### embed_storage[[datasets.Nifti.embed_storage]]

```python
embed_storage(storage: StructArray, token_per_repo_id = None, local_files: bool = True, remote_files: bool = True)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/nifti.py#L216)

**المعاملات:**

storage (`pa.StructArray`) : مصفوفة PyArrow للتضمين.

token_per_repo_id (`dict`، اختياري) : قاموس repo_id -> token لجلب بايتات الملفات.

local_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بيانات الملفات المحلية في المصفوفة

remote_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بيانات الملفات البعيدة في المصفوفة. على سبيل المثال، الملفات التي تبدأ مساراتها بـ hf:// أو https://

**يعيد:** `pa.StructArray`

مصفوفة في نوع تخزين NifTI arrow، وهو `pa.struct({"bytes": pa.binary(), "path": pa.string()})`.

تضمين ملفات NifTI في مصفوفة Arrow.

#### encode_example[[datasets.Nifti.encode_example]]

```python
encode_example(value: typing.Union[str, bytes, bytearray, dict, ForwardRef('nib.Nifti1Image')])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/nifti.py#L110)

**المعاملات:**

value (`str` أو `bytes` أو `nibabel.Nifti1Image` أو `dict`) : البيانات المُمرَّرة كمدخل إلى ميزة Nifti.

**يعيد:**

`dict` يحتوي على حقلي "path" و"bytes"

ترميز المثال إلى صيغة Arrow.

#### flatten[[datasets.Nifti.flatten]]

```python
flatten()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/nifti.py#L285)

إذا كان في حالة قابلة للفك، أعد الميزة نفسها، وإلا فسطّح الميزة إلى قاموس.

### BioSequence[[datasets.BioSequence]]

#### datasets.BioSequence[[datasets.BioSequence]]

```python
datasets.BioSequence(format: str = 'fasta', decode: bool = True, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/bio_sequence.py#L44)

**المعاملات:**

format (`str`، القيمة الافتراضية هي `"fasta"`) : اسم تنسيق التسلسل، كما تفهمه `Bio.SeqIO`. القيم الشائعة هي `"fasta"`، `"fastq"` و`"genbank"`.

decode (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم فك ترميز بيانات التسلسل. إذا كانت `False`، تُرجع القاموس الأساسي بالصيغة `{"path": path, "bytes": bytes}`.

**تجريبي.** ميزة `Feature` في BioSequence لقراءة سجلات التسلسلات البيولوجية من ملف تسلسل.

يحتوي ملف التسلسل على سجل واحد أو أكثر من بقايا الأحماض الأمينية مع معرّفاتها وتعليقاتها. تتشابه صيغ FASTA وFASTQ وGenBank في هذا المستوى من حيث الشكل، ولا تختلف إلا في المُحلِّل المستخدم، لذا يختار `format` المُحلِّل بدلاً من النوع.

المدخل: تقبل ميزة BioSequence كمدخل:
- `str`: المسار المطلق إلى ملف التسلسل (أي يُسمح بالوصول العشوائي).
- مسار من نوع `pathlib.Path`: المسار إلى ملف التسلسل (أي يُسمح بالوصول العشوائي).
- `dict` بالمفاتيح:
  - `path`: نص يحتوي على المسار النسبي لملف التسلسل في مستودع مجموعة البيانات.
  - `bytes`: بايتات ملف التسلسل. وهذا مفيد للملفات المؤرشفة مع الوصول المتسلسل.

- سجل تسلسل `Bio.SeqRecord.SeqRecord`: سجل تسلسل في مكتبة بيوبايثون.

أمثلة:

```py
>>> from datasets import Dataset, BioSequence
>>> ds = Dataset.from_dict({"seq": ["path/to/sequences.fasta"]}).cast_column("seq", BioSequence())
>>> ds.features["seq"]
BioSequence(format='fasta', decode=True)
>>> ds[0]["seq"]
SeqRecord(seq=Seq('ACGT'), id='seq1', name='seq1', description='seq1', dbxrefs=[])
>>> ds = ds.cast_column("seq", BioSequence(decode=False))
>>> ds[0]["seq"]
{'bytes': None,
'path': 'path/to/sequences.fasta'}
```

#### cast_storage[[datasets.BioSequence.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/bio_sequence.py#L199)

**المعاملات:**

storage (`Union[pa.StringArray, pa.StructArray]`) : مصفوفة PyArrow للتحويل.

**يعيد:** `pa.StructArray`

مصفوفة في نوع تخزين arrow الخاص بـ BioSequence، وهو `pa.struct({"bytes": pa.binary(), "path": pa.string()})`.

قم بتحويل مصفوفة Arrow إلى نوع تخزين BioSequence الخاص بـ arrow. أنواع Arrow التي يمكن تحويلها إلى نوع تخزين pyarrow الخاص بـ BioSequence هي:

- `pa.string()` - يجب أن يحتوي على بيانات "path"
- `pa.binary()` - يجب أن يحتوي على بايتات الملف
- `pa.struct({"bytes": pa.binary()})`
- `pa.struct({"path": pa.string()})`
- `pa.struct({"bytes": pa.binary(), "path": pa.string()})` - لا يهم الترتيب

#### decode_example[[datasets.BioSequence.decode_example]]

```python
decode_example(value: dict, token_per_repo_id = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/bio_sequence.py#L132)

**المعاملات:**

value (`str` أو `dict`) : نص يحتوي على مسار الملف المطلق، أو قاموس بمفاتيح: - `path`: نص يحتوي على مسار الملف المطلق أو النسبي. - `bytes`: البايتات الخاصة بالملف.

token_per_repo_id (`dict`, *اختياري*) : للوصول إلى الملفات من المستودعات الخاصة على Hub وفك ترميزها، يمكنك تمرير قاموس repo_id (`str`) -> token (`bool` أو `str`).

**يعيد:**

`Bio.SeqRecord.SeqRecord`

Decode example sequence file into a biopython record.

قد يحتوي الملف على العديد من السجلات؛ ويعيد هذا الأمر السجل الأول، لأن الصف الواحد يمثل سجلاً واحداً. استخدم محمّلات التسلسل المعبأة لتوسيع ملف متعدد السجلات إلى صف لكل سجل.

#### embed_storage[[datasets.BioSequence.embed_storage]]

```python
embed_storage(storage: StructArray, token_per_repo_id = None, local_files: bool = True, remote_files: bool = True)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/bio_sequence.py#L219)

**المعاملات:**

storage (`pa.StructArray`) : مصفوفة PyArrow للتضمين.

token_per_repo_id (`dict`، اختياري) : قاموس repo_id -> token لجلب بايتات الملفات.

local_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بيانات الملفات المحلية في المصفوفة.

remote_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بيانات الملفات البعيدة في المصفوفة.

**يعيد:** `pa.StructArray`

مصفوفة في نوع تخزين BioSequence الخاص بـ arrow.

تضمين ملفات التسلسل في مصفوفة Arrow.

#### encode_example[[datasets.BioSequence.encode_example]]

```python
encode_example(value: typing.Union[str, bytes, bytearray, dict, ForwardRef('SeqRecord')])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/bio_sequence.py#L99)

**المعاملات:**

value (`str` أو `bytes` أو `Bio.SeqRecord.SeqRecord` أو `dict`) : البيانات المُمرَّرة كمدخل إلى ميزة BioSequence.

**يعيد:**

`dict` يحتوي على حقلي "path" و"bytes"

ترميز المثال إلى صيغة Arrow.

#### flatten[[datasets.BioSequence.flatten]]

```python
flatten()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/bio_sequence.py#L186)

إذا كان في حالة قابلة للفك، أعد الميزة نفسها، وإلا فسطّح الميزة إلى قاموس.

### BioStructure[[datasets.BioStructure]]

#### datasets.BioStructure[[datasets.BioStructure]]

```python
datasets.BioStructure(format: str = 'pdb', decode: bool = True, id: typing.Optional[str] = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/bio_structure.py#L48)

**المعاملات:**

format (`str`، الافتراضي `"pdb"`) : صيغة البنية، إما `"pdb"` أو `"mmcif"`.

decode (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم فك ترميز بيانات الهيكل. إذا كانت `False`، تُرجع القاموس الأساسي بالصيغة `{"path": path, "bytes": bytes}`.

**تجريبي.** ميزة `Feature` في BioStructure لقراءة الهياكل الجزيئية الكبيرة من ملف بنية.

يحتوي ملف البنية على الإحداثيات ثلاثية الأبعاد لذرات الجزيء، مجمّعة في سلاسل ومخلفات. يصف PDB وmmCIF نفس الكائنات ولا يختلفان إلا في المُحلِّل المستخدم، لذا يختار `format` المُحلِّل وليس النوع.

المدخل: تقبل ميزة BioStructure كمدخل:
- `str`: المسار المطلق إلى ملف البنية (أي يُسمح بالوصول العشوائي).
- مسار من نوع `pathlib.Path`: يشير إلى ملف البنية (أي يُسمح بالوصول العشوائي).
- `dict` بالمفاتيح:
  - `path`: نص يحتوي على المسار النسبي لملف البنية في مستودع مجموعة البيانات.
  - `bytes`: بايتات ملف البنية. وهذا مفيد للملفات المؤرشفة مع الوصول التسلسلي.

- `Bio.PDB.Structure.Structure`: هيكل bioPython.

أمثلة:

```py
>>> from datasets import Dataset, BioStructure
>>> ds = Dataset.from_dict({"st": ["path/to/1abc.pdb"]}).cast_column("st", BioStructure())
>>> ds.features["st"]
BioStructure(format='pdb', decode=True)
>>> ds[0]["st"]
<Structure id=1abc>
>>> ds = ds.cast_column("st", BioStructure(decode=False))
>>> ds[0]["st"]
{'bytes': None,
'path': 'path/to/1abc.pdb'}
```

#### cast_storage[[datasets.BioStructure.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/bio_structure.py#L204)

**المعاملات:**

storage (`Union[pa.StringArray, pa.StructArray]`) : مصفوفة PyArrow للتحويل.

**يعيد:** `pa.StructArray`

مصفوفة في نوع تخزين arrow الخاص بـ BioStructure، وهو `pa.struct({"bytes": pa.binary(), "path": pa.string()})`.

قم بتحويل مصفوفة Arrow إلى نوع تخزين arrow الخاص بـ BioStructure. أنواع Arrow التي يمكن تحويلها إلى نوع تخزين pyarrow الخاص بـ BioStructure هي:

- `pa.string()` - يجب أن يحتوي على بيانات "path"
- `pa.binary()` - يجب أن يحتوي على بايتات الملف
- `pa.struct({"bytes": pa.binary()})`
- `pa.struct({"path": pa.string()})`
- `pa.struct({"bytes": pa.binary(), "path": pa.string()})` - لا يهم الترتيب

#### decode_example[[datasets.BioStructure.decode_example]]

```python
decode_example(value: dict, token_per_repo_id = None)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/bio_structure.py#L138)

**المعاملات:**

value (`str` أو `dict`) : نص يحتوي على مسار الملف المطلق، أو قاموس بمفاتيح: - `path`: نص يحتوي على مسار الملف المطلق أو النسبي. - `bytes`: البايتات الخاصة بالملف.

token_per_repo_id (`dict`, *اختياري*) : للوصول إلى الملفات من المستودعات الخاصة على Hub وفك ترميزها، يمكنك تمرير قاموس repo_id (`str`) -> token (`bool` أو `str`).

**يعيد:**

`Bio.PDB.Structure.Structure`

Decode example structure file into a biopython structure.

#### embed_storage[[datasets.BioStructure.embed_storage]]

```python
embed_storage(storage: StructArray, token_per_repo_id = None, local_files: bool = True, remote_files: bool = True)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/bio_structure.py#L224)

**المعاملات:**

storage (`pa.StructArray`) : مصفوفة PyArrow للتضمين.

token_per_repo_id (`dict`، اختياري) : قاموس repo_id -> token لجلب بايتات الملفات.

local_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بيانات الملفات المحلية في المصفوفة.

remote_files (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تضمين بيانات الملفات البعيدة في المصفوفة.

**يعيد:** `pa.StructArray`

مصفوفة في نوع تخزين arrow الخاص بـ BioStructure.

تضمين ملفات البنية في مصفوفة Arrow.

#### encode_example[[datasets.BioStructure.encode_example]]

```python
encode_example(value: typing.Union[str, bytes, bytearray, dict, ForwardRef('Structure')])
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/bio_structure.py#L105)

**المعاملات:**

value (`str` أو `bytes` أو `Bio.PDB.Structure.Structure` أو `dict`) : البيانات المُمرَّرة كمدخل إلى ميزة BioStructure.

**يعيد:**

`dict` يحتوي على حقلي "path" و"bytes"

ترميز المثال إلى صيغة Arrow.

#### flatten[[datasets.BioStructure.flatten]]

```python
flatten()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/features/bio_structure.py#L191)

إذا كان في حالة قابلة للفك، أعد الميزة نفسها، وإلا فسطّح الميزة إلى قاموس.

## أنظمة الملفات[[datasets.filesystems.is_remote_filesystem]]

#### datasets.filesystems.is_remote_filesystem[[datasets.filesystems.is_remote_filesystem]]

```python
datasets.filesystems.is_remote_filesystem(fs: AbstractFileSystem)
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/filesystems/__init__.py#L33)

**المعاملات:**

fs (`fsspec.spec.AbstractFileSystem`) : فئة فائقة مجردة لأنظمة الملفات البرمجية بلغة بايثون، مثل `fsspec.filesystem('file')` أو `s3fs.S3FileSystem`.

يتحقق مما إذا كان `fs` نظام ملفات عن بُعد.

## بصمة[[datasets.fingerprint.Hasher]]

#### datasets.fingerprint.Hasher[[datasets.fingerprint.Hasher]]

```python
datasets.fingerprint.Hasher()
```

[المصدر](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/fingerprint.py#L196)

Hasher يقبل كائنات Python كمدخلات.

