Datasets documentation

Ana sınıflar

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Ana sınıflar

DatasetInfo

sınıf datasets.DatasetInfo

< >

( description: str = <factory>citation: str = <factory>homepage: str = <factory>license: str = <factory>features: typing.Optional[datasets.features.features.Features] = Nonepost_processed: typing.Optional[datasets.info.PostProcessedInfo] = Nonesupervised_keys: typing.Optional[datasets.info.SupervisedKeysData] = Nonebuilder_name: typing.Optional[str] = Nonedataset_name: typing.Optional[str] = Noneconfig_name: typing.Optional[str] = Noneversion: typing.Union[str, datasets.utils.version.Version, NoneType] = Nonesplits: typing.Optional[datasets.splits.SplitDict] = Nonedownload_checksums: typing.Optional[dict] = Nonedownload_size: typing.Optional[int] = Nonepost_processing_size: typing.Optional[int] = Nonedataset_size: typing.Optional[int] = Nonesize_in_bytes: typing.Optional[int] = None )

Parametreler

  • description (str) — Veri setinin açıklaması.
  • citation (str) — Veri setinin BibTeX alıntısı.
  • homepage (str) — Veri setinin resmi ana sayfasına giden bir URL.
  • license (str) — Veri setinin lisansı. Lisansın adı veya lisans koşullarını içeren bir paragraf olabilir.
  • features (Features, isteğe bağlı) — Veri setinin sütun türlerini belirtmek için kullanılan özellikler.
  • post_processed (PostProcessedInfo, isteğe bağlı) — Kullanımdan kaldırıldı. Bir veri setinin olası son işleme (post-processing) işlemine ilişkin kaynak bilgileri. Örneğin, bir dizine (index) ait bilgileri içerebilir.
  • supervised_keys (SupervisedKeysData, isteğe bağlı) — Veri seti için uygunsa, denetimli öğrenme için girdi özelliğini ve etiketi belirtir (TFDS'den gelen eski bir özellik).
  • builder_name (str, isteğe bağlı) — Veri setini oluşturmak için kullanılan GeneratorBasedBuilder alt sınıfının adı. Aynı zamanda veri seti oluşturucu sınıf adının snake_case halidir.
  • config_name (str, isteğe bağlı) — BuilderConfig'den türetilen yapılandırmanın adı.
  • version (str veya Version, isteğe bağlı) — Veri setinin sürümü.
  • splits (dict, isteğe bağlı) — Bölüm adı ile meta veriler arasındaki eşleme.
  • download_checksums (dict, isteğe bağlı) — Veri setinin checksum'larını indirmek için kullanılan URL ile ilgili metadata arasındaki eşleme.
  • download_size (int, isteğe bağlı) — Veri setini oluşturmak için indirilecek dosyaların boyutu, bayt cinsinden.
  • post_processing_size (int, isteğe bağlı) — Kullanımdan kaldırıldı. Varsa, işlemden sonra veri setinin bayt cinsinden boyutu.
  • dataset_size (int, isteğe bağlı) — Tüm bölümler için Arrow tablolarının bayt cinsinden birleşik boyutu.
  • size_in_bytes (int, isteğe bağlı) — Veri setiyle ilişkili tüm dosyaların (indirilen dosyalar + Arrow dosyaları) bayt cinsinden toplam boyutu.
  • **config_kwargs (ek anahtar kelime argümanları) — BuilderConfig'e geçirilecek ve DatasetBuilder'de kullanılacak anahtar kelime argümanları.

Bir veri seti hakkında bilgi.

DatasetInfo, adını, sürümünü ve özelliklerini içeren veri setlerini belgelemektedir. Tam liste için yapıcı argümanlarını ve özelliklerine bakın.

Tüm alanlar oluşturulma sırasında bilinmeyebilir ve daha sonra güncellenebilir.

from_directory

< >

( dataset_info_dir: strstorage_options: typing.Optional[dict] = None )

Parametreler

  • dataset_info_dir (str) — Meta veri dosyasını içeren dizin. Bu, belirli bir veri seti sürümünün kök dizini olmalıdır.
  • storage_options (dict, isteğe bağlı) — Varsa, dosya sistemi arka ucuna iletilecek anahtar/değer çiftleri.

    2.9.0 sürümünde eklendi

dataset_info_dir içindeki JSON dosyasından DatasetInfo oluşturun.

Bu fonksiyon, DatasetInfo içindeki dinamik olarak oluşturulan tüm alanları (num_examples, hash, oluşturma zamanı,…) günceller.

Bu, tüm önceki meta verilerin üzerine yazar.

Örnek:

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

write_to_directory

< >

( dataset_info_dirpretty_print = Falsestorage_options: typing.Optional[dict] = None )

Parametreler

  • dataset_info_dir (str) — Hedef dizin.
  • pretty_print (bool, varsayılan False) — True ise, JSON, 4 boşluk seviyesinde biçimlendirilmiş olarak yazdırılır.
  • storage_options (dict, isteğe bağlı) — Varsa, dosya sistemi arka ucuna iletilecek anahtar/değer çiftleri.

    2.9.0 sürümünde eklendi

DatasetInfo ve lisansı (varsa) JSON dosyaları olarak dataset_info_dir dizinine yazın.

Örnek:

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

Veri seti

Taban sınıf Dataset, Apache Arrow tablosu tarafından desteklenen bir Dataset uygular.

sınıf datasets.Dataset

< >

( arrow_table: Tableinfo: typing.Optional[datasets.info.DatasetInfo] = Nonesplit: typing.Optional[datasets.splits.NamedSplit] = Noneindices_table: typing.Optional[datasets.table.Table] = Nonefingerprint: typing.Optional[str] = None )

Arrow tablosu tarafından desteklenen bir Dataset.

add_column

< >

( name: strcolumn: typing.Union[list, numpy.ndarray]new_fingerprint: typing.Optional[str] = Nonefeature: 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 )

Parametreler

  • name (str) — Sütun adı.
  • column (list veya np.array) — Eklenecek sütun verisi.
  • feature (FeatureType veya None, varsayılan None) — Sütun veri türü.

Dataset'e sütun ekleyin.

1.7 sürümünde eklendi

Örnek:

>>> 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

< >

( item: dictnew_fingerprint: typing.Optional[str] = None )

Parametreler

  • item (dict) — Eklenecek öğe verisi.

Dataset'e öğe ekle.

1.7 sürümünde eklendi

Örnek:

>>> 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

< >

( filename: strinfo: typing.Optional[datasets.info.DatasetInfo] = Nonesplit: typing.Optional[datasets.splits.NamedSplit] = Noneindices_filename: typing.Optional[str] = Nonein_memory: bool = False )

Parametreler

  • filename (str) — Veri setinin dosya adı.
  • info (DatasetInfo, isteğe bağlı) — Tanım, alıntı vb. gibi veri seti bilgileri.
  • split (NamedSplit, isteğe bağlı) — Veri seti bölmesinin adı.
  • indices_filename (str, isteğe bağlı) — Dizin dosyalarının adları.
  • in_memory (bool, varsayılan False) — Verilerin bellek içine kopyalanıp kopyalanmayacağı.

Bir Arrow tablosu tarafından desteklenen bir Dataset, filename konumunda örneklenir.

from_buffer

< >

( buffer: Bufferinfo: typing.Optional[datasets.info.DatasetInfo] = Nonesplit: typing.Optional[datasets.splits.NamedSplit] = Noneindices_buffer: typing.Optional[pyarrow.lib.Buffer] = None )

Parametreler

  • buffer (pyarrow.Buffer) — Arrow tamponu.
  • info (DatasetInfo, isteğe bağlı) — Tanım, alıntı vb. gibi veri seti bilgileri.
  • split (NamedSplit, isteğe bağlı) — Veri seti bölmesinin adı.
  • indices_buffer (pyarrow.Buffer, isteğe bağlı) — Dizinler Arrow tamponu.

Arrow tamponu tarafından desteklenen bir Dataset örneği oluşturun.

from_pandas

< >

( df: DataFramefeatures: typing.Optional[datasets.features.features.Features] = Noneinfo: typing.Optional[datasets.info.DatasetInfo] = Nonesplit: typing.Optional[datasets.splits.NamedSplit] = Nonepreserve_index: typing.Optional[bool] = None )

Parametreler

  • df (pandas.DataFrame) — Veri setini içeren veri çerçevesi.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • info (DatasetInfo, isteğe bağlı) — Tanım, alıntı vb. gibi veri seti bilgileri.
  • split (NamedSplit, isteğe bağlı) — Veri seti bölmesinin adı.
  • preserve_index (bool, isteğe bağlı) — Sonuçtaki Dataset'te indeksi ek bir sütun olarak saklanıp saklanmayacağı. Varsayılan olan None, indeksi bir sütun olarak saklar; yalnızca RangeIndex durumu hariçtir, bu durum yalnızca metadata olarak saklanır. İndisin bir sütun olarak saklanmasını zorlamak için preserve_index=True kullanın.

pandas.DataFrame nesnesini pyarrow.Table nesnesine dönüştürerek bir Dataset oluşturun.

Sonuçtaki Arrow Tablosundaki sütun türleri, DataFrame'deki pandas.Series öğelerinin dtypes değerlerinden çıkarılır. Nesne olmayan Series durumlarında, NumPy dtype değeri Arrow karşılığına dönüştürülür. object durumunda, bu Series içindeki Python nesnelerine bakarak veri türünü tahmin etmemiz gerekir.

object veri türündeki Series'lerin, her zaman anlamlı bir Arrow türüne yol açacak kadar bilgi içermediğini unutmayın. Bir tür çıkarılamadığı durumlarda, örneğin DataFrame'in uzunluğu 0 olduğunda veya Series yalnızca None/nan nesneleri içerdiğinde, tür null olarak ayarlanır. Bu davranış, açık özellikler oluşturarak ve bunları bu işlevine geçirerek önlenabilir.

Önemli: from_pandas() ile oluşturulan bir veri seti bellekte tutulur ve bu nedenle ilişkili bir önbellek dizinine sahip değildir. Bu durum gelecekte değişebilir, ancak bu arada bellek kullanımını azaltmak istiyorsanız, veri setini örneğin save_to_disk / load_from_disk kullanarak diske yazıp yeniden yüklemelisiniz.

Örnek:

>>> ds = Dataset.from_pandas(df)

from_dict

< >

( mapping: dictfeatures: typing.Optional[datasets.features.features.Features] = Noneinfo: typing.Optional[datasets.info.DatasetInfo] = Nonesplit: typing.Optional[datasets.splits.NamedSplit] = Noneon_mixed_types: typing.Optional[typing.Literal['use_json']] = None )

Parametreler

  • mapping (Mapping) — Dizelerden Array'lere veya Python listelerine eşleme.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • info (DatasetInfo, isteğe bağlı) — Tanım, alıntı vb. gibi veri seti bilgileri.
  • split (NamedSplit, isteğe bağlı) — Veri seti bölmesinin adı.
  • on_mixed_types (Literal["use_json"], isteğe bağlı, varsayılan olarak None) — “use_json” değeri verilirse, karışık tipli alanlar için Json() tipi kullanılır; yani önceden tanımlanmış bir şema içermeyen, yapılandırılmamış verileri barındıran alanlar. Bu durumda karışık tipli bir alan Json() olarak ayarlanır.

    Bu, örneğin, dizeler/tam sayılar/ondalıklı sayılar karışımı listelerin veya keyfi değer türlerine sahip sözlüklerin yüklenmesine olanak tanır.

    4.7.0 sürümünde eklendi

dict'i pyarrow.Table'e dönüştürerek bir Dataset oluşturun.

Önemli: from_dict() ile oluşturulan bir veri seti bellekte tutulur ve bu nedenle ilişkili bir önbellek dizinine sahip değildir. Bu durum gelecekte değişebilir, ancak bu arada bellek kullanımını azaltmak istiyorsanız, veri setini örneğin save_to_disk / load_from_disk kullanarak diske yazıp yeniden yüklemelisiniz.

Örnekler:

Her sütun için bir liste içeren bir sözlükten bir veri seti alın:

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

Sütun türlerini ayarlamak için özellikleri geçin, örneğin bir görüntü veri seti için:

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

Veri kümeleri, sütun tabanlı bir biçim olan Arrow üzerine kuruludur ve bu nedenle her örneğin aynı tür ve alt türlere, sözlüklerin ise aynı anahtarlara ve değer türlerine sahip olmasını bekler. Bir veri kümesi yüklenirken alanların türleri eşleşmiyorsa hata oluşur ve sözlüklerdeki eksik alanlar, tüm sözlüklerin aynı anahtarlara ve değer türlerine sahip olması için None ile doldurulur.

Bunu önlemek ve hata olmadan karma tiplere izin vermek için on_mixed_types="use_json" kullanabilir veya Json tipiyle features= belirtebilirsiniz:

>>> 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"}]

Bu, eksik alanların None ile doldurulmasını önlemek için, key ve değerleri keyfi olan sözlük listeleri için de kullanışlıdır:

>>> 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

Araç çağırma verisiyle başka bir örnek:

>>> 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

< >

( mapping: listfeatures: typing.Optional[datasets.features.features.Features] = Noneinfo: typing.Optional[datasets.info.DatasetInfo] = Nonesplit: typing.Optional[datasets.splits.NamedSplit] = Noneon_mixed_types: typing.Optional[typing.Literal['use_json']] = None )

Parametreler

  • mapping (List[dict]) — Satır değerlerine giden dizelerin bir listesi.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • info (DatasetInfo, isteğe bağlı) — Açıklama, atıf vb. gibi veri seti bilgileri.
  • split (NamedSplit, isteğe bağlı) — Veri seti bölmesinin adı.
  • on_mixed_types (Literal["use_json"], isteğe bağlı, varsayılan olarak None) — “use_json” değeri verilirse, karışık tipli alanlar için Json() tipi kullanılır; yani önceden tanımlanmış bir şema içermeyen, yapılandırılmamış verileri barındıran alanlar. Bu durumda karışık tipli bir alan Json() olarak ayarlanır.

    Bu, örneğin, dizeler/tam sayılar/ondalıklı sayılar karışımı listelerin veya keyfi değer türlerine sahip sözlüklerin yüklenmesine olanak tanır.

    4.7.0 sürümünde eklendi

Bir sözlük listesini pyarrow.Table'a dönüştürerek bir Dataset oluşturun`.

features parametresine ne aktarılırsa aktarılsın, veri seti sütunlarını belirlemek için ilk girdinin anahtarlarının kullanılacağını unutmayın.

Önemli: from_list() ile oluşturulan bir veri seti bellekte tutulur ve bu nedenle ilişkili bir önbellek dizinine sahip değildir. Bu durum gelecekte değişebilir, ancak bu arada bellek kullanımını azaltmak istiyorsanız, veri setini örneğin save_to_disk / load_from_disk kullanarak diske yazıp yeniden yüklemelisiniz.

Örnekler:

Örnekleri içeren bir listeden bir veri seti alın:

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

Sütun türlerini ayarlamak için özellikleri geçin, örneğin bir görüntü veri seti için:

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

Veri kümeleri, sütun tabanlı bir biçim olan Arrow üzerine kuruludur ve bu nedenle her örneğin aynı tür ve alt türlere, sözlüklerin ise aynı anahtarlara ve değer türlerine sahip olmasını bekler. Bir veri kümesi yüklenirken alanların türleri eşleşmiyorsa hata oluşur ve sözlüklerdeki eksik alanlar, tüm sözlüklerin aynı anahtarlara ve değer türlerine sahip olması için None ile doldurulur.

Bunu önlemek ve hata olmadan karma tiplere izin vermek için on_mixed_types="use_json" kullanabilir veya Json tipiyle features= belirtebilirsiniz:

>>> 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"}]

Bu, eksik alanların None ile doldurulmasını önlemek için, key ve değerleri keyfi olan sözlük listeleri için de kullanışlıdır:

>>> 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

Araç çağırma verisiyle başka bir örnek:

>>> 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

< >

( generator: typing.Callablefeatures: typing.Optional[datasets.features.features.Features] = Nonecache_dir: str = Nonekeep_in_memory: bool = Falsegen_kwargs: typing.Optional[dict] = Nonenum_proc: typing.Optional[int] = Nonesplit: NamedSplit = NamedSplit('train')fingerprint: typing.Optional[str] = None**kwargs )

Parametreler

  • generator ( —Callable): Örnekler yields eden bir üreteç (generator) işlevi.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • cache_dir (str, isteğe bağlı, varsayılan "~/.cache/huggingface/datasets") — Verilerin önbelleğe alınacağı dizin.
  • keep_in_memory (bool, varsayılan False) — Verilerin bellek içine kopyalanıp kopyalanmayacağı.
  • gen_kwargs(dict, isteğe bağlı) — generator çağrılabilirine iletilecek anahtar kelime argümanları. gen_kwargs içinde shard listesini geçirerek ve num_proc değerini 1'den büyük ayarlayarak shard'lı bir veri seti tanımlayabilirsiniz.
  • num_proc (int, isteğe bağlı, varsayılan olarak None) — Veri setini indirirken ve yerel olarak oluştururken kullanılacak süreç sayısı. Bu, veri seti birden fazla dosyadan oluşuyorsa işe yarar. Çok işlemcili (multiprocessing) çalışma varsayılan olarak devre dışıdır. Eğer num_proc birden büyükse, gen_kwargs içindeki tüm liste değerleri aynı uzunlukta olmalıdır. Bu değerler, üreteci (generator) çağrıları arasında bölünür. Parça (shard) sayısı, gen_kwargs içindeki en kısa liste ile num_proc.

    2.7.0 sürümünde eklendi

  • split (NamedSplit, varsayılan olarak Split.TRAIN) — Veri setine atanacak bölme adı.

    2.21.0 sürümünde eklendi

  • fingerprint (str, isteğe bağlı) — Veri seti kimliğini oluşturmak için kullanılacak parmak izi. Varsayılan olarak fingerprint , jeneratör fonksiyonu ve büyük nesneler (ör. yapay zeka modelleri) kullanıyorsa yavaş olabilecek tüm argümanların özetlenmesiyle oluşturulur.

    4.3.0 sürümünde eklendi

  • **kwargs (ek anahtar kelime argümanları) — :GeneratorConfig'ye iletilecek anahtar kelime argümanları.

Bir üreteçten (generator) bir Dataset oluşturun.

Veriyi üreteçten yükleyin, veriyi diskte Arrow biçiminde önbelleğe alın ve diskteki belleğe eşlenmiş Arrow verisinden Dataset'i döndürün.

Örnek:

>>> def gen():
...     yield {"text": "Good", "label": 0}
...     yield {"text": "Bad", "label": 1}
...
>>> ds = Dataset.from_generator(gen)
>>> 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})

veri

< >

( )

Veri setinin arkasındaki Apache Arrow tablosu.

Örnek:

>>> 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

< >

( )

Veri setinin temelini oluşturan Apache Arrow tablosunu içeren önbellek dosyaları.

Örnek:

>>> 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

< >

( )

Veri setindeki sütun sayısı.

Örnek:

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

num_rows

< >

( )

Veri setindeki satır sayısı (Dataset.len() ile aynı).

Örnek:

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

column_names

< >

( )

Veri setindeki sütun adları.

Örnek:

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

şekil

< >

( )

Veri setinin şekli (sütun sayısı, satır sayısı).

Örnek:

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

benzersiz

< >

( column: str ) → list

Parametreler

  • column (str) — Sütun adı (tüm sütun adlarını column_names ile listeleyin).

Dönüş değeri

list

Verilen sütundaki benzersiz öğelerin listesi.

Bir sütundaki benzersiz öğelerin listesini döndürür.

Bu, düşük seviyeli arka uçta (backend) uygulanır ve bu nedenle çok hızlıdır.

Örnek:

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

flatten

< >

( new_fingerprint: typing.Optional[str] = Nonemax_depth = 16 ) → Dataset

Parametreler

  • new_fingerprint (str, isteğe bağlı) — Dönüşüm sonrası veri setinin yeni parmak izi. None ise, yeni parmak izi önceki parmak izinin ve dönüşüm argümanlarının bir özeti kullanılarak hesaplanır.

Dönüş değeri

Veri seti

Düzleştirilmiş sütunlara sahip veri setinin bir kopyası.

Tabloyu düzleştirin. Yapı (struct) türündeki her sütun, yapı alanı başına bir sütun olacak şekilde düzleştirilir. Diğer sütunlar değiştirilmeden bırakılır.

Örnek:

>>> 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
})

döküm

< >

( features: Featuresbatch_size: typing.Optional[int] = 1000keep_in_memory: bool = Falseload_from_cache_file: typing.Optional[bool] = Nonecache_file_name: typing.Optional[str] = Nonewriter_batch_size: typing.Optional[int] = 1000num_proc: typing.Optional[int] = None ) → Dataset

Parametreler

  • features (Features) — Veri setinin dönüştürüleceği yeni özellikler. Özelliklerdeki alan adları, mevcut sütun adlarıyla eşleşmelidir. Veri türünün de bir türden diğerine dönüştürülebilir olması gerekir. Örneğin str <-> ClassLabel gibi basit olmayan dönüşümler için Dataset'i güncellemek üzere map() kullanmalısınız.
  • batch_size (int, varsayılan 1000) — cast'e her batch'te sağlanan örnek sayısı. batch_size <= 0 veya batch_size == None ise, tüm veri seti cast'e tek bir batch olarak sağlanır.
  • keep_in_memory (bool, varsayılan False) — Verilerin bellek içine kopyalanıp kopyalanmayacağı.
  • load_from_cache_file (bool, önbellekleme etkinse varsayılan olarak True) — function işlevinden gelen mevcut hesaplamayı depolayan bir önbellek dosyası tanımlanabiliyorsa, yeniden hesaplamak yerine onu kullanın.
  • cache_file_name (str, isteğe bağlı, varsayılan None) — Önbellek dosyası için bir yol adı belirtin. Hesaplama sonuçlarını, otomatik olarak oluşturulan önbellek dosyası adı yerine bu yolda saklamak için kullanılır.
  • writer_batch_size (int, varsayılan 1000) — Önbellek dosyası yazıcısı için yazma işlemi başına satır sayısı. Bu değer, işleme sırasında bellek kullanımı ile işleme hızı arasında iyi bir denge sağlar. Daha yüksek bir değer, işlemenin daha az arama yapmasını sağlar; daha düşük bir değer ise map() çalışırken daha az geçici bellek tüketir.
  • num_proc (int, isteğe bağlı, varsayılan None) — Çok işlemcili (multiprocessing) işlem sayısı. Varsayılan olarak çok işlemcili yapı kullanmaz.

Dönüş değeri

Veri seti

Dönüştürülmüş özelliklere sahip veri setinin bir kopyası.

Veri setini yeni bir özellik kümesine dönüştürün.

Örnek:

>>> 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

< >

( column: strfeature: 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 )

Parametreler

  • column (str) — Sütun adı.
  • feature (FeatureType) — Hedef özellik.
  • new_fingerprint (str, isteğe bağlı) — Dönüşüm sonrası veri setinin yeni parmak izi. None ise, yeni parmak izi önceki parmak izinin ve dönüşüm argümanlarının bir özeti kullanılarak hesaplanır.

Çözümleme için sütunu özelliğe dönüştürün.

Örnek:

>>> 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

< >

( column_names: typing.Union[str, list[str]]new_fingerprint: typing.Optional[str] = None ) → Dataset

Parametreler

  • column_names (Union[str, List[str]]) — Kaldırılacak sütun(lar)ın adı.
  • new_fingerprint (str, isteğe bağlı) — Dönüşüm sonrası veri setinin yeni parmak izi. None ise, yeni parmak izi önceki parmak izinin ve dönüşüm argümanlarının bir özeti kullanılarak hesaplanır.

Dönüş değeri

Veri seti

Kaldırılacak sütunlar olmadan veri seti nesnesinin bir kopyası.

Veri setindeki bir veya birden fazla sütunu ve bunlara bağlı özellikleri kaldırın.

map() ile remove_columns kullanarak da bir sütun kaldırabilirsiniz ancak mevcut yöntem, kalan sütunların verilerini kopyalamadığı için daha hızlıdır.

Örnek:

>>> 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

< >

( original_column_name: strnew_column_name: strnew_fingerprint: typing.Optional[str] = None ) → Dataset

Parametreler

  • original_column_name (str) — Yeniden adlandırılacak sütunun adı.
  • new_column_name (str) — Sütun için yeni ad.
  • new_fingerprint (str, isteğe bağlı) — Dönüşüm sonrası veri setinin yeni parmak izi. None ise, yeni parmak izi önceki parmak izinin ve dönüşüm argümanlarının bir özeti kullanılarak hesaplanır.

Dönüş değeri

Veri seti

Yeniden adlandırılmış bir sütuna sahip veri setinin kopyası.

Veri setindeki bir sütunu yeniden adlandırın ve orijinal sütuna ait özellikleri yeni sütun adının altına taşıyın.

Örnek:

>>> 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

< >

( column_mapping: dictnew_fingerprint: typing.Optional[str] = None ) → Dataset

Parametreler

  • column_mapping (Dict[str, str]) — Yeniden adlandırılacak sütunların yeni adlarına eşlemesi
  • new_fingerprint (str, isteğe bağlı) — Dönüşüm sonrası veri setinin yeni parmak izi. None ise, yeni parmak izi önceki parmak izinin ve dönüşüm argümanlarının bir özeti kullanılarak hesaplanır.

Dönüş değeri

Veri seti

Sütun adları değiştirilmiş veri setinin bir kopyası

Veri setindeki birkaç sütunu yeniden adlandırın ve orijinal sütunlarla ilişkili özellikleri yeni sütun adları altına taşıyın.

Örnek:

>>> 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

< >

( column_names: typing.Union[str, list[str]]new_fingerprint: typing.Optional[str] = None ) → Dataset

Parametreler

  • column_names (Union[str, List[str]]) — Tutulacak sütun(lar)ın adı.
  • new_fingerprint (str, isteğe bağlı) — Dönüşüm sonrası veri setinin yeni parmak izi. None ise, yeni parmak izi önceki parmak izinin ve dönüşüm argümanlarının bir özeti kullanılarak hesaplanır.

Dönüş değeri

Veri seti

Sadece seçilen sütunlardan oluşan veri seti nesnesinin bir kopyası.

Veri setinde bir veya birden fazla sütun ve bunlara ait özellikleri seçin.

Örnek:

>>> 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

< >

( column: strinclude_nulls: bool = False )

Parametreler

  • column (str) — Dönüştürülecek sütunun adı (tüm sütun adlarını column_names ile listeleyin)
  • include_nulls (bool, varsayılan olarak False) — sınıf etiketlerinde null değerlerin dahil edilip edilmeyeceğini belirtir. True, ise null değerler "None" sınıf etiketi olarak kodlanır.

    1.14.2 sürümünde eklendi

Verilen sütunu ClassLabel olarak dönüştürür ve tabloyu günceller.

Örnek:

>>> 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__

< >

( )

Veri setindeki satır sayısı.

Örnek:

>>> 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__

< >

( )

Örneklerin üzerinden dolaşın.

Dataset.set_format() ile bir biçimlendirme ayarlanırsa satırlar seçilen biçimde döndürülür.

iter

< >

( batch_size: intdrop_last_batch: bool = False )

Parametreler

  • batch_size (int) — üretilen her bir partinin boyutu.
  • drop_last_batch (bool, varsayılan False) — batch_size'dan küçük olan son bir partinin atılıp atılmayacağı

batch_size boyutundaki partileri sırayla işleyin.

Bir biçimlendirme [~datasets.Dataset.set_format] ile ayarlandıysa satırlar, seçilen biçimle döndürülür.

formatted_as

< >

( type: typing.Optional[str] = Nonecolumns: typing.Optional[list] = Noneoutput_all_columns: bool = False**format_kwargs )

Parametreler

  • type (str, isteğe bağlı) — [None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars'] içinde seçilen çıktı türlerinden biri. None, `getitem`'in python nesnelerini döndürdüğü anlamına gelir (varsayılan).
  • columns (List[str], isteğe bağlı) — Çıktıda biçimlendirilecek sütunlar. None, __getitem__'in tüm sütunları döndürdüğü anlamına gelir (varsayılan).
  • output_all_columns (bool, varsayılan False) — Çıktıda biçimlendirilmemiş sütunları da (python nesneleri olarak) koru.
  • **format_kwargs (ek anahtar kelime argümanları) — np.array, torch.tensor veya tensorflow.ragged.constant gibi dönüştürme fonksiyonuna geçirilen anahtar kelime argümanları.

Bir with ifadesinde kullanılır. __getitem__ dönüş biçimini (tür ve sütunlar) ayarlar.

set_format

< >

( type: typing.Optional[str] = Nonecolumns: typing.Optional[list] = Noneoutput_all_columns: bool = False**format_kwargs )

Parametreler

  • type (str, isteğe bağlı) — [None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars'] içinde seçilen çıktı türlerinden biri. None, __getitem__'in python nesnelerini döndürdüğü anlamına gelir (varsayılan).
  • columns (List[str], isteğe bağlı) — Çıktıda biçimlendirilecek sütunlar. None, __getitem__'in tüm sütunları döndürdüğü anlamına gelir (varsayılan).
  • output_all_columns (bool, varsayılan False) — Çıktıda biçimlendirilmemiş sütunları da (python nesneleri olarak) koru.
  • **format_kwargs (ek anahtar kelime argümanları) — np.array, torch.tensor veya tensorflow.ragged.constant gibi dönüştürme fonksiyonuna geçirilen anahtar kelime argümanları.

__getitem__ dönüş biçimini (tip ve sütunlar) ayarlayın. Veri biçimlendirme anlık olarak uygulanır. type biçimi (örneğin “numpy”), __getitem__ kullanılırken toplulukları biçimlendirmek için kullanılır. Biçimlendirme için set_transform() kullanarak özel dönüşümler de kullanılabilir.

set_format çağrıldıktan sonra map() çağrılabilir. map yeni sütunlar ekleyebileceğinden, biçimlendirilmiş sütunların listesi

güncellenir. Bu durumda, bir veri setine yeni bir sütun eklemek için map uygularsanız, bu sütun şu şekilde biçimlendirilir:

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

Örnek:

>>> 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

< >

( transform: typing.Optional[typing.Callable]columns: typing.Optional[list] = Noneoutput_all_columns: bool = False )

Parametreler

  • transform (Callable, isteğe bağlı) — Kullanıcı tarafından tanımlanan biçimlendirme dönüşümü, set_format() tarafından tanımlanan biçimi değiştirir. Biçimlendirme işlevi, bir partiyi (bir dict olarak) girdi olarak alır ve bir parti döndüren çağrılabilir bir işlevdir. Bu işlev, __getitem__ içindeki nesneleri döndürmeden hemen önce uygulanır.
  • columns (List[str], isteğe bağlı) — Çıktıda biçimlendirilecek sütunlar. Belirtilirse, dönüştürmenin girdi partisi yalnızca bu sütunları içerir.
  • output_all_columns (bool, varsayılan False) — Çıktıda biçimlendirilmemiş sütunları da (python nesneleri olarak) koru. True olarak ayarlanırsa, biçimlendirilmemiş diğer sütunlar, dönüştürme çıktısıyla birlikte korunur.

Bu dönüştürücüyle __getitem__ dönüş biçimini ayarlayın. __getitem__ çağrıldığında dönüştürücü, topluluklar üzerinde anlık olarak uygulanır. set_format() gibi, bu reset_format() kullanılarak sıfırlanabilir.

Örnek:

>>> 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

< >

( )

__getitem__ dönüş biçimini Python nesnelerine ve tüm sütunlara sıfırlayın.

self.set_format() ile aynı

Örnek:

>>> 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

< >

( type: typing.Optional[str] = Nonecolumns: typing.Optional[list] = Noneoutput_all_columns: bool = False**format_kwargs )

Parametreler

  • type (str, isteğe bağlı) — [None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars'] içinde seçilen çıktı türlerinden biri. None, __getitem__'in python nesnelerini döndürdüğü anlamına gelir (varsayılan).
  • columns (List[str], isteğe bağlı) — Çıktıda biçimlendirilecek sütunlar. None, __getitem__'in tüm sütunları döndürdüğü anlamına gelir (varsayılan).
  • output_all_columns (bool, varsayılan False) — Çıktıda biçimlendirilmemiş sütunları da (python nesneleri olarak) koru.
  • **format_kwargs (ek anahtar kelime argümanları) — np.array, torch.tensor veya tensorflow.ragged.constant gibi dönüştürme fonksiyonuna geçirilen anahtar kelime argümanları.

__getitem__ dönüş biçimini (tip ve sütunlar) ayarlayın. Veri biçimlendirme anlık olarak uygulanır. type biçimi (örneğin “numpy”), __getitem__ kullanılırken toplulukları biçimlendirmek için kullanılır.

Biçimlendirme için with_transform() kullanarak özel dönüşümleri kullanmak da mümkündür.

set_format()'in aksine, with_format yeni bir Dataset nesnesi döndürür.

Örnek:

>>> 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

< >

( transform: typing.Optional[typing.Callable]columns: typing.Optional[list] = Noneoutput_all_columns: bool = False )

Parametreler

  • transform (Callable, optional) — Kullanıcı tanımlı biçimlendirme dönüşümü, set_format() tarafından tanımlanan biçimi değiştirir. Biçimlendirme işlevi, bir partiyi (bir dict olarak) girdi olarak alır ve bir parti döndüren çağrılabilir bir işlevdir. Bu işlev, __getitem__ içindeki nesneleri döndürmeden hemen önce uygulanır.
  • columns (List[str], optional) — Çıktıda biçimlendirilecek sütunlar. Belirtilirse, dönüştürmenin girdi partisi yalnızca bu sütunları içerir.
  • output_all_columns (bool, varsayılan False) — Çıktıda biçimlendirilmemiş sütunları da (python nesneleri olarak) koru. True olarak ayarlanırsa, diğer biçimlendirilmemiş sütunlar dönüştürme çıktısıyla birlikte korunur.

Bu dönüştürme ile __getitem__ dönüş biçimini ayarlayın. __getitem__ çağrıldığında dönüştürme, toplularda anlık olarak uygulanır.

set_format() gibi, bu reset_format() kullanılarak sıfırlanabilir.

set_transform()'in aksine, with_transform yeni bir Dataset nesnesi döndürür.

Örnek:

>>> 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__

< >

( key )

Sütunları (dize adlarıyla) veya satırları (tamsayı indeksle, indeks veya bool değerlerinden oluşan yinelebilir bir diziyle) indekslemek için kullanılabilir.

cleanup_cache_files

< >

( ) → int

Dönüş değeri

int

Kaldırılan dosya sayısı.

Veri seti önbellek dizinindeki, şu anda kullanılan önbellek dosyası varsa bu dosya hariç olmak üzere, tüm önbellek dosyalarını temizler.

Bu komutu çalıştırırken, başka bir sürecin şu anda başka önbellek dosyalarını kullanmadığından emin olun.

Örnek:

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

map

< >

( function: typing.Optional[typing.Callable] = Nonewith_indices: bool = Falsewith_rank: bool = Falseinput_columns: typing.Union[str, list[str], NoneType] = Nonebatched: bool = Falsebatch_size: typing.Optional[int] = 1000drop_last_batch: bool = Falseremove_columns: typing.Union[str, list[str], NoneType] = Nonekeep_in_memory: bool = Falseload_from_cache_file: typing.Optional[bool] = Nonecache_file_name: typing.Optional[str] = Nonewriter_batch_size: typing.Optional[int] = 1000features: typing.Optional[datasets.features.features.Features] = Nonedisable_nullable: bool = Falsefn_kwargs: typing.Optional[dict] = Nonenum_proc: typing.Optional[int] = Nonesuffix_template: str = '_{rank:05d}_of_{num_proc:05d}'new_fingerprint: typing.Optional[str] = Nonedesc: typing.Optional[str] = Nonetry_original_type: typing.Optional[bool] = Trueon_mixed_types: typing.Optional[typing.Literal['use_json']] = 'use_json' )

Parametreler

  • function (Callable) — Aşağıdaki imzalardan birine sahip fonksiyon:
    • function(example: Dict[str, Any]) -> Dict[str, Any] if batched=False and with_indices=False and with_rank=False
    • function(example: Dict[str, Any], *extra_args) -> Dict[str, Any] batched=False ve with_indices=True ve/veya with_rank=True ise (her biri için bir ek argüman)
    • function(batch: Dict[str, List]) -> Dict[str, List] if batched=True and with_indices=False and with_rank=False
    • function(batch: Dict[str, List], *extra_args) -> Dict[str, List] if batched=True ve with_indices=True ve/veya with_rank=True (her biri için bir ek argüman)

    Gelişmiş kullanım için, fonksiyon ayrıca pyarrow.Table döndürebilir. Fonksiyon asenkron ise, map fonksiyonunuzu paralel olarak çalıştırır. Ayrıca fonksiyonunuz hiçbir şey döndürmüyorsa (None), map fonksiyonunuzu çalıştırır ve veri setini değiştirilmeden döndürür. Hiçbir fonksiyon sağlanmazsa, varsayılan olarak kimlik fonksiyonu kullanılır: lambda x: x.

  • with_indices (bool, varsayılan False) — function için örnek indeksleri sağlar. Bu durumda function imzasının def function(example, idx[, rank]): ... olması gerektiğine dikkat edin.
  • with_rank (bool, varsayılan False) — function parametresine işlem sırasını (process rank) iletir. Bu durumda function imzasının def function(example[, idx], rank): ... olması gerekir.
  • input_columns (Optional[Union[str, List[str]]], varsayılan None) — function içine konumsal argümanlar olarak geçirilecek sütunlar. None ise, biçimlendirilmiş tüm sütunlara eşleyen bir dict tek bir argüman olarak geçirilir.
  • batched (bool, varsayılan False) — function işlevine örnekler birimini sağlar.
  • batch_size (int, isteğe bağlı, varsayılan 1000) — batched=True ise function'a her parti için sağlanan örnek sayısı. batch_size <= 0 veya batch_size == None ise, tüm veri setini function'a tek bir parti olarak sağlar.
  • drop_last_batch (bool, varsayılan False) — batch_size'dan küçük olan son bir partinin, işlenmek yerine atılıp atılmayacağını belirtir.
  • remove_columns (Optional[Union[str, List[str]]], varsayılan None) — Eşleme sırasında seçilen sütunları kaldırır. Sütunlar, örneklerin function çıktısıyla güncellenmesinden önce kaldırılır; yani function, remove_columns içindeki adlara sahip sütunlar ekliyorsa, bu sütunlar korunur.
  • keep_in_memory (bool, varsayılan False) — Veri setini önbellek dosyasına yazmak yerine bellekte tutar.
  • load_from_cache_file (Optional[bool], önbellekleme etkinse varsayılan olarak True) — function işlevinden gelen mevcut hesaplamayı depolayan bir önbellek dosyası belirlenebiliyorsa, yeniden hesaplamak yerine onu kullanın.
  • cache_file_name (str, isteğe bağlı, varsayılan None) — Önbellek dosyası için bir yol adı belirtin. Hesaplama sonuçlarını, otomatik olarak oluşturulan önbellek dosyası adı yerine bu yolda saklamak için kullanılır.
  • writer_batch_size (int, varsayılan 1000) — Önbellek dosyası yazıcısı için yazma işlemi başına satır sayısı. Bu değer, işleme sırasında bellek kullanımı ile işleme hızı arasında iyi bir denge sağlar. Daha yüksek bir değer, işlemenin daha az arama yapmasını sağlar; daha düşük bir değer ise map çalışırken daha az geçici bellek tüketir.
  • features (Optional[datasets.Features], varsayılan None) — Otomatik olarak oluşturulan yerine, önbellek dosyasını depolamak için belirli bir Features kullanın.
  • disable_nullable (bool, varsayılan False) — Tabloda null değerlere izin verilmez.
  • fn_kwargs (Dict, isteğe bağlı, varsayılan None) — function fonksiyonuna iletilecek anahtar kelime argümanları.
  • num_proc (int, isteğe bağlı, varsayılan olarak None) — Çok işlemcili (multiprocessing) işlemlerde kullanılacak süreç sayısı.
    • None veya 0 ise çok işlemci kullanılmaz ve işlem ana süreçte çalışır.
    • If greater than 1, one or multiple worker processes are used to process data in parallel. Note: The function passed to map() must be picklable for multiprocessing to work correctly (i.e., prefer functions defined at the top level of a module, not inside another function or class). suffixtemplate (str): If cache_file_name is specified, then this suffix will be added at the end of the base name of each. Defaults to `”{rank:05d}of{num_proc:05d}”. For example, if cache_file_nameis "processed.arrow", then forrank=1andnum_proc=4, the resulting file would be “processed_00001_of_00004.arrow”` for the default suffix.
  • new_fingerprint (str, isteğe bağlı, varsayılan None) — Dönüşüm sonrası veri setinin yeni parmak izi. None ise, yeni parmak izi önceki parmak izinin ve dönüşüm argümanlarının bir özeti (hash) kullanılarak hesaplanır.
  • desc (str, isteğe bağlı, varsayılan None) — Örnekler eşleştirilirken ilerleme çubuğuyla birlikte görüntülenecek anlamlı açıklama.
  • try_original_type (Optional[bool], varsayılan True) — Orijinal sütunların türlerini korumaya çalışır (ör. int32 -> int32). Her zaman yeni türler çıkarılmasını istiyorsanız False olarak ayarlayın.
  • on_mixed_types (Literal["use_json"], isteğe bağlı, varsayılan olarak None) — “use_json” değeri verilirse, karışık tipli alanlar için Json() tipi kullanılır; yani önceden tanımlanmış bir şema içermeyen, yapılandırılmamış verileri barındıran alanlar. Bu durumda karışık tipli bir alan Json() olarak ayarlanır.

    Bu, örneğin, dizeler/tam sayılar/ondalıklı sayılar karışımı listelerin veya keyfi değer türlerine sahip sözlüklerin yüklenmesine olanak tanır.

    4.7.0 sürümünde eklendi

Tablodaki tüm örneklerin (bireysel olarak veya toplu halde) üzerine bir fonksiyon uygulayın ve tabloyu güncelleyin. Fonksiyonunuz zaten var olan bir sütun döndürürse, bu sütun üzerine yazar.

Fonksiyonun toplu (batch) olarak mı yoksa tekil olarak mı çalışacağı, batched parametresi ile belirtilebilir:

  • batched False ise, fonksiyon 1 örnek alır ve 1 örnek döndürmelidir. Bir örnek, bir sözlüktür, örn. {"text": "Hello there !"}.
  • batched True ve batch_size 1 ise, fonksiyon girdi olarak 1 örnekten oluşan bir batch alır ve 1 veya daha fazla örnekten oluşan bir batch döndürebilir. Bir batch bir sözlüktür, örneğin 1 örnekten oluşan bir batch {"text": ["Hello there !"]} şeklindedir.
  • True ve batch_size n > 1 ise, fonksiyon girdi olarak n örnekten oluşan bir parti alır ve n örnekten oluşan bir parti ya da herhangi bir sayıda örneğe sahip bir parti döndürebilir. Son partide n örnekten az örnek bulunabileceğini unutmayın. Bir parti bir sözlüktür, örneğin n örnekten oluşan bir parti {"text": ["Hello there !"] * n} şeklindedir.

Eğer fonksiyon asenkron ise, map fonksiyonunuzu paralel olarak çalıştırır ve en fazla bin eşzamanlı çağrı yapar. Aynı anda çalışabilecek maksimum işlem sayısını belirlemek istiyorsanız, fonksiyonunuzda asyncio.Semaphore kullanmanız önerilir.

Örnek:

>>> 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)

filtre

< >

( function: typing.Optional[typing.Callable] = Nonewith_indices: bool = Falsewith_rank: bool = Falseinput_columns: typing.Union[str, list[str], NoneType] = Nonebatched: bool = Falsebatch_size: typing.Optional[int] = 1000keep_in_memory: bool = Falseload_from_cache_file: typing.Optional[bool] = Nonecache_file_name: typing.Optional[str] = Nonewriter_batch_size: typing.Optional[int] = 1000fn_kwargs: typing.Optional[dict] = Nonenum_proc: typing.Optional[int] = Nonesuffix_template: str = '_{rank:05d}_of_{num_proc:05d}'new_fingerprint: typing.Optional[str] = Nonedesc: typing.Optional[str] = None )

Parametreler

  • function (Callable) — Aşağıdaki imzalardan birine sahip Callable:
    • function(example: Dict[str, Any]) -> bool if batched=False and with_indices=False and with_rank=False
    • function(example: Dict[str, Any], *extra_args) -> bool batched=False ve with_indices=True ve/veya with_rank=True ise (her biri için bir ek argüman)
    • function(batch: Dict[str, List]) -> List[bool] if batched=True and with_indices=False and with_rank=False
    • function(batch: Dict[str, List], *extra_args) -> List[bool] if batched=True ve with_indices=True ve/veya with_rank=True ise (her biri için bir ek argüman)

    Eğer fonksiyon asenkron ise, filter fonksiyonunuzu paralel olarak çalıştırır. Hiçbir fonksiyon sağlanmazsa, her zaman True döndüren varsayılan fonksiyon kullanılır: lambda x: True.

  • with_indices (bool, varsayılan False) — function için örnek indeksleri sağlar. Bu durumda function imzasının def function(example, idx[, rank]): ... olması gerektiğine dikkat edin.
  • with_rank (bool, varsayılan False) — function parametresine işlem sırasını (process rank) iletir. Bu durumda function imzasının def function(example[, idx], rank): ... olması gerekir.
  • input_columns (str veya List[str], isteğe bağlı) — function içine konumsal argümanlar olarak geçirilecek sütunlar. None ise, biçimlendirilmiş tüm sütunlara eşleyen bir dict tek bir argüman olarak geçirilir.
  • batched (bool, varsayılan False) — function işlevine örnekler birimini sağlar.
  • batch_size (int, isteğe bağlı, varsayılan 1000) — batched = True ise function'a her batch için sağlanan örnek sayısı. batched = False ise function'a her batch için tek bir örnek geçirilir. batch_size <= 0 veya batch_size == None ise tüm veri seti, function'a tek bir batch olarak sağlanır.
  • keep_in_memory (bool, varsayılan False) — Veri setini önbellek dosyasına yazmak yerine bellekte tutar.
  • load_from_cache_file (Optional[bool], önbellekleme etkinse varsayılan olarak True) — function işlevinden gelen mevcut hesaplamayı depolayan bir önbellek dosyası belirlenebiliyorsa, yeniden hesaplamak yerine onu kullanın.
  • cache_file_name (str, isteğe bağlı) — Önbellek dosyası için bir yol adı belirtin. Hesaplama sonuçlarını, otomatik olarak oluşturulan önbellek dosyası adı yerine bu yolda saklamak için kullanılır.
  • writer_batch_size (int, varsayılan 1000) — Önbellek dosyası yazıcısı için yazma işlemi başına satır sayısı. Bu değer, işleme sırasında bellek kullanımı ile işleme hızı arasında iyi bir denge sağlar. Daha yüksek bir değer, işlemenin daha az arama yapmasını sağlar; daha düşük bir değer ise map çalışırken daha az geçici bellek tüketir.
  • fn_kwargs (dict, isteğe bağlı) — function parametresine iletilecek anahtar kelime argümanları.
  • num_proc (int, isteğe bağlı, varsayılan olarak None) — Çok işlemcili (multiprocessing) işlemlerde kullanılacak süreç sayısı. None veya 0 ise çok işlemcili işlem kullanılmaz ve işlem ana süreçte çalışır. 1'den büyükse, verilerin paralel olarak işlenmesi için bir veya birden fazla işçi süreci kullanılır. Not: Çok işlemcili işlemin doğru çalışması için map() fonksiyonuna geçirilen fonksiyonun picklable olması gerekir (yani, bir modülün üst seviyesinde tanımlanmış fonksiyonları, başka bir fonksiyonun veya sınıfın içinde tanımlanmış olanlara tercih edin).
    • None veya 0 ise çok işlemci kullanılmaz ve işlem ana süreçte çalışır.
    • 1'den büyükse, verileri paralel olarak işlemek için bir veya birden çok işçi süreci kullanılır. Not: Çoklu işleme (multiprocessing) doğru çalışması için map()'e geçirilen fonksiyon picklable olmalıdır (yani, bir modülün üst seviyesinde tanımlanmış fonksiyonları tercih edin, başka bir fonksiyonun veya sınıfın içinde tanımlanmış olanları değil).
  • suffix_template (str) — cache_file_name belirtilirse, bu sonek her birinin taban adının sonuna eklenir. Örneğin, cache_file_name "processed.arrow" ise, rank = 1 ve num_proc = 4 için sonuç dosya, varsayılan sonek için "processed_00001_of_00004.arrow" olur (varsayılan _{rank:05d}_of_{num_proc:05d}).
  • new_fingerprint (str, isteğe bağlı) — Dönüşüm sonrası veri setinin yeni parmak izi. None ise, yeni parmak izi önceki parmak izinin ve dönüşüm argümanlarının bir özeti kullanılarak hesaplanır.
  • desc (str, isteğe bağlı, varsayılan None) — Örnekler filtrelenirken ilerleme çubuğuyla birlikte görüntülenecek anlamlı açıklama.

Tablodaki tüm öğelere partiler halinde bir filtre fonksiyonu uygulayın ve veri setinin yalnızca filtre fonksiyonuna uygun örnekleri içerecek şekilde tabloyu güncelleyin.

Eğer fonksiyon asenkron ise, filter fonksiyonunuzu paralel olarak çalıştırır; bu, eşzamanlı olarak en fazla bin çağrı (yapılandırılabilir) anlamına gelir. Aynı anda çalışabilecek işlemlerin maksimum sayısını belirlemek istiyorsanız, fonksiyonunuzda asyncio.Semaphore kullanmanız önerilir.

Örnek:

>>> 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
})

seç

< >

( indices: Iterablekeep_in_memory: bool = Falseindices_cache_file_name: typing.Optional[str] = Nonewriter_batch_size: typing.Optional[int] = 1000new_fingerprint: typing.Optional[str] = None )

Parametreler

  • indices (range, list, iterable, ndarray veya Series) — Dizinleme için tamsayı dizinlerinden oluşan bir aralık, liste veya 1B dizi. Dizinler ardışık bir aralığa karşılık geliyorsa, Arrow tablosu basitçe dilimlenir. Ancak ardışık olmayan bir dizin listesi geçmek, çok daha az verimli olan bir dizin eşlemesi oluşturur; bu, istenen satırlardan oluşan bir Arrow tablosunu yeniden oluşturmak kadar hızlı olmasa da yine de daha hızlıdır.
  • keep_in_memory (bool, varsayılan False) — Dizin eşlemesini bir önbellek dosyasına yazmak yerine bellekte tutar.
  • indices_cache_file_name (str, isteğe bağlı, varsayılan None) — Önbellek dosyası için bir yol adı belirtin. Otomatik olarak oluşturulan önbellek dosyası adı yerine indeks eşlemesini saklamak için kullanılır.
  • writer_batch_size (int, varsayılan 1000) — Önbellek dosyası yazıcısı için yazma işlemi başına satır sayısı. Bu değer, işleme sırasında bellek kullanımı ile işleme hızı arasında iyi bir denge sağlar. Daha yüksek bir değer, işlemenin daha az arama yapmasını sağlar; daha düşük bir değer ise map çalışırken daha az geçici bellek tüketir.
  • new_fingerprint (str, isteğe bağlı, varsayılan None) — Dönüşüm sonrası veri setinin yeni parmak izi. None ise, yeni parmak izi önceki parmak izinin ve dönüşüm argümanlarının bir özeti (hash) kullanılarak hesaplanır.

Dizinler listesini/dizisini takip ederek seçilen satırlarla yeni bir veri seti oluşturun.

Örnek:

>>> 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
})

sırala

< >

( column_names: typing.Union[str, collections.abc.Sequence[str]]reverse: typing.Union[bool, collections.abc.Sequence[bool]] = Falsenull_placement: str = 'at_end'keep_in_memory: bool = Falseload_from_cache_file: typing.Optional[bool] = Noneindices_cache_file_name: typing.Optional[str] = Nonewriter_batch_size: typing.Optional[int] = 1000new_fingerprint: typing.Optional[str] = None )

Parametreler

  • column_names (Union[str, Sequence[str]]) — Sıralama için sütun adı(ları).
  • reverse (Union[bool, Sequence[bool]], varsayılan False) — True ise sıralama artan yerine azalan düzende yapılır. Tek bir bool değeri verilirse, bu değer tüm sütun adlarının sıralanmasına uygulanır. Aksi takdirde, column_names ile aynı uzunlukta ve sıralamada bir bool listesi sağlanmalıdır.
  • null_placement (str, varsayılan olarak at_end) — yerleştir None değerlerini başa at_start veya first veya sona at_end veya last

    1.14.2 sürümünde eklendi

  • keep_in_memory (bool, varsayılan False) — Sıralanmış dizinleri bir önbellek dosyasına yazmak yerine bellekte tutar.
  • load_from_cache_file (Optional[bool], önbellekleme etkinse varsayılan olarak True) — Sıralı dizinleri depolayan bir önbellek dosyası belirlenebiliyorsa, yeniden hesaplamak yerine onu kullanın.
  • indices_cache_file_name (str, isteğe bağlı, varsayılan None) — Önbellek dosyası için bir yol adı belirtin. Otomatik olarak oluşturulan önbellek dosyası adı yerine sıralanmış dizinleri saklamak için kullanılır.
  • writer_batch_size (int, varsayılan 1000) — Önbellek dosyası yazıcısı için yazma işlemi başına satır sayısı. Daha yüksek değer daha küçük önbellek dosyaları verir, daha düşük değer daha az geçici bellek kullanır.
  • new_fingerprint (str, isteğe bağlı, varsayılan None) — Dönüşüm sonrası veri setinin yeni parmak izi. None ise, yeni parmak izi önceki parmak izinin ve dönüşüm argümanlarının bir özeti kullanılarak hesaplanır

Tek veya birden fazla sütuna göre sıralanmış yeni bir veri seti oluşturun.

Örnek:

>>> 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]

karıştır

< >

( seed: typing.Optional[int] = Nonegenerator: typing.Optional[numpy.random._generator.Generator] = Nonekeep_in_memory: bool = Falseload_from_cache_file: typing.Optional[bool] = Noneindices_cache_file_name: typing.Optional[str] = Nonewriter_batch_size: typing.Optional[int] = 1000new_fingerprint: typing.Optional[str] = None )

Parametreler

  • seed (int, isteğe bağlı) — generator=None ise varsayılan BitGenerator'ı başlatmak için bir tohum. None ise, taze ve öngörülemez entropi işletim sisteminden çekilir. int veya array_like[ints] geçirilirse, SeedSequence'e başlangıç BitGenerator durumunu türetmek için iletilir.
  • generator (numpy.random.Generator, isteğe bağlı) — Veri seti satırlarının permütasyonunu hesaplamak için kullanılacak Numpy rastgele Generator. generator=None (varsayılan) ise, np.random.default_rng (NumPy'nin varsayılan BitGenerator'ı (PCG64)) kullanılır.
  • keep_in_memory (bool, varsayılan False) — Karıştırılmış dizinleri bir önbellek dosyasına yazmak yerine bellekte tutar.
  • load_from_cache_file (Optional[bool], önbellekleme etkinse varsayılan olarak True) — Karıştırılmış dizinleri depolayan bir önbellek dosyası belirlenebiliyorsa, yeniden hesaplamak yerine onu kullanın.
  • indices_cache_file_name (str, isteğe bağlı) — Önbellek dosyası için bir yol adı belirtin. Otomatik oluşturulan önbellek dosyası adı yerine karıştırılmış dizinlerin saklanması için kullanılır.
  • writer_batch_size (int, varsayılan 1000) — Önbellek dosyası yazıcısı için yazma işlemi başına satır sayısı. Bu değer, işleme sırasında bellek kullanımı ile işleme hızı arasında iyi bir denge sağlar. Daha yüksek bir değer, işlemenin daha az arama yapmasını sağlar; daha düşük bir değer ise map çalışırken daha az geçici bellek tüketir.
  • new_fingerprint (str, isteğe bağlı, varsayılan None) — Dönüşüm sonrası veri setinin yeni parmak izi. None ise, yeni parmak izi önceki parmak izinin ve dönüşüm argümanlarının bir özeti (hash) kullanılarak hesaplanır.

Satırları karıştırılmış yeni bir Dataset oluşturun.

Şu anda karıştırma işlemi numpy rastgele üreteçlerini kullanır. Kullanılacak bir NumPy BitGenerator sağlayabilir veya NumPy’nin varsayılan rastgele üretecini (PCG64) başlatmak için bir tohum (seed) verebilirsiniz.

Shuffling, [0:len(my_dataset)] dizin listesini alır ve karıştırarak bir dizin eşlemesi oluşturur. Ancak Dataset nesnenizde bir dizin eşlemesi olduğu anda hız 10 kat yavaşlayabilir. Bunun nedeni, dizin eşlemesini kullanarak okunacak satır dizinine erişmek için ek bir adımın olması ve en önemlisi, artık veriye ardışık parçalar halinde erişilmemesidir. Hızı geri kazanmak için, dizin eşlemesini kaldıran Dataset.flatten_indices() yöntemini kullanarak tüm veri setini diskinize yeniden yazmanız gerekir.

Ancak bu, veri setinizin boyutuna bağlı olarak çok zaman alabilir:

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

Bu durumda, IterableDataset'e geçmenizi ve hızlı yaklaşık karıştırma yöntemi olan IterableDataset.shuffle()'i kullanmanızı öneririz.

Sadece shard sırasını karıştırır ve veri setinize bir shuffle buffer ekler; bu sayede veri setinizin hızı optimal kalır:

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

Örnek:

>>> 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]

geç

< >

( n: int )

Parametreler

  • n (int) — Atlanacak öğe sayısı.

İlk n öğeyi atlayan yeni bir Dataset oluşturun.

Örnek:

>>> 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 .'}]

al

< >

( n: int )

Parametreler

  • n (int) — Alınacak öğe sayısı.

Sadece ilk n öğesini içeren yeni bir Dataset oluşturun.

Örnek:

>>> 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

< >

( test_size: typing.Union[float, int, NoneType] = Nonetrain_size: typing.Union[float, int, NoneType] = Noneshuffle: bool = Truestratify_by_column: typing.Optional[str] = Noneseed: typing.Optional[int] = Nonegenerator: typing.Optional[numpy.random._generator.Generator] = Nonekeep_in_memory: bool = Falseload_from_cache_file: typing.Optional[bool] = Nonetrain_indices_cache_file_name: typing.Optional[str] = Nonetest_indices_cache_file_name: typing.Optional[str] = Nonewriter_batch_size: typing.Optional[int] = 1000train_new_fingerprint: typing.Optional[str] = Nonetest_new_fingerprint: typing.Optional[str] = None )

Parametreler

  • test_size (Union[float, int, None], isteğe bağlı) — Test bölmesinin boyutu float ise, 0.0 ile 1.0 arasında olmalı ve test bölmesine dahil edilecek veri kümesinin oranını temsil etmelidir. int ise, test örneklerinin mutlak sayısını temsil eder. None ise, değer eğitim boyutunun tamamlayıcısı olarak ayarlanır. train_size de None ise, 0.25 olarak ayarlanır.
  • train_size (Union[float, int, None], isteğe bağlı) — Eğitim bölmesinin boyutu float ise, 0.0 ile 1.0 arasında olmalı ve eğitim bölmesine dahil edilecek veri seti oranını temsil etmelidir. int ise, eğitim örneklerinin mutlak sayısını temsil eder. None ise, değer test boyutunun tamamlayıcısı olarak otomatik olarak ayarlanır.
  • shuffle (bool, isteğe bağlı, varsayılan True) — Veriler bölünmeden önce karıştırılacak mı?
  • stratify_by_column (str, isteğe bağlı, varsayılan None) — Verilerin katmanlı olarak bölünmesi için kullanılacak etiketlerin sütun adı.
  • seed (int, isteğe bağlı) — generator=None ise varsayılan BitGenerator'ı başlatmak için bir tohum. None ise, taze ve öngörülemez entropi işletim sisteminden çekilir. int veya array_like[ints] geçirilirse, SeedSequence'e başlangıç BitGenerator durumunu türetmek için iletilir.
  • generator (numpy.random.Generator, isteğe bağlı) — Veri seti satırlarının permütasyonunu hesaplamak için kullanılacak Numpy rastgele Generator. generator=None (varsayılan) ise, np.random.default_rng (NumPy'nin varsayılan BitGenerator'ı (PCG64)) kullanılır.
  • keep_in_memory (bool, varsayılan False) — Bölüm indekslerini önbellek dosyasına yazmak yerine bellekte tutar.
  • load_from_cache_file (Optional[bool], önbellekleme etkinse varsayılan olarak True) — Bölünme indekslerini saklayan bir önbellek dosyası tanımlanabiliyorsa, yeniden hesaplamak yerine onu kullanın.
  • train_cache_file_name (str, isteğe bağlı) — Önbellek dosyası için bir yol adı belirtin. Otomatik olarak oluşturulan önbellek dosyası adı yerine eğitim bölünmesi indekslerini depolamak için kullanılır.
  • test_cache_file_name (str, isteğe bağlı) — Önbellek dosyası için bir yol adı belirtin. Otomatik olarak oluşturulan önbellek dosyası adı yerine test bölünmesi indekslerini depolamak için kullanılır.
  • writer_batch_size (int, varsayılan 1000) — Önbellek dosyası yazıcısı için yazma işlemi başına satır sayısı. Bu değer, işleme sırasında bellek kullanımı ile işleme hızı arasında iyi bir denge sağlar. Daha yüksek bir değer, işlemenin daha az arama yapmasını sağlar; daha düşük bir değer ise map çalışırken daha az geçici bellek tüketir.
  • train_new_fingerprint (str, isteğe bağlı, varsayılan None) — Dönüşüm sonrası eğitim setinin yeni parmak izi. None ise, yeni parmak izi önceki parmak izinin ve dönüşüm argümanlarının bir özeti kullanılarak hesaplanır
  • test_new_fingerprint (str, isteğe bağlı, varsayılan None) — Dönüşüm sonrası test setinin yeni parmak izi. None ise, yeni parmak izi önceki parmak izinin ve dönüşüm argümanlarının bir özeti kullanılarak hesaplanır

İki rastgele eğitim ve test alt kümesini (train ve test Dataset bölümleri) içeren bir sözlük (datasets.DatasetDict) döndürür. Bölümler, veri setinden test_size, train_size ve shuffle parametrelerine göre oluşturulur.

Bu yöntem, scikit-learn train_test_split ile benzerdir.

Örnek:

>>> 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
    })
})

parça

< >

( num_shards: intindex: intcontiguous: bool = Truekeep_in_memory: bool = Falseindices_cache_file_name: typing.Optional[str] = Nonewriter_batch_size: typing.Optional[int] = 1000 )

Parametreler

  • num_shards (int) — Veri setinin kaç parçaya bölüneceği.
  • index (int) — Seçilecek ve döndürülecek shard.
  • contiguous — (bool, varsayılan True): Parçalar için ardışık indeks bloklarının seçilip seçilmeyeceği.
  • keep_in_memory (bool, varsayılan False) — Veri setini önbellek dosyasına yazmak yerine bellekte tutar.
  • indices_cache_file_name (str, isteğe bağlı) — Önbellek dosyası için bir yol adı belirtin. Otomatik olarak oluşturulan önbellek dosyası adı yerine, her parçanın (shard) indekslerini depolamak için kullanılır.
  • writer_batch_size (int, varsayılan 1000) — Bu yalnızca indeks eşlemesini ilgilendirir. Önbellek dosyası yazıcısı için yazma işlemi başına indeks sayısı. Bu değer, işleme sırasında bellek kullanımı ile işleme hızı arasında iyi bir denge sağlar. Daha yüksek bir değer, işlemenin daha az arama yapmasını sağlar; daha düşük bir değer ise map çalışırken daha az geçici bellek tüketir.

Veri setini num_shards parçaya böldükten sonra index-inci parçayı döndürür.

Bu işlem deterministik olarak parçalar. dataset.shard(n, i) veri setini ardışık parçalara böler, böylece işlemden sonra kolayca birleştirilebilir. len(dataset) % n == l ise, ilk l veri setinin uzunluğu (len(dataset) // n) + 1, kalan veri setlerinin uzunluğu ise (len(dataset) // n) olur. datasets.concatenate_datasets([dset.shard(n, i) for i in range(n)]), orijinal veri setiyle aynı sıraya sahip bir veri seti döndürür.

Not: n, veri setindeki eleman sayısına len(dataset) eşit veya ondan küçük olmalıdır.

Öte yandan, dataset.shard(n, i, contiguous=False), dizinin n = i moduna göre indeksi olan tüm öğelerini içerir.

Rastgeleleştirme operatörlerinden (örneğin shuffle) herhangi birini kullanmadan önce parçalamayı (sharding) yapmayı unutmayın. Parçalama operatörünün veri seti hattının başında kullanılması en iyisidir.

Örnek:

>>> 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
})

tekrar

< >

( num_times: int )

Parametreler

  • num_times (int) — Veri setinin kaç kez tekrarlanacağı.

Altta yatan veri setini num_times kez tekrar eden yeni bir Dataset oluşturun.

itertools.repeat gibi, bir kez tekrarlama yalnızca tam veri setini döndürür.

Örnek:

>>> 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

< >

( batch_size: typing.Optional[int] = Nonecolumns: typing.Union[str, list[str], NoneType] = Noneshuffle: bool = Falsecollate_fn: typing.Optional[typing.Callable] = Nonedrop_remainder: bool = Falsecollate_fn_args: typing.Optional[dict[str, typing.Any]] = Nonelabel_cols: typing.Union[str, list[str], NoneType] = Noneprefetch: bool = Truenum_workers: int = 0num_test_batches: int = 20 )

Parametreler

  • batch_size (int, isteğe bağlı) — Veri setinden yüklenecek partilerin boyutu. Varsayılan olarak None'dir; bu, veri setinin partilendirilmeyeceği anlamına gelir ancak döndürülen veri seti daha sonra tf_dataset.batch(batch_size) ile partilendirilebilir.
  • columns (List[str] veya str, isteğe bağlı) — tf.data.Dataset içinde yüklenecek veri seti sütun(lar)ı. collate_fn tarafından oluşturulan ve orijinal veri setinde bulunmayan sütun adları kullanılabilir.
  • shuffle(bool, varsayılan False) — Yükleme sırasında veri seti sırasını karıştırır. Eğitim için True, doğrulama/değerlendirme için False önerilir.
  • drop_remainder(bool, varsayılan False) — Yükleme sırasında son eksik partiyi atar. Veri setinin ürettiği tüm partilerin parti boyutu boyutunda aynı uzunlukta olmasını sağlar.
  • collate_fn(Callable, isteğe bağlı) — Örnek listelerini bir partiye (batch) birleştirecek bir fonksiyon veya çağrılabilir nesne (örneğin DataCollator).
  • collate_fn_args (Dict, isteğe bağlı) — collate_fn'e iletilecek anahtar kelime argümanlarından oluşan isteğe bağlı bir dict.
  • label_cols (List[str] veya str, varsayılan None) — Etiket olarak yüklenecek veri seti sütun(lar)ı. Birçok modelin kaybı (loss) Keras'a bırakmak yerine dahili olarak hesapladığını ve bu durumda, etiketlerin girdi columns içinde olduğu sürece burada etiketleri geçmenin isteğe bağlı olduğunu unutmayın.
  • prefetch (bool, varsayılan True) — Dataloader'ın ayrı bir iş parçacığında çalıştırılıp çalıştırılmayacağı ve eğitim için küçük bir parti tamponunun sürdürülüp sürdürülmeyeceği. Modelin eğitim sırasında arka planda veri yüklenmesine olanak tanıyarak performansı artırır.
  • num_workers (int, varsayılan 0) — Veri setini yüklemek için kullanılacak işçi sayısı.
  • num_test_batches (int, varsayılan 20) — Veri setinin çıktı imzasını çıkarırken kullanılacak parti sayısı. Bu sayı ne kadar yüksek olursa imza o kadar doğru olur, ancak veri setinin oluşturulması o kadar uzun sürer.

Altta yatan Dataset'ten bir tf.data.Dataset oluşturun. Bu tf.data.Dataset, Dataset'ten toplulukları (batch) yükleyip birleştirir (collate) ve model.fit() veya model.predict() gibi yöntemlere aktarılmasına uygundur. dict yalnızca tek bir anahtar içermediği sürece, hem girdiler hem de etiketler için dicts üretilir; aksi halde bunun yerine ham bir tf.Tensor üretilir.

Örnek:

>>> 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

< >

( repo_id: strconfig_name: str = 'default'set_default: typing.Optional[bool] = Nonesplit: typing.Optional[str] = Nonedata_dir: typing.Optional[str] = Nonecommit_message: typing.Optional[str] = Nonecommit_description: typing.Optional[str] = Noneprivate: typing.Optional[bool] = Nonetoken: typing.Optional[str] = Nonerevision: typing.Optional[str] = Nonecreate_pr: typing.Optional[bool] = Falsemax_shard_size: typing.Union[str, int, NoneType] = Nonenum_shards: typing.Optional[int] = Noneembed_external_files: bool = Truenum_proc: typing.Optional[int] = None )

Parametreler

  • repo_id (str) — Aşağıdaki biçimde itme (push) yapılacak deposunun kimliği: <user>/<dataset_name> veya <org>/<dataset_name>. Ayrıca <dataset_name>, de kabul eder; bu durumda oturum açılmış kullanıcının ad alanı (namespace) varsayılan olarak kullanılır.

    Ayrıca bir varlığın içindeki bir konum da olabilir, örneğin buckets/<user_or_org>/<bucket_name>/...

  • config_name (str, varsayılan “default”) — Bir veri setinin yapılandırma adı (veya alt kümesi). Varsayılan olarak “default” değerini alır.
  • set_default (bool, isteğe bağlı) — Bu yapılandırmanın varsayılan olarak ayarlanıp ayarlanmayacağı. Aksi takdirde, varsayılan yapılandırma “default” adlı olanıdır.
  • split (str, isteğe bağlı) — Bu veri setine verilecek bölünmenin adı. Varsayılan olarak self.split değerini kullanır.
  • data_dir (str, isteğe bağlı) — Yüklenen veri dosyalarını içerecek dizin adı. Farklıysa config_name değilse “data” olarak varsayılan değerdir.

    2.17.0 sürümünde eklendi

  • commit_message (str, isteğe bağlı) — İterilirken iletilecek mesaj. Varsayılan olarak "Upload dataset" olur.
  • commit_description (str, isteğe bağlı) — Oluşturulacak commit'in açıklaması. Ayrıca, bir PR oluşturulursa PR açıklaması da (create_pr True ise).

    2.16.0 sürümünde eklendi

  • private (bool, isteğe bağlı) — Deponun özel yapılıp yapılmayacağı. None (varsayılan) ise, organizasyonun varsayılanı özel değilse depo herkese açık olacaktır. Depo zaten mevcutsa bu değer yok sayılır.
  • token (str, isteğe bağlı) — Hugging Face Hub için isteğe bağlı bir kimlik doğrulama belirteci. Belirteç geçirilmezse, hf auth login ile oturum açılırken yerel olarak kaydedilen belirteç varsayılan olarak kullanılır. Belirteç geçirilmez ve kullanıcı oturum açmamışsa bir hata oluşturulur.
  • revision (str, isteğe bağlı) — Yüklenen dosyaların gönderileceği dal. Varsayılan olarak "main" dalıdır.

    2.15.0 sürümünde eklendi

  • create_pr (bool, isteğe bağlı, varsayılan olarak False) — Yüklenen dosyalarla bir PR oluşturulup oluşturulmayacağına veya doğrudan commit atılıp atılmayacağına karar verir.

    2.15.0 sürümünde eklendi

  • max_shard_size (int veya str, isteğe bağlı, varsayılan "500MB") — Hub'a yüklenecek veri seti parçacıklarının (shard) maksimum boyutu. Dize olarak ifade ediliyorsa, birimden (ör. "5MB") önce rakamlar gelmelidir.
  • num_shards (int, isteğe bağlı) — Yazılacak shard sayısı. Varsayılan olarak shard sayısı max_shard_size.

    2.8.0 sürümünde eklendi

  • embed_external_files (bool, varsayılan olarak True) — Dosya baytlarının shard'lara gömülüp gömülmemesi. Özellikle, push işleminden önce şu alan türleri için şunları yapar:
    • Ses ve Görsel: yerel yol bilgilerini kaldırın ve dosya içeriğini Parquet dosyalarına gömün.
  • num_proc (int, isteğe bağlı, varsayılan olarak None) — Veri setini hazırlarken ve yüklerken kullanılacak süreç sayısı. Veri seti gömülecek çok sayıda örnek veya medya dosyasından oluşuyorsa bu parametre işe yarar. hf_xet ile çalışmak için “spawn” bağlamını kullanır; hf_xet, HF'ye hızlı yüklemeler için kullanılan rust istemcisidir. Çok işlemcili çalışma (multiprocessing) varsayılan olarak devre dışıdır.

    4.0.0 sürümünde eklendi

Veri setini Parquet veri seti olarak hub'a gönderir. Veri seti HTTP istekleri kullanılarak gönderilir ve git veya git-lfs kurulu olmasına gerek yoktur.

Oluşturulan Parquet dosyaları varsayılan olarak kendi kendine yeterlidir. Veri setiniz Image, Audio veya Video verisi içeriyorsa, Parquet dosyaları görüntü veya ses dosyalarınızın baytlarını saklar. Bunu, embed_external_files değerini False olarak ayarlayarak devre dışı bırakabilirsiniz.

Örnek:

>>> 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)

Veri setiniz birden fazla bölüme (ör. eğitim/doğrulama/test) sahipse:

>>> 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"]

Bir veri setine yeni bir yapılandırma (veya alt küme) eklemek istiyorsanız (ör. veri seti birden fazla görev/sürüm/dil içeriyorsa):

>>> 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

< >

( dataset_path: typing.Union[str, bytes, os.PathLike]max_shard_size: typing.Union[str, int, NoneType] = Nonenum_shards: typing.Optional[int] = Nonenum_proc: typing.Optional[int] = Nonestorage_options: typing.Optional[dict] = None )

Parametreler

  • dataset_path (path-like) — Veri setinin kaydedileceği veri seti dizininin yolu (ör. dataset/train) veya uzak URI'si (ör. s3://my-bucket/dataset/train).
  • max_shard_size (int veya str, isteğe bağlı, varsayılan "500MB") — Dosya sistemine kaydedilecek veri kümesi parçacıklarının (shard) maksimum boyutu. Dize olarak ifade ediliyorsa, birimden önce rakamlar gelmelidir (ör. "50MB").
  • num_shards (int, isteğe bağlı) — Yazılacak shard sayısı. Varsayılan olarak shard sayısı max_shard_size ve num_proc.

    2.8.0 sürümünde eklendi

  • num_proc (int, isteğe bağlı) — Veri setini indirirken ve yerel olarak oluştururken kullanılacak süreç sayısı. Çok işlemcili (multiprocessing) varsayılan olarak devre dışıdır.

    2.8.0 sürümünde eklendi

  • storage_options (dict, isteğe bağlı) — Varsa, dosya sistemi arka ucuna iletilecek anahtar/değer çiftleri.

    2.8.0 sürümünde eklendi

Bir veri setini bir veri seti dizinine veya fsspec.spec.AbstractFileSystem uygulaması olan herhangi bir dosya sisteminde kaydeder.

Image, Audio ve Video verileri için:

Tüm Image(), Audio() ve Video() verileri arrow dosyalarında saklanır. Yollar veya URL'ler saklamak istiyorsanız, lütfen Value(“string”) tipini kullanın.

Örnek:

>>> 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

< >

( dataset_path: typing.Union[str, bytes, os.PathLike]keep_in_memory: typing.Optional[bool] = Nonestorage_options: typing.Optional[dict] = None ) → Dataset or DatasetDict

Parametreler

  • dataset_path (path-like) — Veri setinin yükleneceği veri seti dizininin yolu (ör. "dataset/train") veya uzak URI'si (ör. "s3//my-bucket/dataset/train").
  • keep_in_memory (bool, varsayılan None) — Veri setinin bellek içine kopyalanıp kopyalanmayacağı. None ise, datasets.config.IN_MEMORY_MAX_SIZE sıfırdan farklı bir değere ayarlanarak açıkça etkinleştirilmedikçe veri seti bellek içine kopyalanmaz. Daha fazla ayrıntı için performansı iyileştirme bölümüne bakın.
  • storage_options (dict, isteğe bağlı) — Varsa, dosya sistemi arka ucuna iletilecek anahtar/değer çiftleri.

    2.8.0 sürümünde eklendi

Dönüş değeri

Dataset veya DatasetDict

  • dataset_path bir veri seti dizini yoluysa, istenen veri seti.
  • dataset_path, bir dataset dict dizini yoluysa, her split için bir datasets.DatasetDict döndürülür.

Daha önce save_to_disk kullanılarak bir veri seti dizininden veya fsspec.spec.AbstractFileSystem uygulamasının herhangi birinden bir dosya sisteminden kaydedilmiş bir veri setini yükler.

Örnek:

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

flatten_indices

< >

( keep_in_memory: bool = Falsecache_file_name: typing.Optional[str] = Nonewriter_batch_size: typing.Optional[int] = 1000features: typing.Optional[datasets.features.features.Features] = Nonedisable_nullable: bool = Falsenum_proc: typing.Optional[int] = Nonenew_fingerprint: typing.Optional[str] = None )

Parametreler

  • keep_in_memory (bool, varsayılan False) — Veri setini önbellek dosyasına yazmak yerine bellekte tutar.
  • cache_file_name (str, isteğe bağlı, varsayılan None) — Önbellek dosyası için bir yol adı belirtin. Hesaplama sonuçlarını, otomatik olarak oluşturulan önbellek dosyası adı yerine bu yolda saklamak için kullanılır.
  • writer_batch_size (int, varsayılan 1000) — Önbellek dosyası yazıcısı için yazma işlemi başına satır sayısı. Bu değer, işleme sırasında bellek kullanımı ile işleme hızı arasında iyi bir denge sağlar. Daha yüksek bir değer, işlemenin daha az arama yapmasını sağlar; daha düşük bir değer ise map çalışırken daha az geçici bellek tüketir.
  • features (Optional[datasets.Features], varsayılan None) — Otomatik olarak oluşturulan yerine, önbellek dosyasını depolamak için belirli bir Features kullanın.
  • disable_nullable (bool, varsayılan False) — Tabloda null değerlere izin verir.
  • num_proc (int, isteğe bağlı, varsayılan None) — Önbellek oluşturulurken kullanılacak maksimum süreç sayısı. Zaten önbelleğe alınmış parçalar sıralı olarak yüklenir
  • new_fingerprint (str, isteğe bağlı, varsayılan None) — Dönüşüm sonrası veri setinin yeni parmak izi. None ise, yeni parmak izi önceki parmak izinin ve dönüşüm argümanlarının bir özeti kullanılarak hesaplanır

Dizin eşlemesini düzleştirerek yeni bir Dataset oluşturun ve önbelleğe alın.

to_csv

< >

( path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO]batch_size: typing.Optional[int] = Nonenum_proc: typing.Optional[int] = Nonestorage_options: typing.Optional[dict] = None**to_csv_kwargs ) → int

Parametreler

  • path_or_buf (PathLike veya FileOrBuffer) — Bir dosya yolu (ör. file.csv), uzak bir URI (ör. hf://datasets/username/my_dataset_name/data.csv) veya veri setinin belirtilen formatta kaydedileceği bir BinaryIO.
  • batch_size (int, isteğe bağlı) — Belleğe yüklenip tek seferde yazılacak olan batch boyutu. Varsayılan değer datasets.config.DEFAULT_MAX_BATCH_SIZE'dir.
  • num_proc (int, isteğe bağlı) — Çok işlemcili (multiprocessing) işlem için süreç sayısı. Varsayılan olarak çok işlemcili işlem kullanmaz. Bu durumda batch_size varsayılan olarak datasets.config.DEFAULT_MAX_BATCH_SIZE değerine ayarlanır ancak yeterli hesaplama gücüne sahipseniz bu değeri varsayılanın 5 katı veya 10 katı yapabilirsiniz.
  • storage_options (dict, isteğe bağlı) — Varsa, dosya sistemi arka ucuna iletilecek anahtar/değer çiftleri.

    2.19.0 sürümünde eklendi

  • **to_csv_kwargs (ek anahtar kelime argümanları) — pandas'in pandas.DataFrame.to_csv.

    2.10.0 sürümünde değiştirildi

    Şimdi, index belirtilmediyse varsayılan olarak False değerini alır.

    Dizin yazmak istiyorsanız index=True parametresini iletin ve ayrıca index_label parametresini geçirerek dizin sütunu için bir ad belirleyin.

Dönüş değeri

int

Yazılan karakter veya bayt sayısı.

Veri setini csv olarak dışa aktarır

Örnek:

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

to_pandas

< >

( batch_size: typing.Optional[int] = Nonebatched: bool = False )

Parametreler

  • batch_size (int, isteğe bağlı) — batched True ise partilerin boyutu (satır sayısı). Varsayılan değer datasets.config.DEFAULT_MAX_BATCH_SIZE'dir.
  • batched (bool) — Veri setini batch_size satırlık partiler halinde üreten bir üretici döndürmesi için True olarak ayarlayın. Varsayılan değer False'tir (tüm veri setlerini bir kez döndürür).

Veri setini pandas.DataFrame olarak döndürür. Büyük veri setleri için bir üreteç de döndürebilir.

Örnek:

>>> ds.to_pandas()

to_dict

< >

( batch_size: typing.Optional[int] = Nonebatched: bool = False )

Parametreler

  • batch_size (int, isteğe bağlı) — batched True ise partilerin boyutu (satır sayısı). Varsayılan değer datasets.config.DEFAULT_MAX_BATCH_SIZE'dir.
  • batched (bool) — Veri setini batch_size satırlık partiler halinde üreten bir üretici döndürmesi için True olarak ayarlayın. Varsayılan değer False'tir (tüm veri setlerini bir kez döndürür).

Veri setini bir Python sözlüğü olarak döndürür. Büyük veri setleri için bir üreteç de döndürebilir.

Örnek:

>>> ds.to_dict()

to_json

< >

( path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO]batch_size: typing.Optional[int] = Nonenum_proc: typing.Optional[int] = Nonestorage_options: typing.Optional[dict] = None**to_json_kwargs ) → int

Parametreler

  • path_or_buf (PathLike veya FileOrBuffer) — Bir dosya yolu (ör. file.json), uzak bir URI (ör. hf://datasets/username/my_dataset_name/data.json) veya veri setinin belirtilen formatta kaydedileceği bir BinaryIO.
  • batch_size (int, isteğe bağlı) — Belleğe yüklenip tek seferde yazılacak olan batch boyutu. Varsayılan değer datasets.config.DEFAULT_MAX_BATCH_SIZE'dir.
  • num_proc (int, isteğe bağlı) — Çok işlemcili (multiprocessing) işlem için süreç sayısı. Varsayılan olarak çok işlemcili işlem kullanmaz. Bu durumda batch_size varsayılan olarak datasets.config.DEFAULT_MAX_BATCH_SIZE değerine ayarlanır ancak yeterli hesaplama gücüne sahipseniz bu değeri varsayılanın 5 katı veya 10 katı yapabilirsiniz.
  • storage_options (dict, isteğe bağlı) — Varsa, dosya sistemi arka ucuna iletilecek anahtar/değer çiftleri.

    2.19.0 sürümünde eklendi

  • **to_json_kwargs (ek anahtar kelime argümanları) — pandas'in pandas.DataFrame.to_json. varsayılan argümanlar lines=True ve `orient="records"`.

    2.11.0 sürümünde değiştirildi

    orient değeri "split" veya "table" ise index parametresi varsayılan olarak False olur.

    Dizin yazmak istiyorsanız, index=True parametresini iletin.

Dönüş değeri

int

Yazılan karakter veya bayt sayısı.

Veri setini JSON Lines veya JSON olarak dışa aktarın.

Varsayılan çıktı biçimi JSON Lines'tır. JSON olarak dışa aktarmak için lines=False argümanını ve istenen orient değerini geçirin.

Örnek:

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

to_parquet

< >

( path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO]batch_size: typing.Optional[int] = Nonestorage_options: typing.Optional[dict] = None**parquet_writer_kwargs ) → int

Parametreler

  • path_or_buf (PathLike veya FileOrBuffer) — Bir dosya yolu (ör. file.parquet), uzak bir URI (ör. hf://datasets/username/my_dataset_name/data.parquet) veya veri setinin belirtilen formatta kaydedileceği bir BinaryIO.
  • batch_size (int, isteğe bağlı) — Belleğe yüklenip tek seferde yazılacak partinin boyutu. Varsayılan olarak, datasets.config.MAX_ROW_GROUP_SIZE tarafından tanımlanan, sıkıştırılmamış bayt boyutu “100MB” olan maksimum satır gruplarını hedefler.
  • storage_options (dict, isteğe bağlı) — Varsa, dosya sistemi arka ucuna iletilecek anahtar/değer çiftleri.

    2.19.0 sürümünde eklendi

  • **parquet_writer_kwargs (ek anahtar kelime argümanları) — PyArrow'ın pyarrow.parquet.ParquetWriter sınıfına iletilecek parametreler.

Dönüş değeri

int

Yazılan karakter veya bayt sayısı.

Veri setini parquet olarak dışa aktarır

Örnek:

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

to_sql

< >

( name: strcon: typing.Union[str, ForwardRef('sqlalchemy.engine.Connection'), ForwardRef('sqlalchemy.engine.Engine'), ForwardRef('sqlite3.Connection')]batch_size: typing.Optional[int] = Nonenum_proc: typing.Optional[int] = None**sql_writer_kwargs ) → int

Parametreler

  • name (str) — SQL tablosunun adı.
  • con (str veya sqlite3.Connection veya sqlalchemy.engine.Connection veya sqlalchemy.engine.Connection) — Bir veritabanına yazmak için kullanılan URI dizesi veya SQLite3/SQLAlchemy bağlantı nesnesi.
  • batch_size (int, isteğe bağlı) — Belleğe yüklenip tek seferde yazılacak olan batch boyutu. Varsayılan değer datasets.config.DEFAULT_MAX_BATCH_SIZE'dir.
  • num_proc (int, isteğe bağlı) — Çok işlemcili (multiprocessing) işlem için süreç sayısı. Varsayılan olarak çok işlemcili işlem kullanmaz. Bu durumda batch_size varsayılan olarak datasets.config.DEFAULT_MAX_BATCH_SIZE değerine ayarlanır ancak yeterli hesaplama gücüne sahipseniz bu değeri varsayılanın 5 katı veya 10 katı yapabilirsiniz.
  • **sql_writer_kwargs (ek anahtar kelime argümanları) — pandas'in pandas.DataFrame.to_sql.

    2.11.0 sürümünde değiştirildi

    Şimdi, index belirtilmediyse varsayılan olarak False değerini alır.

    Dizin yazmak istiyorsanız index=True parametresini iletin ve ayrıca index_label parametresini geçirerek dizin sütunu için bir ad belirleyin.

Dönüş değeri

int

Yazılan kayıt sayısı.

Veri setini bir SQL veritabanına dışa aktarır.

Örnek:

>>> # 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

< >

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

Parametreler

  • num_shards (int, varsayılan 1) — İteratif veri seti oluşturulurken tanımlanacak shard sayısı. Bu, büyük veri setlerinin doğru şekilde karıştırılabilmesi ve örneğin PyTorch DataLoader ile hızlı paralel yükleme veya dağıtık kurulumlarda kullanılabilmesi için özellikle faydalıdır. Shard'lar datasets.Dataset.shard() kullanılarak tanımlanır: bu, diske hiçbir şey yazmadan veriyi doğrudan dilimlere ayırır.

Harita tarzı bir datasets.Dataset'ten datasets.IterableDataset alın. Bu, datasets.load_dataset() ile bir veri setini akış modunda yüklemeye eşdeğerdir ancak veri yerel dosyalardan akıtıldığı için çok daha hızlıdır.

Map-stil veri kümelerinin aksine, iterable veri kümeleri tembel (lazy)dir ve yalnızca yineleme yoluyla (ör. bir for döngüsü kullanarak) gezilebilir. Eğitim döngülerinde sıralı olarak okundukları için, iterable veri kümeleri map-stil veri kümelerinden çok daha hızlıdır. Filtreleme veya işleme gibi iterable veri kümelerine uygulanan tüm dönüşümler, veri kümesinin üzerinde yinelemeye başladığınız anda anlık olarak (on-the-fly) gerçekleştirilir.

Yine de, datasets.IterableDataset.shuffle() kullanarak bir iterable veri setini karıştırmak mümkündür. Bu, birden fazla shard'a sahipseniz ve yeterince büyük bir buffer boyutu belirtirseniz en iyi sonucu veren hızlı ve yaklaşık bir karıştırma yöntemidir.

En iyi hız performansını elde etmek için veri setinizin bir indeks eşlemesi içermediğinden emin olun. Bu durum söz konusuysa, veriler ardışık olarak okunmaz ve bu bazen yavaş olabilir. Yineleme yapılabilir bir veri setine geçmeden önce, veri setinizi ardışık veri blokları olarak yazmak ve optimum hıza sahip olmak için ds = ds.flatten_indices() kullanabilirsiniz.

Örnek:

Temel kullanım:

>>> ids = ds.to_iterable_dataset()
>>> for example in ids:
...     pass

Gecikmeli filtreleme ve işleme ile:

>>> 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

Verimli karıştırma (shuffling) için shard'leme ile:

>>> 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

Bir PyTorch DataLoader ile:

>>> 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

Bir PyTorch DataLoader ve karıştırma (shuffling) ile:

>>> 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 DataLoader ve karıştırma (shuffling) içeren PyTorch DDP gibi dağıtık bir kurulumda

>>> 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

Karıştırma ve çoklu epoklarla:

>>> 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
Feel free to also use `IterableDataset.set_epoch()` when using a PyTorch DataLoader or in distributed setups.

add_faiss_index

< >

( column: strindex_name: typing.Optional[str] = Nonedevice: typing.Optional[int] = Nonestring_factory: typing.Optional[str] = Nonemetric_type: typing.Optional[int] = Nonecustom_index: typing.Optional[ForwardRef('faiss.Index')] = Nonebatch_size: int = 1000train_size: typing.Optional[int] = Nonefaiss_verbose: bool = Falsedtype = <class 'numpy.float32'> )

Parametreler

  • column (str) — Dizin eklemek için vektörlerin sütunu.
  • index_name (str, isteğe bağlı) — Dizinin index_name/kimliği. Bu, get_nearest_examples() veya search() çağrılırken kullanılan index_name'dir. Varsayılan olarak column'a karşılık gelir.
  • device (Union[int, List[int]], isteğe bağlı) — Pozitif bir tam sayıysa, kullanılacak GPU'nun dizinidir. Negatif bir tam sayıysa, tüm GPU'lar kullanılır. Pozitif tam sayılardan oluşan bir liste geçirilirse, yalnızca bu GPU'larda çalıştırılır. Varsayılan olarak CPU kullanılır.
  • string_factory (str, isteğe bağlı) — Bu, Faiss'in index fabrikasına index oluşturmak için iletilir. Varsayılan index sınıfı IndexFlat'tür.
  • metric_type (int, isteğe bağlı) — Metrik türü. Ör: faiss.METRIC_INNER_PRODUCT veya faiss.METRIC_L2.
  • custom_index (faiss.Index, isteğe bağlı) — Zaten ihtiyaçlarınıza göre örneklenmiş ve yapılandırılmış özel Faiss indeksi.
  • batch_size (int) — vektörlerin FaissIndex. varsayılan değeri 1000.

    2.4.0 sürümünde eklendi

  • train_size (int, isteğe bağlı) — Dizin için bir eğitim adımı gerekiyorsa, dizini eğitmek için kullanılacak vektör sayısını belirtir.
  • faiss_verbose (bool, varsayılan False) — Faiss dizininin ayrıntı düzeyini etkinleştirir.
  • dtype (data-type) — Dizinlenen numpy dizilerinin dtype'ı. Varsayılan değer np.float32'dir.

Faiss kullanarak hızlı geri getirme için yoğun bir indeks ekleyin. Varsayılan olarak indeks, belirtilen sütunun vektörleri üzerinde yapılır. GPU üzerinde çalıştırmak istiyorsanız device parametresini belirleyebilirsiniz (device, GPU indeksini belirtmelidir). Faiss hakkında daha fazla bilgiyi burada bulabilirsiniz:

Örnek:

>>> 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

< >

( external_arrays: arrayindex_name: strdevice: typing.Optional[int] = Nonestring_factory: typing.Optional[str] = Nonemetric_type: typing.Optional[int] = Nonecustom_index: typing.Optional[ForwardRef('faiss.Index')] = Nonebatch_size: int = 1000train_size: typing.Optional[int] = Nonefaiss_verbose: bool = Falsedtype = <class 'numpy.float32'> )

Parametreler

  • external_arrays (np.array) — Dizin için lib dışındaki dizileri kullanmak istiyorsanız external_arrays değerini ayarlayabilirsiniz. Verilen column içindeki diziler yerine, Faiss dizinini oluşturmak için external_arrays kullanılacaktır.
  • index_name (str) — Dizinin index_name/kimliği. Bu, get_nearest_examples() veya search() çağrılırken kullanılan index_name'tür.
  • device (İsteğe bağlı Union[int, List[int]], optional) — Pozitif bir tam sayıysa, kullanılacak GPU'nun dizinidir. Negatif bir tam sayıysa, tüm GPU'lar kullanılır. Pozitif tam sayılardan oluşan bir liste geçirilirse, yalnızca bu GPU'larda çalıştırılır. Varsayılan olarak CPU kullanılır.
  • string_factory (str, isteğe bağlı) — Bu, Faiss'in index fabrikasına index oluşturmak için iletilir. Varsayılan index sınıfı IndexFlat'tür.
  • metric_type (int, isteğe bağlı) — Metrik türü. Ör: faiss.faiss.METRIC_INNER_PRODUCT veya faiss.METRIC_L2.
  • custom_index (faiss.Index, isteğe bağlı) — Zaten ihtiyaçlarınıza göre örneklenmiş ve yapılandırılmış özel Faiss indeksi.
  • batch_size (int, isteğe bağlı) — FaissIndex'e vektörler eklenirken kullanılacak parti boyutu. Varsayılan değer 1000'dir.

    2.4.0 sürümünde eklendi

  • train_size (int, isteğe bağlı) — Dizin için bir eğitim adımı gerekiyorsa, dizini eğitmek için kullanılacak vektör sayısını belirtir.
  • faiss_verbose (bool, varsayılan olarak False) — Faiss dizininin ayrıntı düzeyini etkinleştirir.
  • dtype (numpy.dtype) — Dizinlenen numpy dizilerinin dtype'ı. Varsayılan değer np.float32'dir.

Hızlı geri getirme için Faiss kullanarak yoğun bir indeks ekleyin. İndeks, external_arrays vektörleri kullanılarak oluşturulur. GPU üzerinde çalıştırmak istiyorsanız device parametresini belirleyebilirsiniz (device, GPU indeksinin kendisi olmalıdır). Faiss hakkında daha fazla bilgiyi burada bulabilirsiniz:

save_faiss_index

< >

( index_name: strfile: typing.Union[str, pathlib.PurePath]storage_options: typing.Optional[dict] = None )

Parametreler

  • index_name (str) — İndeksin index_name/belirleyicisi. Bu, .get_nearest veya .search çağrılarında kullanılan index_name'dir.
  • file (str) — Diskteki veya uzak URI'deki (ör. "s3://my-bucket/index.faiss") seri hale getirilmiş faiss dizininin yolu.
  • storage_options (dict, isteğe bağlı) — Varsa, dosya sistemi arka ucuna iletilecek anahtar/değer çiftleri.

    2.11.0 sürümünde eklendi

Bir FaissIndex'i diske kaydedin.

load_faiss_index

< >

( index_name: strfile: typing.Union[str, pathlib.PurePath]device: typing.Union[int, list[int], NoneType] = Nonestorage_options: typing.Optional[dict] = None )

Parametreler

  • index_name (str) — İndeksin index_name/kimliği. Bu, .get_nearest veya .search çağrılarında kullanılan index_name'dir.
  • file (str) — Diskteki veya uzak URI'deki (ör. "s3://my-bucket/index.faiss") seri hale getirilmiş faiss dizininin yolu.
  • device (İsteğe bağlı Union[int, List[int]]) — Pozitif bir tam sayıysa, kullanılacak GPU'nun dizinidir. Negatif bir tam sayıysa, tüm GPU'lar kullanılır. Pozitif tam sayılardan oluşan bir liste geçirilirse, yalnızca bu GPU'larda çalıştırılır. Varsayılan olarak CPU kullanılır.
  • storage_options (dict, isteğe bağlı) — Varsa, dosya sistemi arka ucuna iletilecek anahtar/değer çiftleri.

    2.11.0 sürümünde eklendi

Bir FaissIndex'i diskten yükleyin.

Ek yapılandırmalar yapmak istiyorsanız, .get_index(index_name).faiss_index ifadesiyle faiss index nesnesine erişebilir ve onu ihtiyaçlarınıza göre şekillendirebilirsiniz.

add_elasticsearch_index

< >

( column: strindex_name: typing.Optional[str] = Nonehost: typing.Optional[str] = Noneport: typing.Optional[int] = Nonees_client: typing.Optional[ForwardRef('elasticsearch.Elasticsearch')] = Nonees_index_name: typing.Optional[str] = Nonees_index_config: typing.Optional[dict] = None )

Parametreler

  • column (str) — Dizin eklemek için belgelerin sütunu.
  • index_name (str, isteğe bağlı) — Dizinin index_name/kimliği. Bu, get_nearest_examples() veya search() çağrılarında kullanılan dizin adını belirtir. Varsayılan olarak column ile eşleşir.
  • host (str, isteğe bağlı, varsayılan localhost) — ElasticSearch'in çalıştığı konak.
  • port (str, optional, defaults to 9200) — Port of where ElasticSearch is running.
  • es_client (elasticsearch.Elasticsearch, isteğe bağlı) — host ve port None ise indeks oluşturmak için kullanılan elasticsearch istemcisi.
  • es_index_name (str, isteğe bağlı) — Dizin oluşturmak için kullanılan elasticsearch dizin adı.
  • es_index_config (dict, isteğe bağlı) — elasticsearch dizininin yapılandırması. Varsayılan yapılandırma:

Hızlı geri getirme için ElasticSearch kullanarak bir metin indeksi ekleyin. Bu işlem yerinde (in-place) yapılır.

Örnek:

>>> 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

< >

( index_name: stres_index_name: strhost: typing.Optional[str] = Noneport: typing.Optional[int] = Nonees_client: typing.Optional[ForwardRef('Elasticsearch')] = Nonees_index_config: typing.Optional[dict] = None )

Parametreler

  • index_name (str) — Dizinin index_name/kimliği. Bu, get_nearest veya search çağrılırken kullanılan dizin adıdır.
  • es_index_name (str) — Yüklenecek elasticsearch dizininin adı.
  • host (str, isteğe bağlı, varsayılan localhost) — ElasticSearch'in çalıştığı konak.
  • port (str, optional, defaults to 9200) — Port of where ElasticSearch is running.
  • es_client (elasticsearch.Elasticsearch, isteğe bağlı) — host ve port None ise indeks oluşturmak için kullanılan elasticsearch istemcisi.
  • es_index_config (dict, isteğe bağlı) — elasticsearch dizininin yapılandırması. Varsayılan yapılandırma:

Hızlı geri getirme için ElasticSearch kullanarak mevcut bir metin dizini yükleyin.

list_indexes

< >

( )

Tüm bağlı indekslerin colindex_nameumns/kimliklerini listeleyin.

get_index

< >

( index_name: str )

Parametreler

  • index_name (str) — Dizin adı.

Tüm bağlı indekslerin index_name/kimliklerini listeler.

drop_index

< >

( index_name: str )

Parametreler

  • index_name (str) — Dizinin index_name/kimliği.

Belirtilen sütunla indeksi kaldırın.

ara

< >

( index_name: strquery: typing.Union[str, <built-in function array>]k: int = 10**kwargs ) → (scores, indices)

Parametreler

  • index_name (str) — Dizinin adı/kimlik bilgisi.
  • query (Union[str, np.ndarray]) — index_name bir metin indeksi ise sorgu bir dize olarak, index_name bir vektör indeksi ise bir numpy dizisi olarak.
  • k (int) — Alınacak örnek sayısı.

Dönüş değeri

(scores, indices)

Şu şekilde bir (scores, indices) demeti:

  • scores (List[List[float]): alınan örneklerin FAISS (varsayılan olarak IndexFlatL2) veya ElasticSearch'ten gelen arama puanları
  • indices (List[List[int]]): alınan örneklerin indeksleri

Veri setinde sorguya en yakın örnek indekslerini bulun.

search_batch

< >

( index_name: strqueries: typing.Union[list[str], <built-in function array>]k: int = 10**kwargs ) → (total_scores, total_indices)

Parametreler

  • index_name (str) — Dizinin index_name/kimliği.
  • queries (Union[List[str], np.ndarray]) — index_name bir metin indeksi ise sorguların bir dize listesi olarak, index_name bir vektör indeksi ise bir numpy dizisi olarak verilmesi.
  • k (int) — Her sorgu için alınacak örnek sayısı.

Dönüş değeri

(total_scores, total_indices)

Şu şekilde bir (total_scores, total_indices) demeti:

  • total_scores (List[List[float]): sorgu başına alınan örneklerin FAISS (varsayılan olarak IndexFlatL2) veya ElasticSearch'ten gelen arama puanları
  • total_indices (List[List[int]]): sorgu başına alınan örneklerin indeksleri

Veri setinde sorguya en yakın örnek indekslerini bulun.

get_nearest_examples

< >

( index_name: strquery: typing.Union[str, <built-in function array>]k: int = 10**kwargs ) → (scores, examples)

Parametreler

  • index_name (str) — Dizinin index_name/belirleyicisi.
  • query (Union[str, np.ndarray]) — index_name bir metin indeksi ise sorgu bir dize olarak, index_name bir vektör indeksi ise bir numpy dizisi olarak.
  • k (int) — Alınacak örnek sayısı.

Dönüş değeri

(scores, examples)

Şu şekilde bir (scores, examples) demeti:

  • scores (List[float]): alınan örneklerin FAISS (varsayılan olarak IndexFlatL2) veya ElasticSearch'ten gelen arama puanları
  • örnekler (dict): alınan örnekler

Veri setindeki sorguya en yakın örnekleri bulun.

get_nearest_examples_batch

< >

( index_name: strqueries: typing.Union[list[str], <built-in function array>]k: int = 10**kwargs ) → (total_scores, total_examples)

Parametreler

  • index_name (str) — Dizinin index_name/kimliği.
  • queries (Union[List[str], np.ndarray]) — index_name bir metin indeksi ise sorguların bir dize listesi olarak, index_name bir vektör indeksi ise bir numpy dizisi olarak verilmesi.
  • k (int) — Her sorgu için alınacak örnek sayısı.

Dönüş değeri

(total_scores, total_examples)

Şu şekilde bir (total_scores, total_examples) demeti:

  • total_scores (List[List[float]): sorgu başına alınan örneklerin FAISS (varsayılan olarak IndexFlatL2) veya ElasticSearch'ten gelen arama puanları
  • total_examples (List[dict]): sorgu başına alınan örnekler

Veri setindeki sorguya en yakın örnekleri bulun.

bilgi

< >

( )

Veri setindeki tüm meta verileri içeren DatasetInfo nesnesi.

split

< >

( )

Adlandırılmış bir veri seti bölmesine karşılık gelen NamedSplit nesnesi.

builder_name

< >

( )

tıpkıbasım

< >

( )

config_name

< >

( )

dataset_size

< >

( )

açıklama

< >

( )

download_checksums

< >

( )

download_size

< >

( )

özellikleri

< >

( )

ana sayfa

< >

( )

lisans

< >

( )

boyut_bayt

< >

( )

supervised_keys

< >

( )

sürüm

< >

( )

from_csv

< >

( path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]]split: typing.Optional[datasets.splits.NamedSplit] = Nonefeatures: typing.Optional[datasets.features.features.Features] = Nonecache_dir: str = Nonekeep_in_memory: bool = Falsenum_proc: typing.Optional[int] = None**kwargs )

Parametreler

  • path_or_paths (path-like veya path-like listesi) — CSV dosya(lar)ının yolu(ları).
  • split (NamedSplit, opsiyonel) — Veri setine atanacak bölme adı.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • cache_dir (str, isteğe bağlı, varsayılan "~/.cache/huggingface/datasets") — Verilerin önbelleğe alınacağı dizin.
  • keep_in_memory (bool, varsayılan False) — Verilerin bellek içine kopyalanıp kopyalanmayacağı.
  • num_proc (int, isteğe bağlı, varsayılan olarak None) — Veri setini indirirken ve yerel olarak oluştururken kullanılacak süreç sayısı. Bu, veri seti birden fazla dosyadan oluşuyorsa işe yarar. Çoklu işleme (multiprocessing) varsayılan olarak devre dışıdır.

    2.8.0 sürümünde eklendi

  • **kwargs (ek anahtar kelime argümanları) — pandas.read_csv fonksiyonuna iletilecek anahtar kelime argümanları.

CSV dosyası/dosyalarından Dataset oluşturun.

CSV dosyalarını okuyun, verileri diskte Arrow biçiminde önbelleğe alın ve diskteki belleğe eşlenmiş Arrow verisinden Dataset'i döndürün.

Örnek:

>>> ds = Dataset.from_csv('path/to/dataset.csv')

from_json

< >

( path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]]split: typing.Optional[datasets.splits.NamedSplit] = Nonefeatures: typing.Optional[datasets.features.features.Features] = Nonecache_dir: str = Nonekeep_in_memory: bool = Falsefield: typing.Optional[str] = Nonenum_proc: typing.Optional[int] = None**kwargs )

Parametreler

  • path_or_paths (path-like veya path-like listesi) — JSON veya JSON Lines dosyalarının yolları.
  • split (NamedSplit, opsiyonel) — Veri setine atanacak bölme adı.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • cache_dir (str, isteğe bağlı, varsayılan "~/.cache/huggingface/datasets") — Verilerin önbelleğe alınacağı dizin.
  • keep_in_memory (bool, varsayılan False) — Verilerin bellek içine kopyalanıp kopyalanmayacağı.
  • field (str, isteğe bağlı) — Veri setinin bulunduğu JSON dosyasındaki alan adı.
  • num_proc (int, isteğe bağlı varsayılan olarak None) — Veri setini indirirken ve yerel olarak oluştururken kullanılan süreç sayısı. Bu, veri seti birden fazla dosyadan oluşuyorsa işe yarar. Çok işlemcili (multiprocessing) çalışma varsayılan olarak devre dışıdır.

    2.8.0 sürümünde eklendi

  • **kwargs (ek anahtar kelime argümanları) — JsonConfig'e iletilecek anahtar kelime argümanları.

JSON veya JSON Lines dosyalarından Dataset oluşturun.

JSON dosyalarını okuyun, verileri diskte Arrow biçiminde önbelleğe alın ve diskteki belleğe eşlenmiş Arrow verilerinden Dataset'i döndürün.

Örnek:

>>> ds = Dataset.from_json('path/to/dataset.json')

from_parquet

< >

( path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]]split: typing.Optional[datasets.splits.NamedSplit] = Nonefeatures: typing.Optional[datasets.features.features.Features] = Nonecache_dir: str = Nonekeep_in_memory: bool = Falsecolumns: typing.Optional[list[str]] = Nonenum_proc: typing.Optional[int] = Nonefilters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = Nonefragment_scan_options: typing.Optional[pyarrow._dataset_parquet.ParquetFragmentScanOptions] = Noneon_bad_files: typing.Literal['error', 'warn', 'skip'] = 'error'**kwargs )

Parametreler

  • path_or_paths (path-like veya path-like listesi) — Parquet dosya(lar)ının yolu(ları).
  • split (NamedSplit, isteğe bağlı) — Veri setine atanacak bölme adı.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • cache_dir (str, isteğe bağlı, varsayılan "~/.cache/huggingface/datasets") — Verilerin önbelleğe alınacağı dizin.
  • keep_in_memory (bool, varsayılan False) — Verilerin bellek içine kopyalanıp kopyalanmayacağı.
  • columns (List[str], isteğe bağlı) — None değilse, dosyadan yalnızca bu sütunlar okunur. Bir sütun adı, iç içe geçmiş bir alanın öneki olabilir; örneğin ‘a’, ‘a.b’, ‘a.c’ ve ‘a.d.e’ alanlarını seçer.
  • num_proc (int, isteğe bağlı, varsayılan olarak None) — Veri setini indirirken ve yerel olarak oluştururken kullanılacak süreç sayısı. Bu, veri seti birden fazla dosyadan oluşuyorsa işe yarar. Çoklu işleme (multiprocessing) varsayılan olarak devre dışıdır.

    2.8.0 sürümünde eklendi

  • filters (Union[pyarrow.dataset.Expression, list[tuple], list[list[tuple]]], isteğe bağlı) — Yalnızca filtreye uyan satırları döndürür. Mümkünse, veri kaynağında bulunan bölüntü bilgisi veya iç meta verilerden (ör. Parquet istatistikleri) yararlanmak için öngörülen ifade aşağıya itilir (push down). Değilse, yüklenen RecordBatch'ler verilmelerinden önce filtrelenir.
  • fragment_scan_options (pyarrow.dataset.ParquetFragmentScanOptions, isteğe bağlı) — Parquet parçacıkları için taramaya özgü seçenekler. Bu, özellikle tamponlama ve önbellekleme yapılandırması için kullanışlıdır.

    4.2.0 sürümünde eklendi

  • on_bad_files (Literal["error", "warn", "skip"], isteğe bağlı, varsayılan olarak “error”) — Geçersiz bir dosya (okunamayan bir dosya) ile karşılaşıldığında ne yapılacağını belirtir. İzin verilen değerler şunlardır:
    • ‘error’, hatalı bir dosya karşılaşıldığında bir Exception fırlatır.
    • ‘warn’, kötü bir dosya karşılaşıldığında bir uyarı yükseltir ve o dosyayı atlar.
    • ‘skip’, karşılaşılan hatalı dosyaları uyarı veya hata yükseltmeden atlar.

    4.2.0 sürümünde eklendi

  • **kwargs (ek anahtar kelime argümanları) — ParquetConfig'e iletilecek anahtar kelime argümanları.

Parquet dosyası/dosyalarından Dataset oluşturun.

Parquet dosyalarını okuyun, verileri diskte Arrow biçiminde önbelleğe alın ve diskteki belleğe eşlenmiş Arrow verilerinden Dataset'i döndürün.

Örnek:

>>> ds = Dataset.from_parquet('path/to/dataset.parquet')

Sütunların bir alt kümesini yükleyin:

>>> ds = Dataset.from_parquet('path/to/dataset.parquet', columns=["col_0", "col_1"])

Verileri verimli bir şekilde filtreleyin, gerekirse tüm dosyaları veya satır gruplarını atlayın:

>>> filters = [("col_0", "==", 0)]
>>> ds = Dataset.from_parquet(parquet_files_list, filters=filters)

from_text

< >

( path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]]split: typing.Optional[datasets.splits.NamedSplit] = Nonefeatures: typing.Optional[datasets.features.features.Features] = Nonecache_dir: str = Nonekeep_in_memory: bool = Falsenum_proc: typing.Optional[int] = Nonekeep_linebreaks: bool = Falsesample_by: typing.Literal['line', 'paragraph', 'document'] = 'line'**kwargs )

Parametreler

  • path_or_paths (path-like veya path-like listesi) — Metin dosyası/dosyalarının yolu/yolları.
  • split (NamedSplit, isteğe bağlı) — Veri setine atanacak bölme adı.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • cache_dir (str, isteğe bağlı, varsayılan "~/.cache/huggingface/datasets") — Verilerin önbelleğe alınacağı dizin.
  • keep_in_memory (bool, varsayılan False) — Verilerin bellek içine kopyalanıp kopyalanmayacağı.
  • num_proc (int, isteğe bağlı, varsayılan olarak None) — Veri setini indirirken ve yerel olarak oluştururken kullanılacak süreç sayısı. Bu, veri seti birden fazla dosyadan oluşuyorsa işe yarar. Çoklu işleme (multiprocessing) varsayılan olarak devre dışıdır.

    2.8.0 sürümünde eklendi

  • keep_linebreaks — (bool, varsayılan False): Satır sonlarının korunup korunmayacağı.
  • sample_by (Literal["line", "paragraph", "document"], varsayılan “line”) — Verinin satır, paragraf veya belge bazında yüklenip yüklenmeyeceğini belirtir. Varsayılan olarak veri setindeki bir satır = bir satır demektir.
  • **kwargs (ek anahtar kelime argümanları) — TextConfig'e iletilecek anahtar kelime argümanları.

Metin dosyası/dosyalarından Dataset oluşturun.

Metin dosyalarını okuyun, verileri diskte Arrow biçiminde önbelleğe alın ve diskteki belleğe eşlenmiş Arrow verisinden Dataset'i döndürün.

Örnek:

>>> ds = Dataset.from_text('path/to/dataset.txt')

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] = Nonecache_dir: str = Nonekeep_in_memory: bool = False**kwargs )

Parametreler

  • sql (str veya sqlalchemy.sql.Selectable) — Çalıştırılacak SQL sorgusu veya bir tablo adı.
  • con (str veya sqlite3.Connection veya sqlalchemy.engine.Connection veya sqlalchemy.engine.Connection) — Bir veritabanı bağlantısı oluşturmak için kullanılan URI dizesi veya bir SQLite3/SQLAlchemy bağlantı nesnesi.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • cache_dir (str, isteğe bağlı, varsayılan "~/.cache/huggingface/datasets") — Verilerin önbelleğe alınacağı dizin.
  • keep_in_memory (bool, varsayılan False) — Verilerin bellek içine kopyalanıp kopyalanmayacağı.
  • **kwargs (ek anahtar kelime argümanları) — SqlConfig'ye iletilecek anahtar kelime argümanları.

SQL sorgusu veya veritabanı tablosundan Dataset oluşturun.

SQL veritabanını sorgulayın, verileri diskte Arrow biçiminde önbelleğe alın ve diskteki belleğe eşlenmiş Arrow verilerinden Dataset'i döndürün.

Örnek:

>>> # 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")

Dönen veri seti, yalnızca con bir URI dizgesi olarak belirtildiyse önbelleğe alınabilir.

align_labels_with_mapping

< >

( label2id: dictlabel_column: str )

Parametreler

  • label2id (dict) — Veri setini hizalamak için etiket adı ve kimlik eşlemesi.
  • label_column (str) — Hizalandırılacak etiketlerin sütun adı.

Veri setinin etiket kimliği ve etiket adı eşlemesini, girdi label2id eşlemesiyle eşleşecek şekilde hizalayın. Bu, bir modelin tahmin edilen etiketlerinin veri setiyle hizalı olduğundan emin olmak istediğinizde kullanışlıdır. Hizalama, küçük harfli etiket adları kullanılarak yapılır.

Örnek:

>>> # 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

< >

( dsets: listinfo: typing.Optional[datasets.info.DatasetInfo] = Nonesplit: typing.Optional[datasets.splits.NamedSplit] = Noneaxis: int = 0 )

Parametreler

  • dsets (List[datasets.Dataset] veya List[datasets.IterableDataset]) — Birleştirilecek Datasets listesi.
  • info (DatasetInfo, isteğe bağlı) — Tanım, alıntı vb. gibi veri seti bilgileri.
  • split (NamedSplit, isteğe bağlı) — Veri seti bölmesinin adı.
  • axis ({0, 1}, varsayılan olarak 0) — birleştirilecek eksen, burada 0 satırlar boyunca (dikey) ve 1 sütunlar boyunca (yatay) anlamına gelir.

    1.6.0 sürümünde eklendi

Birden fazla veri setini (kaynağı) tek bir veri setine birleştirin.

Dikey birleştirmek için (varsayılan) axis=0, yatay birleştirmek için axis=1 kullanın.

İteratif veri kümeleri için not:

  • axis=0 ise, sonuç veri setinin num_shards değeri, her bir veri setinin num_shards değerlerinin toplamıdır.
  • if axis=1, veri hizasızlığını önlemek için sonuçlanan veri setinin bir (1) parçası (shard) vardır.
  • Veri kümeleri datasets.distributed.split_dataset_by_node() ile bölündüyse, hepsinin aynı şekilde bölünmesi gerekir ve sonuçta oluşan veri kümesi bu bölünmeyi korur.

Örnek:

>>> ds3 = concatenate_datasets([ds1, ds2])

datasets.interleave_datasets

< >

( datasets: listprobabilities: typing.Optional[list[float]] = Noneseed: typing.Optional[int] = Noneinfo: typing.Optional[datasets.info.DatasetInfo] = Nonesplit: typing.Optional[datasets.splits.NamedSplit] = Nonestopping_strategy: typing.Literal['first_exhausted', 'all_exhausted', 'all_exhausted_without_replacement'] = 'first_exhausted' ) → Dataset or IterableDataset

Parametreler

  • datasets (List[Dataset] veya List[IterableDataset]) — Birleştirilecek veri kümelerinin listesi.
  • probabilities (List[float], isteğe bağlı, varsayılan None) — Belirtilirse, yeni veri seti, bu olasılıklara göre örneklerin bir kaynaktan bir kez örneklenmesiyle oluşturulur.
  • seed (int, isteğe bağlı, varsayılan None) — Her örnek için bir kaynak seçmek için kullanılan rastgele tohum.
  • info (DatasetInfo, isteğe bağlı) — Açıklama, atıf vb. gibi veri seti bilgileri.

    2.4.0 sürümünde eklendi

  • split (NamedSplit, isteğe bağlı) — Veri seti bölmesinin adı.

    2.4.0 sürümünde eklendi

  • stopping_strategy (str, varsayılan olarak first_exhausted) — şu anda üç strateji önerilmektedir: first_exhausted, all_exhausted ve all_exhausted_without_replacement. Varsayılan olarak first_exhausted alt örneklem alma (undersampling) stratejisidir, yani veri seti inşası, bir veri setindeki örnekler tükendiği anda durdurulur. Strateji all_exhausted, ise aşırı örneklem alma (oversampling) stratejisi kullanılır, yani veri seti inşası, her veri setindeki her örnek en az bir kez eklendiği anda durdurulur. Strateji all_exhausted_without_replacement ise her veri setindeki her örneğin yalnızca bir kez örneklenmesini sağlarız. Strateji all_exhausted, olduğunda, iç içe geçmiş (interleaved) veri seti boyutu çok büyük hale gelebilir:
    • olasılıklar olmadan, sonuçlanan veri seti max_length_datasets*nb_dataset örnek içerecektir.
    • belirtilen olasılıklarla, bazı veri kümelerinin ziyaret olasılığı gerçekten düşükse, sonuçlanan veri kümesi daha fazla örnek içerecektir.

Dönüş değeri

Dataset veya IterableDataset

Dönüş tipi, datasets parametresindeki girdiye bağlıdır. Girdi Dataset listesi ise Dataset, IterableDataset listesi ise IterableDataset.

Birden fazla veri setini (kaynağı) tek bir veri setinde iç içe geçirin. Yeni veri seti, örnekleri almak için kaynaklar arasında dönüşümlü olarak ilerleyerek oluşturulur.

Bu fonksiyonu Dataset nesnelerinin bir listesinde veya IterableDataset nesnelerinin bir listesinde kullanabilirsiniz.

  • probabilities None ise (varsayılan), yeni veri seti örnekleri almak için kaynaklar arasında döngüsel geçiş yapılarak oluşturulur.
  • probabilities None değilse, yeni veri seti, verilen olasılıklara göre bir kez bir örnek alacak şekilde rastgele bir kaynaktan örnekler alınarak oluşturulur.

Sonuçlanan veri seti, oversampling True olmadıkça, kaynak veri setlerinden biri örneklerini tükettiğinde sona erer; bu durumda ise sonuçlanan veri seti, tüm veri setleri en az bir kez örneklerini tükettiğinde sona erer.

İteratif veri kümeleri için not:

  • Oluşturulan veri setinin num_shards değeri, iyi bir paralellik sağlamak için her veri setinin num_shards değerinin minimumudur. Veri setlerinizden bazılarının shard sayısı çok düşükse, IterableDataset.reshard() kullanabilirsiniz.
  • Dağıtık bir kurulumda veya PyTorch DataLoader işçilerinde, durdurma stratejisi işlem başına uygulanır. Bu nedenle, shard edilmiş bir iterable veri kümesinde “first_exhausted” stratejisi, toplamda daha az örnek üretebilir (işçi başına alt veri kümesi başına en fazla 1 eksik örnek).

Örnek:

Düzenli veri kümeleri için (harita tarzı):

>>> 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

< >

( dataset: ~DatasetTyperank: intworld_size: intstrategy: typing.Literal['auto', 'shards', 'examples'] = 'auto' ) → Dataset or IterableDataset

Parametreler

  • dataset (Dataset veya IterableDataset) — Düğüm bazında bölünecek veri seti.
  • rank (int) — Mevcut düğümün rütbesi.
  • world_size (int) — Toplam düğüm sayısı.
  • strategy (str, varsayılan "auto") — İterlenebilir bir veri setinin nasıl bölüneceğini belirtir. "auto", "shards" veya "examples" değerlerinden biri olmalıdır. Harita tarzı veri setleri yalnızca "auto" değerini destekler.

Dönüş değeri

Dataset veya IterableDataset

rank sırasındaki düğümde kullanılacak veri seti.

world_size boyutundaki bir düğüm havuzunda, rank sırasındaki düğüm için bir veri seti bölün.

Harita tarzı veri kümeleri için:

Her düğüme bir veri parçası atanır, örneğin rank 0'a veri setinin ilk parçası verilir. Veri yükleme verimliliğini en üst düzeye çıkarmak için, mümkünse parçalar disk üzerindeki ardışık verilerden oluşur.

Yinelenebilir veri kümeleri için:

Bölme strategy "auto", "shards" veya "examples" olabilir:

  • "shards": shard'ler düğümler arasında eşit olarak dağıtılır
  • "examples": her düğüm, world_size içindeki örneklerden 1 tanesini saklar, diğer örnekleri atlar
  • "auto" (varsayılan): veri setinin shard sayısı world_size'in bir çarpanıysa (yani dataset.num_shards % world_size == 0 ise) "shards" kullanılır; bu en optimize seçenektir. Aksi halde "examples" kullanılır.

Dağıtık bir yapılandırma içinde iteratif veri setinizi karıştırıyorsanız, her düğümün hangi shard'ları atlaması gerektiğini bilmesi için her düğümde aynı karıştırılmış shard listesinin kullanılmasını sağlamak üzere IterableDataset.shuffle() içinde sabit bir seed değerini ayarladığınızdan emin olun.

datasets.enable_caching

< >

( )

Bir veri kümesine dönüştürmeler uygulandığında, veriler önbellek dosyalarında saklanır. Önbellekleme mekanizması, daha önce hesaplanmışsa mevcut bir önbellek dosyasının yeniden yüklenmesine olanak tanır.

Veri kümesinin yeniden yüklenmesi, önbellek dosyalarının her dönüştürme işleminden sonra güncellenen veri kümesi parmak iziyle adlandırılması nedeniyle mümkündür.

Devre dışı bırakılırsa, kütüphane veri kümelerine dönüştürme uygulamaları yaparken önbelleğe alınmış veri kümesi dosyalarını yeniden yüklemeyecektir. Daha kesin bir ifadeyle, önbellekleme devre dışı bırakılırsa:

  • cache dosyaları her zaman yeniden oluşturulur
  • cache dosyaları, oturum kapatıldığında silinen geçici bir dizine yazılır
  • cache dosyaları, veri kümesi parmak izi yerine rastgele bir hash kullanılarak adlandırılır
  • Dönüştürülmüş bir veri setini kaydetmek için save_to_disk() kullanın, aksi takdirde oturum kapatıldığında silinir
  • caching, load_dataset() işlevini etkilemez. Bir veri setini baştan oluşturmak istiyorsanız load_dataset() içinde download_mode parametresini kullanmalısınız.

datasets.disable_caching

< >

( )

Bir veri kümesine dönüştürmeler uygulandığında, veriler önbellek dosyalarında saklanır. Önbellekleme mekanizması, daha önce hesaplanmışsa mevcut bir önbellek dosyasının yeniden yüklenmesine olanak tanır.

Veri kümesinin yeniden yüklenmesi, önbellek dosyalarının her dönüştürme işleminden sonra güncellenen veri kümesi parmak iziyle adlandırılması nedeniyle mümkündür.

Devre dışı bırakılırsa, kütüphane veri kümelerine dönüştürme uygulamaları yaparken önbelleğe alınmış veri kümesi dosyalarını yeniden yüklemeyecektir. Daha kesin bir ifadeyle, önbellekleme devre dışı bırakılırsa:

  • cache dosyaları her zaman yeniden oluşturulur
  • cache dosyaları, oturum kapatıldığında silinen geçici bir dizine yazılır
  • cache dosyaları, veri kümesi parmak izi yerine rastgele bir hash kullanılarak adlandırılır
  • Dönüştürülmüş bir veri setini kaydetmek için save_to_disk() kullanın, aksi takdirde oturum kapatıldığında silinir
  • caching, load_dataset() işlevini etkilemez. Bir veri setini baştan oluşturmak istiyorsanız load_dataset() içinde download_mode parametresini kullanmalısınız.

datasets.is_caching_enabled

< >

( )

Bir veri kümesine dönüştürmeler uygulandığında, veriler önbellek dosyalarında saklanır. Önbellekleme mekanizması, daha önce hesaplanmışsa mevcut bir önbellek dosyasının yeniden yüklenmesine olanak tanır.

Veri kümesinin yeniden yüklenmesi, önbellek dosyalarının her dönüştürme işleminden sonra güncellenen veri kümesi parmak iziyle adlandırılması nedeniyle mümkündür.

Devre dışı bırakılırsa, kütüphane veri kümelerine dönüştürme uygulamaları yaparken önbelleğe alınmış veri kümesi dosyalarını yeniden yüklemeyecektir. Daha kesin bir ifadeyle, önbellekleme devre dışı bırakılırsa:

  • cache dosyaları her zaman yeniden oluşturulur
  • cache dosyaları, oturum kapatıldığında silinen geçici bir dizine yazılır
  • cache dosyaları, veri kümesi parmak izi yerine rastgele bir hash kullanılarak adlandırılır
  • Dönüştürülmüş bir veri setini kaydetmek için save_to_disk() kullanın, aksi takdirde oturum kapatıldığında silinir
  • caching, load_dataset() işlevini etkilemez. Bir veri setini baştan oluşturmak istiyorsanız load_dataset() içinde download_mode parametresini kullanmalısınız.

sınıf datasets.Column

< >

( source: typing.Union[ForwardRef('Dataset'), ForwardRef('Column')]column_name: str )

Dataset'in belirli bir sütunu için bir iterable.

Örnek:

Bir veri setinin “text” sütunundaki metinler üzerinde yineleme yapın:

for text in dataset["text"]:
    ...

İç içe sütunlarla da çalışır:

for source in dataset["metadata"]["source"]:
    ...

DatasetDict

Anahtarları bölme adları (örneğin ‘train’, ‘test’), değerleri ise Dataset nesneleri olan bir sözlük. Tüm bölümleri tek seferde işlemek için map veya filter gibi veri seti dönüştürme yöntemlerine de sahiptir.

sınıf datasets.DatasetDict

< >

( )

Veri seti dönüştürme yöntemlerini (map, filter, vb.) içeren bir sözlük (str: datasets.Dataset türünde dict)

veri

< >

( )

Her bölünmeyi destekleyen Apache Arrow tabloları.

Örnek:

>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.data

cache_files

< >

( )

Her bölünmeyi destekleyen Apache Arrow tablosunu içeren önbellek dosyaları.

Örnek:

>>> 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

< >

( )

Veri setinin her bölümündeki sütun sayısı.

Örnek:

>>> 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

< >

( )

Veri setinin her bölünmesindeki satır sayısı.

Örnek:

>>> 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

< >

( )

Veri setinin her bölüntüsündeki sütun adları.

Örnek:

>>> 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']}

şekil

< >

( )

Veri setinin her bölmesinin şekli (satır sayısı, sütun sayısı).

Örnek:

>>> 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)}

benzersiz

< >

( column: str ) → Dict[str, list]

Parametreler

  • column (str) — sütun adı (tüm sütun adlarını column_names ile listeleyin)

Dönüş değeri

Dict[str, list]

Verilen sütundaki benzersiz öğelerin sözlüğü.

Her bölme için bir sütundaki benzersiz öğelerin listesini döndürür.

Bu, düşük seviyeli arka uçta (backend) uygulanır ve bu nedenle çok hızlıdır.

Örnek:

>>> 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

< >

( )

Veri seti önbellek dizinindeki, şu anda kullanılan önbellek dosyası hariç olmak üzere tüm önbellek dosyalarını temizler. Bu komutu çalıştırırken, başka bir sürecin başka önbellek dosyalarını kullanmadığından emin olun.

Örnek:

>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.cleanup_cache_files()
{'test': 0, 'train': 0, 'validation': 0}

map

< >

( function: typing.Optional[typing.Callable] = Nonewith_indices: bool = Falsewith_rank: bool = Falsewith_split: bool = Falseinput_columns: typing.Union[str, list[str], NoneType] = Nonebatched: bool = Falsebatch_size: typing.Optional[int] = 1000drop_last_batch: bool = Falseremove_columns: typing.Union[str, list[str], NoneType] = Nonekeep_in_memory: bool = Falseload_from_cache_file: typing.Optional[bool] = Nonecache_file_names: typing.Optional[dict[str, typing.Optional[str]]] = Nonewriter_batch_size: typing.Optional[int] = 1000features: typing.Optional[datasets.features.features.Features] = Nonedisable_nullable: bool = Falsefn_kwargs: typing.Optional[dict] = Nonenum_proc: typing.Optional[int] = Nonedesc: typing.Optional[str] = Nonetry_original_type: typing.Optional[bool] = Trueon_mixed_types: typing.Optional[typing.Literal['use_json']] = None )

Parametreler

  • function (callable) — aşağıdaki imzalardan biriyle:
    • function(example: Dict[str, Any]) -> Dict[str, Any] if batched=False and with_indices=False
    • function(example: Dict[str, Any], indices: int) -> Dict[str, Any] if batched=False and with_indices=True
    • function(batch: Dict[str, list]) -> Dict[str, list] if batched=True and with_indices=False
    • function(batch: Dict[str, list], indices: list[int]) -> Dict[str, list] if batched=True and with_indices=True

    Gelişmiş kullanım için, fonksiyon ayrıca pyarrow.Table döndürebilir. Fonksiyon asenkron ise, map fonksiyonunuzu paralel olarak çalıştırır. Ayrıca fonksiyonunuz hiçbir şey döndürmüyorsa (None), map fonksiyonunuzu çalıştırır ve veri setini değiştirilmeden döndürür. Hiçbir fonksiyon sağlanmazsa, varsayılan olarak kimlik fonksiyonu kullanılır: lambda x: x.

  • with_indices (bool, varsayılan False) — function için örnek indeksleri sağlar. Bu durumda function imzasının def function(example, idx): ... olması gerektiğini unutmayın.
  • with_rank (bool, varsayılan False) — function parametresine işlem sırasını (process rank) iletir. Bu durumda function imzasının def function(example[, idx], rank): ... olması gerekir.
  • with_split (bool, varsayılan False) — function için süreç bölünmesini sağlar. Bu durumda function imzasının def function(example[, idx], split): ... olması gerekir.
  • input_columns ([Union[str, list[str]]], isteğe bağlı, varsayılan None) — function içine konumsal argümanlar olarak geçirilecek sütunlar. None ise, biçimlendirilmiş tüm sütunlara eşleyen bir sözlük tek argüman olarak geçirilir.
  • batched (bool, varsayılan False) — function işlevine örnekler birimini sağlar.
  • batch_size (int, isteğe bağlı, varsayılan 1000) — batched=True ise function'a her parti için sağlanan örnek sayısı, batch_size <= 0 veya batch_size == None ise tüm veri seti function'a tek bir parti olarak sağlanır.
  • drop_last_batch (bool, varsayılan False) — batch_size'dan küçük olan son bir partinin, işlenmek yerine atılıp atılmayacağını belirtir.
  • remove_columns ([Union[str, list[str]]], isteğe bağlı, varsayılan None) — Eşleme işlemi sırasında seçilen sütunları kaldırır. Sütunlar, örneklerin function çıktısıyla güncellenmesinden önce kaldırılır; yani function, remove_columns içindeki adlara sahip sütunlar ekliyorsa, bu sütunlar korunur.
  • keep_in_memory (bool, varsayılan False) — Veri setini önbellek dosyasına yazmak yerine bellekte tutar.
  • load_from_cache_file (Optional[bool], önbellekleme etkinse varsayılan olarak True) — function işlevinden gelen mevcut hesaplamayı depolayan bir önbellek dosyası belirlenebiliyorsa, yeniden hesaplamak yerine onu kullanın.
  • cache_file_names ([Dict[str, str]], isteğe bağlı, varsayılan None) — Önbellek dosyası için bir yol adı belirtin. Hesaplama sonuçlarını, otomatik olarak oluşturulan önbellek dosyası adı yerine depolamak için kullanılır. Veri kümesi sözlüğündeki her veri kümesi için bir cache_file_name belirtmeniz gerekir.
  • writer_batch_size (int, varsayılan 1000) — Önbellek dosyası yazıcısı için yazma işlemi başına satır sayısı. Bu değer, işleme sırasında bellek kullanımı ile işleme hızı arasında iyi bir denge sağlar. Daha yüksek bir değer, işlemenin daha az arama yapmasını sağlar; daha düşük bir değer ise map çalışırken daha az geçici bellek tüketir.
  • features ([datasets.Features], isteğe bağlı, varsayılan None) — Otomatik olarak oluşturulan yerine, önbellek dosyasını depolamak için belirli bir Features kullanın.
  • disable_nullable (bool, varsayılan False) — Tabloda null değerlere izin verilmez.
  • fn_kwargs (Dict, isteğe bağlı, varsayılan None) — function fonksiyonuna iletilecek anahtar kelime argümanları
  • num_proc (int, isteğe bağlı, varsayılan olarak None) — Çok işlemcili (multiprocessing) işlemlerde kullanılacak süreç sayısı. None veya 0 ise çok işlemcili işlem kullanılmaz ve işlem ana süreçte çalışır. 1'den büyükse, verilerin paralel olarak işlenmesi için bir veya birden fazla işçi süreci kullanılır. Not: Çok işlemcili işlemin doğru çalışması için map() fonksiyonuna geçirilen fonksiyonun picklable olması gerekir (yani, bir modülün üst seviyesinde tanımlanmış fonksiyonları, başka bir fonksiyonun veya sınıfın içinde tanımlanmış olanlara tercih edin).
    • None veya 0 ise çok işlemci kullanılmaz ve işlem ana süreçte çalışır.
    • 1'den büyükse, verileri paralel olarak işlemek için bir veya birden çok işçi süreci kullanılır. Not: Çoklu işleme (multiprocessing) doğru çalışması için map()'e geçirilen fonksiyon picklable olmalıdır (yani, bir modülün üst seviyesinde tanımlanmış fonksiyonları tercih edin, başka bir fonksiyonun veya sınıfın içinde tanımlanmış olanları değil).
  • desc (str, isteğe bağlı, varsayılan None) — Örnekler eşleştirilirken ilerleme çubuğuyla birlikte görüntülenecek anlamlı açıklama.
  • try_original_type (Optional[bool], varsayılan True) — Orijinal sütunların türlerini korumaya çalışır (ör. int32 -> int32). Her zaman yeni türler çıkarılmasını istiyorsanız False olarak ayarlayın.
  • on_mixed_types (Literal["use_json"], isteğe bağlı, varsayılan olarak None) — “use_json” değeri verilirse, karışık tipli alanlar için Json() tipi kullanılır; yani önceden tanımlanmış bir şema içermeyen, yapılandırılmamış verileri barındıran alanlar. Bu durumda karışık tipli bir alan Json() olarak ayarlanır.

    Bu, örneğin, dizeler/tam sayılar/ondalıklı sayılar karışımı listelerin veya keyfi değer türlerine sahip sözlüklerin yüklenmesine olanak tanır.

    4.7.0 sürümünde eklendi

Tablodaki tüm örneklerin (bireysel olarak veya toplu halde) üzerine bir fonksiyon uygulayın ve tabloyu güncelleyin. Fonksiyonunuz zaten var olan bir sütun döndürürse, bu sütun üzerine yazar. Dönüşüm, veri seti sözlüğündeki tüm veri setlerine uygulanır.

Fonksiyonun toplu (batch) olarak mı yoksa tekil olarak mı çalışacağı, batched parametresi ile belirtilebilir:

  • batched False ise, fonksiyon 1 örnek alır ve 1 örnek döndürmelidir. Bir örnek, bir sözlüktür, örn. {"text": "Hello there !"}.
  • batched True ve batch_size 1 ise, fonksiyon girdi olarak 1 örnekten oluşan bir batch alır ve 1 veya daha fazla örnekten oluşan bir batch döndürebilir. Bir batch bir sözlüktür, örneğin 1 örnekten oluşan bir batch {"text": ["Hello there !"]} şeklindedir.
  • True ve batch_size n > 1 ise, fonksiyon girdi olarak n örnekten oluşan bir parti alır ve n örnekten oluşan bir parti ya da herhangi bir sayıda örneğe sahip bir parti döndürebilir. Son partide n örnekten az örnek bulunabileceğini unutmayın. Bir parti bir sözlüktür, örneğin n örnekten oluşan bir parti {"text": ["Hello there !"] * n} şeklindedir.

Eğer fonksiyon asenkron ise, map fonksiyonunuzu paralel olarak çalıştırır ve en fazla bin eşzamanlı çağrı yapar. Aynı anda çalışabilecek maksimum işlem sayısını belirlemek istiyorsanız, fonksiyonunuzda asyncio.Semaphore kullanmanız önerilir.

Örnek:

>>> 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)

filtre

< >

( function: typing.Optional[typing.Callable] = Nonewith_indices: bool = Falsewith_rank: bool = Falseinput_columns: typing.Union[str, list[str], NoneType] = Nonebatched: bool = Falsebatch_size: typing.Optional[int] = 1000keep_in_memory: bool = Falseload_from_cache_file: typing.Optional[bool] = Nonecache_file_names: typing.Optional[dict[str, typing.Optional[str]]] = Nonewriter_batch_size: typing.Optional[int] = 1000fn_kwargs: typing.Optional[dict] = Nonenum_proc: typing.Optional[int] = Nonedesc: typing.Optional[str] = None )

Parametreler

  • function (Callable) — Aşağıdaki imzalardan birine sahip Callable:
    • function(example: Dict[str, Any]) -> bool if batched=False and with_indices=False and with_rank=False
    • function(example: Dict[str, Any], *extra_args) -> bool batched=False ve with_indices=True ve/veya with_rank=True ise (her biri için bir ek argüman)
    • function(batch: Dict[str, list]) -> list[bool], batched=True ve with_indices=False ve with_rank=False ise
    • batched=True ve with_indices=True ve/veya with_rank=True ise function(batch: Dict[str, list], *extra_args) -> list[bool] (her biri için bir ek argüman)

    Hiçbir fonksiyon sağlanmazsa, varsayılan olarak her zaman True dönen bir fonksiyon kullanılır: lambda x: True.

  • with_indices (bool, varsayılan False) — function için örnek indeksleri sağlar. Bu durumda function imzasının def function(example, idx[, rank]): ... olması gerektiğine dikkat edin.
  • with_rank (bool, varsayılan False) — function parametresine işlem sırasını (process rank) iletir. Bu durumda function imzasının def function(example[, idx], rank): ... olması gerekir.
  • input_columns ([Union[str, list[str]]], isteğe bağlı, varsayılan None) — function içine konumsal argümanlar olarak geçirilecek sütunlar. None ise, biçimlendirilmiş tüm sütunlara eşleyen bir sözlük tek argüman olarak geçirilir.
  • batched (bool, varsayılan False) — function işlevine örnekler birimini sağlar.
  • batch_size (int, isteğe bağlı, varsayılan 1000) — batched=True ise function'a her parti için sağlanan örnek sayısı batch_size <= 0 veya batch_size == None ise tüm veri seti, function'a tek bir parti olarak sağlanır.
  • keep_in_memory (bool, varsayılan False) — Veri setini önbellek dosyasına yazmak yerine bellekte tutar.
  • load_from_cache_file (Optional[bool], önbellekleme etkinse varsayılan olarak True) — function işlevinden gelen mevcut hesaplamayı depolayan bir önbellek dosyası belirlenebiliyorsa, yeniden hesaplamak yerine onu kullanın.
  • cache_file_names ([Dict[str, str]], isteğe bağlı, varsayılan None) — Önbellek dosyası için bir yol adı belirtin. Hesaplama sonuçlarını, otomatik olarak oluşturulan önbellek dosyası adı yerine depolamak için kullanılır. Veri kümesi sözlüğündeki her veri kümesi için bir cache_file_name belirtmeniz gerekir.
  • writer_batch_size (int, varsayılan 1000) — Önbellek dosyası yazıcısı için yazma işlemi başına satır sayısı. Bu değer, işleme sırasında bellek kullanımı ile işleme hızı arasında iyi bir denge sağlar. Daha yüksek bir değer, işlemenin daha az arama yapmasını sağlar; daha düşük bir değer ise map çalışırken daha az geçici bellek tüketir.
  • fn_kwargs (Dict, isteğe bağlı, varsayılan None) — function fonksiyonuna iletilecek anahtar kelime argümanları
  • num_proc (int, isteğe bağlı, varsayılan olarak None) — Çok işlemcili (multiprocessing) işlemlerde kullanılacak süreç sayısı. None veya 0 ise çok işlemcili işlem kullanılmaz ve işlem ana süreçte çalışır. 1'den büyükse, verilerin paralel olarak işlenmesi için bir veya birden fazla işçi süreci kullanılır. Not: Çok işlemcili işlemin doğru çalışması için map() fonksiyonuna geçirilen fonksiyonun picklable olması gerekir (yani, bir modülün üst seviyesinde tanımlanmış fonksiyonları, başka bir fonksiyonun veya sınıfın içinde tanımlanmış olanlara tercih edin).
    • None veya 0 ise çok işlemci kullanılmaz ve işlem ana süreçte çalışır.
    • 1'den büyükse, verileri paralel olarak işlemek için bir veya birden çok işçi süreci kullanılır. Not: Çoklu işleme (multiprocessing) doğru çalışması için map()'e geçirilen fonksiyon picklable olmalıdır (yani, bir modülün üst seviyesinde tanımlanmış fonksiyonları tercih edin, başka bir fonksiyonun veya sınıfın içinde tanımlanmış olanları değil).
  • desc (str, isteğe bağlı, varsayılan None) — Örnekler filtrelenirken ilerleme çubuğuyla birlikte görüntülenecek anlamlı açıklama.

Tablodaki tüm öğelere partiler halinde bir filtre fonksiyonu uygulayın ve veri setinin yalnızca filtre fonksiyonuna uygun örnekleri içerecek şekilde tabloyu güncelleyin. Dönüşüm, veri seti sözlüğündeki tüm veri setlerine uygulanır.

Örnek:

>>> 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
    })
})

sırala

< >

( column_names: typing.Union[str, collections.abc.Sequence[str]]reverse: typing.Union[bool, collections.abc.Sequence[bool]] = Falsenull_placement: str = 'at_end'keep_in_memory: bool = Falseload_from_cache_file: typing.Optional[bool] = Noneindices_cache_file_names: typing.Optional[dict[str, typing.Optional[str]]] = Nonewriter_batch_size: typing.Optional[int] = 1000 )

Parametreler

  • column_names (Union[str, Sequence[str]]) — Sıralama için sütun adı(ları).
  • reverse (Union[bool, Sequence[bool]], varsayılan False) — True ise sıralama artan yerine azalan düzende yapılır. Tek bir bool değeri verilirse, bu değer tüm sütun adlarının sıralanmasına uygulanır. Aksi takdirde, column_names ile aynı uzunlukta ve sıralamada bir bool listesi sağlanmalıdır.
  • null_placement (str, varsayılan at_end) — None değerlerini at_start veya first ise başa, at_end veya last ise sona yerleştirir
  • keep_in_memory (bool, varsayılan False) — Sıralanmış dizinleri bir önbellek dosyasına yazmak yerine bellekte tutar.
  • load_from_cache_file (Optional[bool], önbellekleme etkinse varsayılan olarak True) — Sıralı dizinleri depolayan bir önbellek dosyası belirlenebiliyorsa, yeniden hesaplamak yerine onu kullanın.
  • indices_cache_file_names ([Dict[str, str]], isteğe bağlı, varsayılan None) — Önbellek dosyası için bir yol adı belirtin. Otomatik oluşturulan önbellek dosyası adı yerine indeks eşlemesini saklamak için kullanılır. Veri kümesi sözlüğündeki her veri kümesi için bir cache_file_name belirtmeniz gerekir.
  • writer_batch_size (int, varsayılan 1000) — Önbellek dosyası yazıcısı için yazma işlemi başına satır sayısı. Daha yüksek değer daha küçük önbellek dosyaları verir, daha düşük değer daha az geçici bellek kullanır.

Tek veya birden fazla sütuna göre sıralanmış yeni bir veri seti oluşturun.

Örnek:

>>> 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]

karıştır

< >

( seeds: typing.Union[int, dict[str, typing.Optional[int]], NoneType] = Noneseed: typing.Optional[int] = Nonegenerators: typing.Optional[dict[str, numpy.random._generator.Generator]] = Nonekeep_in_memory: bool = Falseload_from_cache_file: typing.Optional[bool] = Noneindices_cache_file_names: typing.Optional[dict[str, typing.Optional[str]]] = Nonewriter_batch_size: typing.Optional[int] = 1000 )

Parametreler

  • seeds (Dict[str, int] veya int, isteğe bağlı) — generator=None ise varsayılan BitGenerator'ı başlatmak için bir tohum. None ise, taze ve öngörülemez entropi işletim sisteminden çekilir. int veya array_like[ints] geçirilirse, başlangıç BitGenerator durumunu türetmek için SeedSequence'e iletilir. Veri seti sözlüğünde veri seti başına bir seed sağlayabilirsiniz.
  • seed (int, isteğe bağlı) — generator=None ise varsayılan BitGenerator'ı başlatmak için bir tohum. seeds için bir takma ad (her ikisi de sağlanırsa bir ValueError yükseltilir).
  • generators (Dict[str, *optional*, np.random.Generator]) — Veri seti satırlarının permütasyonunu hesaplamak için kullanılacak Numpy rastgele Generator. generator=None (varsayılan) ise np.random.default_rng (NumPy'nin varsayılan BitGenerator'ı (PCG64)) kullanılır. Veri seti sözlüğündeki her veri seti için bir generator sağlamalısınız.
  • keep_in_memory (bool, varsayılan False) — Veri setini önbellek dosyasına yazmak yerine bellekte tutar.
  • load_from_cache_file (Optional[bool], önbellekleme etkinse varsayılan olarak True) — function işlevinden gelen mevcut hesaplamayı depolayan bir önbellek dosyası belirlenebiliyorsa, yeniden hesaplamak yerine onu kullanın.
  • indices_cache_file_names (Dict[str, str], isteğe bağlı) — Önbellek dosyası için bir yol adı belirtin. Otomatik oluşturulan önbellek dosyası adı yerine indeks eşlemelerini saklamak için kullanılır. Veri kümesi sözlüğündeki her veri kümesi için bir cache_file_name belirtmeniz gerekir.
  • writer_batch_size (int, varsayılan 1000) — Önbellek dosyası yazıcısı için yazma işlemi başına satır sayısı. Bu değer, işleme sırasında bellek kullanımı ile işleme hızı arasında iyi bir denge sağlar. Daha yüksek bir değer, işlemenin daha az arama yapmasını sağlar; daha düşük bir değer ise map çalışırken daha az geçici bellek tüketir.

Satırları karıştırılmış yeni bir Dataset oluşturun.

Dönüşüm, veri seti sözlüğündeki tüm veri setlerine uygulanır.

Şu anda karıştırma işlemi numpy rastgele üreteçlerini kullanır. Kullanılacak bir NumPy BitGenerator sağlayabilir veya NumPy’nin varsayılan rastgele üretecini (PCG64) başlatmak için bir tohum (seed) verebilirsiniz.

Örnek:

>>> 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

< >

( type: typing.Optional[str] = Nonecolumns: typing.Optional[list] = Noneoutput_all_columns: bool = False**format_kwargs )

Parametreler

  • type (str, isteğe bağlı) — [None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars'] içinde seçilen çıktı türlerinden biri. None, __getitem__'in python nesnelerini döndürdüğü anlamına gelir (varsayılan).
  • columns (list[str], isteğe bağlı) — Çıktıda biçimlendirilecek sütunlar. None, __getitem__'in tüm sütunları döndürdüğü anlamına gelir (varsayılan).
  • output_all_columns (bool, varsayılan olarak False) — Çıktıda biçimlendirilmemiş sütunları da (python nesneleri olarak) koru,
  • **format_kwargs (ek anahtar kelime argümanları) — np.array, torch.tensor veya tensorflow.ragged.constant gibi dönüştürme fonksiyonuna geçirilen anahtar kelime argümanları.

__getitem__ dönüş biçimini (tür ve sütunlar) ayarlayın. Biçim, veri kümesi sözlüğündeki her veri kümesi için ayarlanır.

set_format çağrısından sonra map çağrılabilir. map yeni sütunlar ekleyebileceğinden, biçimlendirilmiş sütunların listesi güncellenir. Bu durumda, bir veri setine yeni bir sütun eklemek için map uygularsanız, bu sütun biçimlendirilir:

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

Örnek:

>>> 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

< >

( )

__getitem__ dönüş biçimini Python nesnelerine ve tüm sütunlara sıfırlar. Dönüşüm, veri seti sözlüğündeki tüm veri setlerine uygulanır.

self.set_format() ile aynı

Örnek:

>>> 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

< >

( type: typing.Optional[str] = Nonecolumns: typing.Optional[list] = Noneoutput_all_columns: bool = False**format_kwargs )

Parametreler

  • type (str, isteğe bağlı) — [None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars'] içinde seçilen çıktı türlerinden biri. None, __getitem__'in python nesnelerini döndürdüğü anlamına gelir (varsayılan).
  • columns (list[str], isteğe bağlı) — Çıktıda biçimlendirilecek sütunlar. None, __getitem__'in tüm sütunları döndürdüğü anlamına gelir (varsayılan).
  • output_all_columns (bool, varsayılan olarak False) — Çıktıda biçimlendirilmemiş sütunları da (python nesneleri olarak) koru.
  • **format_kwargs (ek anahtar kelime argümanları) — np.array, torch.tensor veya tensorflow.ragged.constant gibi dönüştürme fonksiyonuna geçirilen anahtar kelime argümanları.

with ifadesinde kullanılacak. __getitem__ dönüş biçimini (tür ve sütunlar) ayarlar. Dönüşüm, veri seti sözlüğündeki tüm veri setlerine uygulanır.

with_format

< >

( type: typing.Optional[str] = Nonecolumns: typing.Optional[list] = Noneoutput_all_columns: bool = False**format_kwargs )

Parametreler

  • type (str, isteğe bağlı) — [None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars'] içinde seçilen çıktı türlerinden biri. None, __getitem__'in python nesnelerini döndürdüğü anlamına gelir (varsayılan).
  • columns (list[str], isteğe bağlı) — Çıktıda biçimlendirilecek sütunlar. None, __getitem__'in tüm sütunları döndürdüğü anlamına gelir (varsayılan).
  • output_all_columns (bool, varsayılan False) — Çıktıda biçimlendirilmemiş sütunları da (python nesneleri olarak) koru.
  • **format_kwargs (ek anahtar kelime argümanları) — np.array, torch.tensor veya tensorflow.ragged.constant gibi dönüştürme fonksiyonuna geçirilen anahtar kelime argümanları.

__getitem__ dönüş biçimini (tip ve sütunlar) ayarlayın. Veri biçimlendirme anlık olarak uygulanır. type biçimi (örneğin “numpy”), __getitem__ kullanılırken toplulukları biçimlendirmek için kullanılır. Biçim, veri kümesi sözlüğündeki her veri kümesi için ayarlanır.

Biçimlendirme için with_transform() kullanarak özel dönüşümleri kullanmak da mümkündür.

set_format()'in aksine, with_format yeni Dataset nesneleri içeren yeni bir DatasetDict nesnesi döndürür.

Örnek:

>>> 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

< >

( transform: typing.Optional[typing.Callable]columns: typing.Optional[list] = Noneoutput_all_columns: bool = False )

Parametreler

  • transform (Callable, isteğe bağlı) — Kullanıcı tanımlı biçimlendirme dönüşümü, set_format() tarafından tanımlanan biçimi değiştirir. Biçimlendirme işlevi, bir partiyi (dict olarak) girdi olarak alır ve bir parti döndüren çağrılabilir bir işlevdir. Bu işlev, __getitem__ içindeki nesneleri döndürmeden hemen önce uygulanır.
  • columns (list[str], isteğe bağlı) — Çıktıda biçimlendirilecek sütunlar. Belirtilirse, dönüştürmenin girdi partisi yalnızca bu sütunları içerir.
  • output_all_columns (bool, varsayılan olarak False) — Çıktıda biçimlendirilmemiş sütunları da (python nesneleri olarak) koru. True olarak ayarlanırsa, diğer biçimlendirilmemiş sütunlar dönüştürme çıktısıyla birlikte korunur.

Bu dönüştürme ile __getitem__ dönüş biçimini ayarlayın. __getitem__ çağrıldığında dönüştürme, toplularda anlık olarak uygulanır. Dönüştürme, veri kümesi sözlüğündeki her veri kümesi için ayarlanır

set_format() gibi, bu reset_format() kullanılarak sıfırlanabilir.

set_transform()'in aksine, with_transform yeni Dataset nesneleri içeren yeni bir DatasetDict nesnesi döndürür.

Örnek:

>>> 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

< >

( max_depth = 16 )

Her bölünmenin Apache Arrow Tablosunu düzleştirin (iç içe geçmiş özellikler düzleştirilir). Struct türüne sahip her sütun, struct alanı başına bir sütun olarak düzleştirilir. Diğer sütunlar değiştirilmeden bırakılır.

Örnek:

>>> 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
    })
})

döküm

< >

( features: Features )

Parametreler

  • features (Features) — Veri setinin dönüştürüleceği yeni özellikler. Özelliklerdeki alanların adları ve sırası, mevcut sütun adlarıyla eşleşmelidir. Veri türünün de bir türden diğerine dönüştürülebilir olması gerekir. Basit olmayan dönüşümler için, örneğin string <-> ClassLabel, veri setini güncellemek için map() kullanmalısınız.

Veri setini yeni bir özellik kümesine dönüştürün. Dönüşüm, veri seti sözlüğündeki tüm veri setlerine uygulanır.

Örnek:

>>> 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

< >

( column: strfeature )

Parametreler

  • column (str) — Sütun adı.
  • feature (Feature) — Hedef özellik.

Çözümleme için sütunu özelliğe dönüştürün.

Örnek:

>>> 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

< >

( column_names: typing.Union[str, list[str]] ) → DatasetDict

Parametreler

  • column_names (Union[str, list[str]]) — Kaldırılacak sütun(lar)ın adı.

Dönüş değeri

DatasetDict

Kaldırılacak sütunlar olmadan veri seti nesnesinin bir kopyası.

Veri setindeki her bölümden bir veya birden fazla sütunu ve bu sütun(lar)a bağlı özellikleri kaldırın

Dönüşüm, veri seti sözlüğündeki tüm bölümlere uygulanır.

map() ile remove_columns kullanarak da bir sütun kaldırabilirsiniz ancak mevcut yöntem, kalan sütunların verilerini kopyalamadığı için daha hızlıdır.

Örnek:

>>> 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

< >

( original_column_name: strnew_column_name: str )

Parametreler

  • original_column_name (str) — Yeniden adlandırılacak sütunun adı.
  • new_column_name (str) — Sütun için yeni ad.

Veri setindeki bir sütunu yeniden adlandırın ve orijinal sütuna ait özellikleri yeni sütun adının altına taşıyın. Dönüşüm, veri seti sözlüğündeki tüm veri setlerine uygulanır.

Bir sütunu remove_columns ile map() kullanarak yeniden adlandırabilirsiniz ancak mevcut yöntem:

  • orijinal özellikleri yeni sütun adı altında taşımaktan sorumludur.
  • verileri yeni bir veri setine kopyalamaz ve bu nedenle çok daha hızlıdır.

Örnek:

>>> 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

< >

( column_mapping: dict ) → DatasetDict

Parametreler

  • column_mapping (Dict[str, str]) — Yeniden adlandırılacak sütunların yeni adlarına eşlenmesi.

Dönüş değeri

DatasetDict

Sütun adları değiştirilmiş veri setinin bir kopyası.

Veri setindeki birkaç sütunu yeniden adlandırın ve orijinal sütunlarla ilişkili özellikleri yeni sütun adları altına taşıyın. Dönüşüm, veri seti sözlüğündeki tüm veri setlerine uygulanır.

Örnek:

>>> 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

< >

( column_names: typing.Union[str, list[str]] )

Parametreler

  • column_names (Union[str, list[str]]) — Tutulacak sütun(lar)ın adı.

Veri setindeki her bölümden bir veya birkaç sütun ve bu sütun(lar)a ait özellikleri seçin.

Dönüşüm, veri seti sözlüğündeki tüm bölümlere uygulanır.

Örnek:

>>> 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

< >

( column: strinclude_nulls: bool = False )

Parametreler

  • column (str) — Dönüştürülecek sütunun adı.
  • include_nulls (bool, varsayılan olarak False) — sınıf etiketlerinde null değerlerin dahil edilip edilmeyeceğini belirtir. True, ise null değerler "None" sınıf etiketi olarak kodlanır.

    1.14.2 sürümünde eklendi

Verilen sütunu ClassLabel olarak dönüştürür ve tabloları günceller.

Örnek:

>>> 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

< >

( repo_id: strconfig_name: str = 'default'set_default: typing.Optional[bool] = Nonedata_dir: typing.Optional[str] = Nonecommit_message: typing.Optional[str] = Nonecommit_description: typing.Optional[str] = Noneprivate: typing.Optional[bool] = Nonetoken: typing.Optional[str] = Nonerevision: typing.Optional[str] = Nonecreate_pr: typing.Optional[bool] = Falsemax_shard_size: typing.Union[str, int, NoneType] = Nonenum_shards: typing.Optional[dict[str, int]] = Noneembed_external_files: bool = Truenum_proc: typing.Optional[int] = None )

Parametreler

  • repo_id (str) — Aşağıdaki biçimde itme (push) yapılacak deposunun kimliği: <user>/<dataset_name> veya <org>/<dataset_name>. Ayrıca <dataset_name>, de kabul eder; bu durumda oturum açılmış kullanıcının ad alanı (namespace) varsayılan olarak kullanılır.

    Ayrıca bir varlığın içindeki bir konum da olabilir, örneğin buckets/<user_or_org>/<bucket_name>/...

  • config_name (str) — Bir veri setinin yapılandırma adı. Varsayılan olarak “default” değerini alır.
  • set_default (bool, isteğe bağlı) — Bu yapılandırmanın varsayılan olarak ayarlanıp ayarlanmayacağı. Aksi takdirde, varsayılan yapılandırma “default” adlı olanıdır.
  • data_dir (str, isteğe bağlı) — Yüklenen veri dosyalarını içerecek dizin adı. Farklıysa config_name değilse “data” olarak varsayılan değerdir.

    2.17.0 sürümünde eklendi

  • commit_message (str, isteğe bağlı) — İterilirken iletilecek mesaj. Varsayılan olarak "Upload dataset" olur.
  • commit_description (str, isteğe bağlı) — Oluşturulacak commit'in açıklaması. Ayrıca, bir PR oluşturulursa PR açıklaması da (create_pr True ise).

    2.16.0 sürümünde eklendi

  • private (bool, isteğe bağlı) — Deponun özel yapılıp yapılmayacağı. None (varsayılan) ise, organizasyonun varsayılanı özel değilse depo herkese açık olacaktır. Depo zaten mevcutsa bu değer yok sayılır.
  • token (str, isteğe bağlı) — Hugging Face Hub için isteğe bağlı bir kimlik doğrulama belirteci. Belirteç geçirilmezse, hf auth login ile oturum açılırken yerel olarak kaydedilen belirteç varsayılan olarak kullanılır. Belirteç geçirilmez ve kullanıcı oturum açmamışsa bir hata oluşturulur.
  • revision (str, isteğe bağlı) — Yüklenen dosyaların gönderileceği dal. Varsayılan olarak "main" dalıdır.

    2.15.0 sürümünde eklendi

  • create_pr (bool, isteğe bağlı, varsayılan olarak False) — Yüklenen dosyalarla bir PR oluşturulup oluşturulmayacağına veya doğrudan commit atılıp atılmayacağına karar verir.

    2.15.0 sürümünde eklendi

  • max_shard_size (int veya str, isteğe bağlı, varsayılan "500MB") — Hub'a yüklenecek veri seti parçacıklarının (shard) maksimum boyutu. Dize olarak ifade ediliyorsa, rakamların ardından birim (ör. "500MB" veya "1GB") gelmelidir.
  • num_shards (Dict[str, int], isteğe bağlı) — Yazılacak shard sayısı. Varsayılan olarak shard sayısı max_shard_size. her split için farklı bir num_shards tanımlamak için bir sözlük kullanın.

    2.8.0 sürümünde eklendi

  • embed_external_files (bool, varsayılan olarak True) — dosya baytlarının shard'lara gömülüp gömülmemesi. Özellikle, push işleminden önce şu alan türleri için şunlar yapılır:
    • Audio ve Image, yerel yol bilgilerini kaldırır ve dosya içeriğini Parquet dosyalarına gömer.
  • num_proc (int, isteğe bağlı, varsayılan olarak None) — Veri setini hazırlarken ve yüklerken kullanılacak süreç sayısı. Veri seti gömülecek çok sayıda örnek veya medya dosyasından oluşuyorsa bu parametre işe yarar. hf_xet ile çalışmak için “spawn” bağlamını kullanır; hf_xet, HF'ye hızlı yüklemeler için kullanılan rust istemcisidir. Çok işlemcili çalışma (multiprocessing) varsayılan olarak devre dışıdır.

    4.0.0 sürümünde eklendi

DatasetDict nesnesini Parquet veri seti olarak hub'a gönderir. DatasetDict, HTTP istekleri kullanılarak gönderilir ve git veya git-lfs kurulu olmasına gerek yoktur.

Her veri seti bölümü bağımsız olarak itilecektir. İtilen veri seti, orijinal bölüm adlarını koruyacaktır.

Oluşturulan Parquet dosyaları varsayılan olarak kendi kendine yeterlidir: veri setiniz Image veya Audio verisi içeriyorsa, Parquet dosyaları görüntü veya ses dosyalarınızın baytlarını saklar. Bunu, embed_external_files değerini False olarak ayarlayarak devre dışı bırakabilirsiniz.

Örnek:

>>> 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})

Bir veri setine yeni bir yapılandırma (veya alt küme) eklemek istiyorsanız (ör. veri seti birden fazla görev/sürüm/dil içeriyorsa):

>>> 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

< >

( dataset_dict_path: typing.Union[str, bytes, os.PathLike]max_shard_size: typing.Union[str, int, NoneType] = Nonenum_shards: typing.Optional[dict[str, int]] = Nonenum_proc: typing.Optional[int] = Nonestorage_options: typing.Optional[dict] = None )

Parametreler

  • dataset_dict_path (path-like) — Veri seti sözlüğünün kaydedileceği veri seti sözlüğü dizininin yolu (ör. dataset/train) veya uzak URI'si (ör. s3://my-bucket/dataset/train).
  • max_shard_size (int veya str, isteğe bağlı, varsayılan "500MB") — Dosya sistemine kaydedilecek veri kümesi parçacıklarının (shard) maksimum boyutu. Dize olarak ifade ediliyorsa, birimden önce rakamlar gelmelidir (ör. "50MB").
  • num_shards (Dict[str, int], isteğe bağlı) — Yazılacak shard sayısı. Varsayılan olarak shard sayısı max_shard_size ve num_proc. dataset sözlüğündeki her dataset için shard sayısını belirtmeniz gerekir. Her split için farklı bir num_shards tanımlamak için sözlük kullanın.

    2.8.0 sürümünde eklendi

  • num_proc (int, isteğe bağlı, varsayılan None) — Veri setini indirirken ve yerel olarak oluştururken kullanılacak süreç sayısı. Çok işlemcili (multiprocessing) varsayılan olarak devre dışıdır.

    2.8.0 sürümünde eklendi

  • storage_options (dict, isteğe bağlı) — Varsa, dosya sistemi arka ucuna iletilecek anahtar/değer çiftleri.

    2.8.0 sürümünde eklendi

Bir veri seti sözlüğünü fsspec.spec.AbstractFileSystem kullanarak dosya sistemine kaydeder.

Image, Audio ve Video verileri için:

Tüm Image(), Audio() ve Video() verileri arrow dosyalarında saklanır. Yollar veya URL'ler saklamak istiyorsanız, lütfen Value(“string”) tipini kullanın.

Örnek:

>>> 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

< >

( dataset_dict_path: typing.Union[str, bytes, os.PathLike]keep_in_memory: typing.Optional[bool] = Nonestorage_options: typing.Optional[dict] = None )

Parametreler

  • dataset_dict_path (path-like) — Veri seti sözlüğünün yükleneceği veri seti sözlüğü dizininin yolu (ör. "dataset/train") veya uzak URI'si (ör. "s3//my-bucket/dataset/train").
  • keep_in_memory (bool, varsayılan None) — Veri setinin bellek içine kopyalanıp kopyalanmayacağı. None ise, datasets.config.IN_MEMORY_MAX_SIZE sıfırdan farklı bir değere ayarlanarak açıkça etkinleştirilmedikçe veri seti bellek içine kopyalanmaz. Daha fazla ayrıntı için performansı iyileştirme bölümüne bakın.
  • storage_options (dict, isteğe bağlı) — Varsa, dosya sistemi arka ucuna iletilecek anahtar/değer çiftleri.

    2.8.0 sürümünde eklendi

Daha önce save_to_disk kullanılarak bir dosya sistemine kaydedilen bir veri setini, fsspec.spec.AbstractFileSystem kullanarak yükleyin.

Örnek:

>>> ds = load_from_disk('path/to/dataset/directory')

from_csv

< >

( path_or_paths: dictfeatures: typing.Optional[datasets.features.features.Features] = Nonecache_dir: str = Nonekeep_in_memory: bool = False**kwargs )

Parametreler

  • path_or_paths (dict of path-like) — CSV dosya(lar)ının yolu(ları).
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • cache_dir (str, isteğe bağlı, varsayılan "~/.cache/huggingface/datasets") — Verilerin önbelleğe alınacağı dizin.
  • keep_in_memory (bool, varsayılan False) — Verilerin bellek içine kopyalanıp kopyalanmayacağı.
  • **kwargs (ek anahtar kelime argümanları) — pandas.read_csv fonksiyonuna iletilecek anahtar kelime argümanları.

CSV dosyalarından DatasetDict oluşturun.

Örnek:

>>> from datasets import DatasetDict
>>> ds = DatasetDict.from_csv({'train': 'path/to/dataset.csv'})

from_json

< >

( path_or_paths: dictfeatures: typing.Optional[datasets.features.features.Features] = Nonecache_dir: str = Nonekeep_in_memory: bool = False**kwargs )

Parametreler

  • path_or_paths (path-like veya path-like listesi) — JSON Lines dosya(lar)ının yolu(ları).
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • cache_dir (str, isteğe bağlı, varsayılan "~/.cache/huggingface/datasets") — Verilerin önbelleğe alınacağı dizin.
  • keep_in_memory (bool, varsayılan False) — Verilerin bellek içine kopyalanıp kopyalanmayacağı.
  • **kwargs (ek anahtar kelime argümanları) — JsonConfig'e iletilecek anahtar kelime argümanları.

JSON Lines dosyalarından DatasetDict oluşturun.

Örnek:

>>> from datasets import DatasetDict
>>> ds = DatasetDict.from_json({'train': 'path/to/dataset.json'})

from_parquet

< >

( path_or_paths: dictfeatures: typing.Optional[datasets.features.features.Features] = Nonecache_dir: str = Nonekeep_in_memory: bool = Falsecolumns: typing.Optional[list[str]] = None**kwargs )

Parametreler

  • path_or_paths (dict of path-like) — CSV dosya(lar)ının yolu(ları).
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • cache_dir (str, isteğe bağlı, varsayılan "~/.cache/huggingface/datasets") — Verilerin önbelleğe alınacağı dizin.
  • keep_in_memory (bool, varsayılan False) — Verilerin bellek içine kopyalanıp kopyalanmayacağı.
  • columns (list[str], isteğe bağlı) — None değilse, dosyadan yalnızca bu sütunlar okunur. Bir sütun adı, iç içe geçmiş bir alanın öneki olabilir; örneğin ‘a’, ‘a.b’, ‘a.c’ ve ‘a.d.e’ alanlarını seçer.
  • **kwargs (ek anahtar kelime argümanları) — ParquetConfig'e iletilecek anahtar kelime argümanları.

Parquet dosyası/dosyalarından DatasetDict oluşturun.

Örnek:

>>> from datasets import DatasetDict
>>> ds = DatasetDict.from_parquet({'train': 'path/to/dataset/parquet'})

from_text

< >

( path_or_paths: dictfeatures: typing.Optional[datasets.features.features.Features] = Nonecache_dir: str = Nonekeep_in_memory: bool = False**kwargs )

Parametreler

  • path_or_paths (dict of path-like) — Metin dosya(lar)ının yolu(ları).
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • cache_dir (str, isteğe bağlı, varsayılan "~/.cache/huggingface/datasets") — Verilerin önbelleğe alınacağı dizin.
  • keep_in_memory (bool, varsayılan False) — Verilerin bellek içine kopyalanıp kopyalanmayacağı.
  • **kwargs (ek anahtar kelime argümanları) — TextConfig'e iletilecek anahtar kelime argümanları.

Metin dosyası/dosyalarından DatasetDict oluşturun.

Örnek:

>>> from datasets import DatasetDict
>>> ds = DatasetDict.from_text({'train': 'path/to/dataset.txt'})

IterableDataset

Alt sınıf IterableDataset, python jeneratörleri tarafından desteklenen, yinelebilir bir Dataset uygular.

sınıf datasets.IterableDataset

< >

( ex_iterable: _BaseExamplesIterableinfo: typing.Optional[datasets.info.DatasetInfo] = Nonesplit: typing.Optional[datasets.splits.NamedSplit] = Noneformatting: typing.Optional[datasets.iterable_dataset.FormattingConfig] = Nonedistributed: typing.Optional[datasets.iterable_dataset.DistributedConfig] = Nonetoken_per_repo_id: typing.Optional[dict[str, typing.Union[str, bool, NoneType]]] = None )

İterable tarafından desteklenen bir Dataset.

from_file

< >

( filename: str )

Parametreler

  • filename (str) — Veri setinin dosya adı.

Bir Arrow tablosundan dosya adında bir IterableDataset örneği oluşturun.

from_pandas

< >

( df: DataFramefeatures: typing.Optional[datasets.features.features.Features] = Noneinfo: typing.Optional[datasets.info.DatasetInfo] = Nonesplit: typing.Optional[datasets.splits.NamedSplit] = Nonepreserve_index: typing.Optional[bool] = Nonenum_shards: typing.Optional[int] = 1 )

Parametreler

  • df (pandas.DataFrame) — Veri setini içeren veri çerçevesi.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • info (DatasetInfo, isteğe bağlı) — Tanım, alıntı vb. gibi veri seti bilgileri.
  • split (NamedSplit, isteğe bağlı) — Veri seti bölmesinin adı.
  • preserve_index (bool, isteğe bağlı) — Sonuçtaki Dataset'te indeksi ek bir sütun olarak saklanıp saklanmayacağı. Varsayılan olan None, indeksi bir sütun olarak saklar; yalnızca RangeIndex durumu hariçtir, bu durum yalnızca metadata olarak saklanır. İndisin bir sütun olarak saklanmasını zorlamak için preserve_index=True kullanın.
  • num_shards (int, varsayılan 1) — İteratif veri seti oluşturulurken tanımlanacak shard sayısı. Bu, büyük veri setlerinin doğru şekilde karıştırılabilmesi için özellikle faydalıdır ve ayrıca PyTorch DataLoader ile hızlı paralel yükleme veya dağıtık kurulumlar gibi senaryoları mümkün kılar.

Bir IterableDataset oluşturmak için pandas.DataFrame'ı pyarrow.Table'a dönüştürün.

Sonuçtaki Arrow Tablosundaki sütun türleri, DataFrame'deki pandas.Series öğelerinin dtypes değerlerinden çıkarılır. Nesne olmayan Series durumlarında, NumPy dtype değeri Arrow karşılığına dönüştürülür. object durumunda, bu Series içindeki Python nesnelerine bakarak veri türünü tahmin etmemiz gerekir.

object veri türündeki Series'lerin, her zaman anlamlı bir Arrow türüne yol açacak kadar bilgi içermediğini unutmayın. Bir tür çıkarılamadığı durumlarda, örneğin DataFrame'in uzunluğu 0 olduğunda veya Series yalnızca None/nan nesneleri içerdiğinde, tür null olarak ayarlanır. Bu davranış, açık özellikler oluşturarak ve bunları bu işlevine geçirerek önlenabilir.

Önemli: from_pandas() ile oluşturulan bir veri seti bellekte tutulur. Bu durum gelecekte değişebilir, ancak bu arada bellek kullanımını azaltmak istiyorsanız veri setini diske yazıp örneğin to_parquet / from_parquet kullanarak yeniden yüklemelisiniz.

Örnek:

>>> ds = IterableDataset.from_pandas(df)

from_dict

< >

( mapping: dictfeatures: typing.Optional[datasets.features.features.Features] = Noneinfo: typing.Optional[datasets.info.DatasetInfo] = Nonesplit: typing.Optional[datasets.splits.NamedSplit] = Nonenum_shards: typing.Optional[int] = 1 )

Parametreler

  • mapping (Mapping) — Dizelerden Array'lere veya Python listelerine eşleme.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • info (DatasetInfo, isteğe bağlı) — Tanım, alıntı vb. gibi veri seti bilgileri.
  • split (NamedSplit, isteğe bağlı) — Veri seti bölmesinin adı.
  • num_shards (int, varsayılan 1) — İteratif veri seti oluşturulurken tanımlanacak shard sayısı. Bu, büyük veri setlerinin doğru şekilde karıştırılabilmesi için özellikle faydalıdır ve ayrıca PyTorch DataLoader ile hızlı paralel yükleme veya dağıtık kurulumlar gibi senaryoları mümkün kılar.

Bir IterableDataset oluşturmak için dict'yi pyarrow.Table'ye dönüştürün.

Önemli: from_dict() ile oluşturulan bir veri seti bellekte tutulur. Bu durum gelecekte değişebilir, ancak bu arada bellek kullanımını azaltmak istiyorsanız veri setini diske yazıp örneğin to_parquet / from_parquet kullanarak yeniden yüklemelisiniz.

from_list

< >

( mapping: listfeatures: typing.Optional[datasets.features.features.Features] = Noneinfo: typing.Optional[datasets.info.DatasetInfo] = Nonesplit: typing.Optional[datasets.splits.NamedSplit] = Nonenum_shards: typing.Optional[int] = 1 )

Parametreler

  • mapping (List[dict]) — Satır değerlerine giden dizelerin bir listesi.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • info (DatasetInfo, isteğe bağlı) — Açıklama, atıf vb. gibi veri seti bilgileri.
  • split (NamedSplit, isteğe bağlı) — Veri seti bölmesinin adı.
  • num_shards (int, varsayılan 1) — İteratif veri seti oluşturulurken tanımlanacak shard sayısı. Bu, büyük veri setlerinin doğru şekilde karıştırılabilmesi için özellikle faydalıdır ve ayrıca PyTorch DataLoader ile hızlı paralel yükleme veya dağıtık kurulumlar gibi senaryoları mümkün kılar.

Bir sözlük listesini pyarrow.Table'a dönüştürerek bir IterableDataset oluşturun.

features parametresine ne aktarılırsa aktarılsın, veri seti sütunlarını belirlemek için ilk girdinin anahtarlarının kullanılacağını unutmayın.

Önemli: from_list() ile oluşturulan bir veri seti bellekte tutulur. Bu durum gelecekte değişebilir, ancak bu arada bellek kullanımını azaltmak istiyorsanız veri setini diske yazıp örneğin from_parquet / to_parquet kullanarak yeniden yüklemelisiniz.

from_generator

< >

( generator: typing.Callablefeatures: typing.Optional[datasets.features.features.Features] = Nonegen_kwargs: typing.Optional[dict] = Nonesplit: NamedSplit = NamedSplit('train') )

Parametreler

  • generator (Callable) — Örnekler yields eden bir üreteç (generator) işlevi.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • gen_kwargs(dict, isteğe bağlı) — generator çağrılabilirine iletilecek anahtar kelime argümanları. gen_kwargs içine shard listesini geçirerek shard'lı bir yinelebilir veri seti tanımlayabilirsiniz. Bu, karıştırma işlemini iyileştirmek ve veri setini birden fazla işçiyle yinelemek için kullanılabilir.
  • split (NamedSplit, varsayılan olarak Split.TRAIN) — Veri setine atanacak bölme adı.

    2.21.0 sürümünde eklendi

Bir üreteçten Iterable Dataset oluşturun.

Örnek:

>>> def gen():
...     yield {"text": "Good", "label": 0}
...     yield {"text": "Bad", "label": 1}
...
>>> ds = IterableDataset.from_generator(gen)
>>> 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

< >

( column_names: typing.Union[str, list[str]] ) → IterableDataset

Parametreler

  • column_names (Union[str, List[str]]) — Kaldırılacak sütun(lar)ın adı.

Dönüş değeri

IterableDataset

Kaldırılacak sütunlar olmadan veri seti nesnesinin bir kopyası.

Veri setindeki bir veya birden fazla sütunu ve bunlara ilişkili özellikleri kaldırın. Kaldırma işlemi, veri seti üzerinde iterasyon yapılırken örnekler üzerinde anlık olarak gerçekleştirilir.

Örnek:

>>> 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

< >

( column_names: typing.Union[str, list[str]] ) → IterableDataset

Parametreler

  • column_names (Union[str, List[str]]) — Seçilecek sütun(lar)ın adı.

Dönüş değeri

IterableDataset

Seçilen sütunlara sahip veri seti nesnesinin bir kopyası.

Veri setinde bir veya birden fazla sütun ve bunlara ilişkili özellikleri seçin. Seçim, veri seti üzerinde iterasyon yapılırken örnekler üzerinde anlık olarak yapılır.

Örnek:

>>> 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

< >

( column: strfeature: 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] ) → IterableDataset

Parametreler

  • column (str) — Sütun adı.
  • feature (Feature) — Hedef özellik.

Dönüş değeri

IterableDataset

Çözümleme için sütunu özelliğe dönüştürün.

Örnek:

>>> 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')}

döküm

< >

( features: Features ) → IterableDataset

Parametreler

  • features (Features) — Veri setinin dönüştürüleceği yeni özellikler. Özelliklerdeki alan adları, mevcut sütun adlarıyla eşleşmelidir. Veri türü de bir türden diğerine dönüştürülebilir olmalıdır. Örneğin string <-> ClassLabel gibi basit olmayan dönüşümler için Dataset'i güncellemek üzere map() kullanmalısınız.

Dönüş değeri

IterableDataset

Dönüştürülmüş özelliklere sahip veri setinin bir kopyası.

Veri setini yeni bir özellik kümesine dönüştürün.

Örnek:

>>> 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')}

decode

< >

( enable: bool = Truenum_threads: typing.Optional[int] = None ) → IterableDataset

Parametreler

  • enable (bool, varsayılan True) — Özellik çözümlemesini etkinleştirir veya devre dışı bırakır.
  • num_threads (int, isteğe bağlı, varsayılan None) — Özelliklerin çözümlenmesi için çoklu iş parçacığı kullanımını etkinleştirir. Not: load_dataset(), HF üzerinde çözümlenebilir özelliklere sahip bir veri seti akışlandırıldığında varsayılan olarak zaten birkaç iş parçacığı kullanır. Varsayılan olarak, en az bir özelliğin çözümlenme gerektirmesi durumunda num_threads 32 olarak, aksi takdirde 0 olarak ayarlanır.

Dönüş değeri

IterableDataset

Dönüştürülmüş özelliklere sahip veri setinin bir kopyası.

Ses, görüntü ve video için veri seti özelliklerinin çözümlenmesini etkinleştirin veya devre dışı bırakın.

Etkinleştirildiğinde (varsayılan), medya türleri çözümlenir:

  • ses -> “array”, “sampling_rate” ve “path” içeren sözlük
  • image -> PIL.Image
  • video -> torchcodec.decoders.VideoDecoder

Çok iş parçacıklılığı num_threads ile etkinleştirilebilir: bu durumda her medya dosyası bir iş parçacığında okunur ve çözümlenir, böylece ardışık örneklerin ağ gidiş-dönüşleri üst üste gelir. Bu, uzaktaki veri akışını hızlandırmak için özellikle faydalıdır ve load_dataset(), çözümlenebilir özelliklere sahip uzak bir veri seti akışlandırıldığında bunu zaten varsayılan olarak etkinleştirir (bkz. HF_DATASETS_DECODE_NUM_THREADS). Yerel diskten okunan veri setleri, hızlı disklerdeki yerel veriler için çok iş parçacıklılığın ana iş parçacığında çözümlenmeye kıyasla daha yavaş olabileceğinden num_threads=0 ile akışlandırılır. Örnekler önceden çözümlendiğinden, uçuştaki her iş parçacığı bellekte bir örnek tutabilir: daha az bellek kullanmak için num_threads değerini düşürün.

Çözümlemeyi devre dışı bırakmak, medya dosyalarının yollarını veya baytlarını içeriklerini gerçekten çözümlemeden işlemek istediğinizde faydalıdır. Çözümlemeyi devre dışı bırakmak için .decode(False) kullanabilirsiniz; bu, tüm Audio, Image ve Video türleri decode=False olarak ayarlanarak .cast() veya .cast_column() çağrılmasıyla eşdeğerdir.

Örnekler:

Çözümlemeyi devre dışı bırakın:

>>> 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.'
}

Çok iş parçacıklılığı ile akışı hızlandırın:

>>> 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__

< >

( )

iter

< >

( batch_size: intdrop_last_batch: bool = False )

Parametreler

  • batch_size (int) — üretilen her bir partinin boyutu.
  • drop_last_batch (bool, varsayılan False) — batch_size'dan küçük olan son bir partinin atılıp atılmayacağı

batch_size boyutundaki partileri sırayla işleyin.

map

< >

( function: typing.Optional[typing.Callable] = Nonewith_indices: bool = Falseinput_columns: typing.Union[str, list[str], NoneType] = Nonebatched: bool = Falsebatch_size: typing.Optional[int] = 1000drop_last_batch: bool = Falseremove_columns: typing.Union[str, list[str], NoneType] = Nonefeatures: typing.Optional[datasets.features.features.Features] = Nonefn_kwargs: typing.Optional[dict] = None )

Parametreler

  • function (Callable, isteğe bağlı, varsayılan olarak None) — Veri setinde gezinirken örneklerin üzerine anlık olarak uygulanan işlev. Aşağıdaki imzalardan birine sahip olmalıdır:
    • function(example: Dict[str, Any]) -> Dict[str, Any] if batched=False and with_indices=False
    • function(example: Dict[str, Any], idx: int) -> Dict[str, Any] if batched=False and with_indices=True
    • function(batch: Dict[str, List]) -> Dict[str, List] if batched=True and with_indices=False
    • function(batch: Dict[str, List], indices: List[int]) -> Dict[str, List] if batched=True and with_indices=True

    Gelişmiş kullanım için, fonksiyon ayrıca pyarrow.Table döndürebilir. Fonksiyon asenkron ise, map fonksiyonunuzu paralel olarak çalıştırır. Ayrıca fonksiyonunuz hiçbir şey döndürmüyorsa (None), map fonksiyonunuzu çalıştırır ve veri setini değiştirilmeden döndürür. Hiçbir fonksiyon sağlanmazsa, varsayılan olarak kimlik fonksiyonu kullanılır: lambda x: x.

  • with_indices (bool, varsayılan False) — function için örnek indeksleri sağlar. Bu durumda function imzasının def function(example, idx[, rank]): ... olması gerektiğine dikkat edin.
  • input_columns (Optional[Union[str, List[str]]], varsayılan None) — function içine konumsal argümanlar olarak geçirilecek sütunlar. None ise, biçimlendirilmiş tüm sütunlara eşleyen bir sözlük tek argüman olarak geçirilir.
  • batched (bool, varsayılan False) — function işlevine örnekler birimini sağlar.
  • batch_size (int, isteğe bağlı, varsayılan 1000) — batched=True ise function'a her parti için sağlanan örnek sayısı. batch_size <= 0 veya batch_size == None ise tüm veri seti, function'a tek bir parti olarak sağlanır.
  • drop_last_batch (bool, varsayılan False) — batch_size'dan küçük olan son bir partinin, işlenmek yerine atılıp atılmayacağını belirtir.
  • remove_columns ([List[str]], isteğe bağlı, varsayılan None) — Eşleme yapılırken seçilen sütunları kaldırır. Sütunlar, örnekler function çıktısıyla güncellenmeden önce kaldırılır; yani function, remove_columns içindeki adlara sahip sütunlar ekliyorsa bu sütunlar korunur.
  • features ([Features], isteğe bağlı, varsayılan None) — Sonuçlanan veri setinin özellik türleri.
  • fn_kwargs (Dict, isteğe bağlı, varsayılan None) — function fonksiyonuna iletilecek anahtar kelime argümanları.

İteratif veri setindeki tüm örneklerin (bireysel olarak veya toplu halde) üzerine bir fonksiyon uygulayın ve onları güncelleyin. Fonksiyonunuz zaten var olan bir sütun döndürürse, bu sütun üzerine yazar. Fonksiyon, veri seti üzerinde iterasyon yapılırken örneklerin üzerine anlık olarak uygulanır.

Fonksiyonun toplu (batch) olarak mı yoksa tekil olarak mı çalışacağı, batched parametresi ile belirtilebilir:

  • batched False ise, fonksiyon 1 örnek alır ve 1 örnek döndürmelidir. Bir örnek, bir sözlüktür, örn. {"text": "Hello there !"}.
  • batched True ve batch_size 1 ise, fonksiyon girdi olarak 1 örnekten oluşan bir batch alır ve 1 veya daha fazla örnekten oluşan bir batch döndürebilir. Bir batch bir sözlüktür, örneğin 1 örnekten oluşan bir batch {“text”: [“Hello there !”]} şeklindedir.
  • True ve batch_size n > 1 ise, fonksiyon girdi olarak n örnekten oluşan bir batch alır ve n örnekten oluşan bir batch veya herhangi bir sayıda örnek içeren bir batch döndürebilir. Son batch'in n örnekten az örnek içerebileceğine dikkat edin. Bir batch bir sözlüktür, örneğin n örnekten oluşan bir batch {"text": ["Hello there !"] * n} şeklindedir.

Eğer fonksiyon asenkron ise, map fonksiyonunuzu en fazla bin eşzamanlı çağrı ile paralel olarak çalıştırır. Aynı anda çalışabilecek maksimum işlem sayısını belirlemek istiyorsanız, fonksiyonunuzda asyncio.Semaphore kullanmanız önerilir.

Örnek:

>>> 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

< >

( original_column_name: strnew_column_name: str ) → IterableDataset

Parametreler

  • original_column_name (str) — Yeniden adlandırılacak sütunun adı.
  • new_column_name (str) — Sütun için yeni ad.

Dönüş değeri

IterableDataset

Yeniden adlandırılmış bir sütuna sahip veri setinin kopyası.

Veri setindeki bir sütunu yeniden adlandırın ve orijinal sütuna ait özellikleri yeni sütun adının altına taşıyın.

Örnek:

>>> 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 .'}

filtre

< >

( function: typing.Optional[typing.Callable] = Nonewith_indices = Falseinput_columns: typing.Union[str, list[str], NoneType] = Nonebatched: bool = Falsebatch_size: typing.Optional[int] = 1000fn_kwargs: typing.Optional[dict] = None )

Parametreler

  • function (Callable) — Aşağıdaki imzalardan birine sahip Callable:
    • function(example: Dict[str, Any]) -> bool if with_indices=False, batched=False
    • function(example: Dict[str, Any], indices: int) -> bool if with_indices=True, batched=False
    • with_indices=False, batched=True ise function(example: Dict[str, List]) -> List[bool]
    • function(example: Dict[str, List], indices: List[int]) -> List[bool] if with_indices=True, batched=True

    Eğer fonksiyon asenkron ise, filter fonksiyonunuzu paralel olarak çalıştırır. Hiçbir fonksiyon sağlanmazsa, her zaman True dönen varsayılan fonksiyon kullanılır: lambda x: True.

  • with_indices (bool, varsayılan False) — function için örnek indeksleri sağlar. Bu durumda function imzasının def function(example, idx): ... olması gerektiğini unutmayın.
  • input_columns (str veya List[str], isteğe bağlı) — function içine konumsal argümanlar olarak geçirilecek sütunlar. None ise, biçimlendirilmiş tüm sütunlara eşleyen bir sözlük tek argüman olarak geçirilir.
  • batched (bool, varsayılan False) — function işlevine örnekler birimini sağlar.
  • batch_size (int, isteğe bağlı, varsayılan 1000) — batched=True ise function'a sağlanan parti başına örnek sayısı.
  • fn_kwargs (Dict, isteğe bağlı, varsayılan None) — function fonksiyonuna iletilecek anahtar kelime argümanları.

Filtreleme işlevini tüm öğelere uygulayın; böylece veri seti yalnızca filtreleme işlevine uygun örnekleri içerir. Filtreleme, veri seti üzerinde gezinirken anlık olarak yapılır.

Eğer fonksiyon asenkron ise, filter fonksiyonunuzu paralel olarak çalıştırır; bu, en fazla bin eşzamanlı çağrı (yapılandırılabilir) ile sınırlıdır. Aynı anda çalışabilecek maksimum işlem sayısını belirlemek istiyorsanız, fonksiyonunuzda asyncio.Semaphore kullanmanız önerilir.

Örnek:

>>> 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 .'}]

karıştır

< >

( seed = Nonegenerator: typing.Optional[numpy.random._generator.Generator] = Nonebuffer_size: int = 1000max_buffer_input_shards: int = 10 )

Parametreler

  • seed (int, isteğe bağlı, varsayılan None) — Veri setini karıştırmak için kullanılacak rastgele tohum. Karıştırma tamponundan örnek almak ve veri parçalarını karıştırmak için kullanılır.
  • generator (numpy.random.Generator, isteğe bağlı) — Veri seti satırlarının permütasyonunu hesaplamak için kullanılacak Numpy rastgele Generator. generator=None (varsayılan) ise, np.random.default_rng (NumPy'nin varsayılan BitGenerator'ı (PCG64)) kullanılır.
  • buffer_size (int, varsayılan 1000) — Tampon boyutu.
  • max_buffer_input_shards (int, varsayılan 10) — Bir seferde tamponu beslemek için kullanılacak maksimum shard sayısı.

Bu veri setinin öğelerini rastgele karıştırır.

Bu veri seti, buffer_size öğelik bir tamponu doldurur, ardından bu tampondan rastgele öğeler örnekler ve seçilen öğeleri yeni öğelerle değiştirir. Mükemmel karıştırma için, veri setinin tam boyutuna eşit veya ondan büyük bir tampon boyutu gereklidir.

Örneğin, veri setiniz 10.000 öğe içeriyor ancak buffer_size 1000 olarak ayarlanmışsa, shuffle başlangıçta tampondaki yalnızca ilk 1000 öğeden rastgele bir öğe seçer. Bir öğe seçildiğinde, tampondaki yeri bir sonraki (yani 1.001. öğe) öğeyle değiştirilir ve 1000 öğelik tampon korunur.

Veri seti birkaç parçadan (shard) oluşuyorsa, tamponu (buffer) bir seferde en fazla max_buffer_input_shards parça kullanarak doldurur ve parçaların sırasını da karıştırır. Bu, karıştırma (shuffling) kalitesini büyük ölçüde artırır. Girdi parçaları, paralel veri yükleme için kullanılabilir parça sayısını koruyarak her düğümde (node) ve işçide (worker) iç içe geçirilir (interleaved).

Ancak sıra skip() veya take() kullanılarak sabitlenmişse, shard'ların sırası değiştirilmez ve tamponu doldurmak için bir seferde yalnızca bir shard kullanılır.

Örnek:

>>> 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}]

batch

< >

( batch_size: typing.Optional[int] = Noneby_column: typing.Union[str, list[str], NoneType] = Nonedrop_last_batch: bool = False )

Parametreler

  • batch_size (int, isteğe bağlı) — Her parti içindeki örnek sayısı.
  • by_column (Union[str, list[str], isteğe bağlı — Örnekleri birlikte gruplamak için kullanılan sütun. Bu sütun için aynı değere sahip ardışık örnekler aynı batch içinde gruplanır. Birden fazla sütuna göre batch oluşturmak istiyorsanız bu, sütunların bir listesi de olabilir. Sütuna göre batch oluşturulduğunda, batch_size yalnızca bir araya getirilecek veya birikim sırasında dilimlenecek batch'lerin boyutunu kontrol etmek için kullanılır.

    4.9.0 sürümünde eklendi

  • drop_last_batch (bool, varsayılan False) — Son eksik partinin atılıp atılmayacağı.

Veri setindeki örnekleri toplu işlere (batch) ayırın.

Örnek:

Sabit parti boyutu:

>>> ds = load_dataset("some_dataset", streaming=True, split="train")
>>> batched_ds = ds.batch(batch_size=32)

“my_column” değeri aynı olan ardışık örneklerin toplu işlemleri:

>>> ds = load_dataset("some_dataset", streaming=True, split="train")
>>> batched_ds = ds.batch(by_column="my_column")

geç

< >

( n: int )

Parametreler

  • n (int) — Atlanacak öğe sayısı.

İlk n öğeyi atlayan yeni bir IterableDataset oluşturun.

Örnek:

>>> 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 .'}]

al

< >

( n: int )

Parametreler

  • n (int) — Alınacak öğe sayısı.

Sadece ilk n öğeye sahip yeni bir IterableDataset oluşturun.

Örnek:

>>> 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 .'}]

parça

< >

( num_shards: intindex: intcontiguous: bool = True )

Parametreler

  • num_shards (int) — Veri setinin kaç parçaya bölüneceği.
  • index (int) — Seçilecek ve döndürülecek shard.
  • contiguous — (bool, varsayılan True): Parçalar için ardışık indeks bloklarının seçilip seçilmeyeceği.

Veri setini num_shards parçaya böldükten sonra index-inci parçayı döndürür.

Bu işlem deterministik olarak parçalar. dataset.shard(n, i) veri setini ardışık parçalara böler, böylece işlemden sonra kolayca birleştirilebilir. dataset.num_shards % n == l ise ilk l veri setinin her biri (dataset.num_shards // n) + 1 parça içerirken, kalan veri setleri (dataset.num_shards // n) parça içerir. datasets.concatenate_datasets([dset.shard(n, i) for i in range(n)]) orijinal veri setiyle aynı sıraya sahip bir veri seti döndürür. Özellikle, dataset.shard(dataset.num_shards, i) 1 parçalı bir veri seti döndürür.

Not: dataset.num_shards veri kümesindeki shard sayısına eşit veya daha küçük olmalıdır.

Öte yandan, dataset.shard(n, i, contiguous=False), dizinin indeksinin n = i moduna eşit olan tüm parçalarını içerir.

Rastgeleleştirme operatörlerinden (örneğin shuffle) herhangi birini kullanmadan önce parçalamayı (sharding) yapmayı unutmayın. Parçalama operatörünün veri seti hattının başında kullanılması en iyisidir.

Örnek:

>>> 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
})

reshard

< >

( )

Mümkünse veri setini yeniden parçala, yani mevcut parçaları daha fazla parçaya böl. Bu, parça sayısını artırır ve sonuçlanan veri setinde num_shards >= previous_num_shards olur. Hiçbir parça daha fazla bölünemiyorsa eşitlik durumu oluşabilir.

Resharding mekanizması veri seti dosya biçimine bağlıdır:

  • Parquet: dosya başına değil, satır grubu başına shard
  • Vortex: dosya başına değil, ardışık parçaların aralığı başına shard (her biri yaklaşık 64MB dosya verisi)
  • Diğer: henüz uygulanmadı (katkılar memnuniyetle karşılanır!)

Rastgeleleştirme operatörlerinden (örneğin shuffle) herhangi birini kullanmadan önce yeniden parçalamak/parçalamak (reshard/shard) yapmanızdan emin olun. Parçalama operatörünün veri seti hattının başında kullanılması en iyisidir.

Örnek:

>>> 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
})

tekrar

< >

( num_times: typing.Optional[int] )

Parametreler

  • num_times (int) veya (None) — Veri setinin kaç kez tekrarlanacağı. None ise veri seti sonsuza kadar tekrarlanır.

Altta yatan veri setini num_times kez tekrar eden yeni bir IterableDataset oluşturun.

Boş bir girdi, num_times None olsa bile işlemi sonlandırır.

N.B. repeat sonrasında shuffle çağrılmasının etkisi, tampon boyutuna büyük ölçüde bağlıdır. buffer_size 1 olduğunda, karıştırma yapılsa bile aynı yinelemede asla yinelenen veri görülmez: ds.repeat(n).shuffle(seed=42, buffer_size=1), ds.shuffle(seed=42, buffer_size=1).repeat(n) ile eşdeğerdir ve yalnızca her yineleme içindeki shard sıralarını karıştırır. Tampon boyutu >= (veri setindeki örnek sayısı * num_times) olduğunda, yinelenen verinin tam olarak karıştırılması sağlanır, yani yinelenen veriler aynı yinelemede gözlemlenebilir.

Örnek:

>>> 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

< >

( path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO]batch_size: typing.Optional[int] = Nonestorage_options: typing.Optional[dict] = None**to_csv_kwargs ) → int

Parametreler

  • path_or_buf (PathLike veya FileOrBuffer) — Bir dosya yolu (ör. file.csv), uzak bir URI (ör. hf://datasets/username/my_dataset_name/data.csv) veya veri setinin belirtilen formatta kaydedileceği bir BinaryIO.
  • batch_size (int, isteğe bağlı) — Belleğe yüklenip tek seferde yazılacak olan batch boyutu. Varsayılan değer datasets.config.DEFAULT_MAX_BATCH_SIZE'dir.
  • storage_options (dict, isteğe bağlı) — Varsa, dosya sistemi arka ucuna iletilecek anahtar/değer çiftleri.
  • **to_csv_kwargs (ek anahtar kelime argümanları) — pandas'in pandas.DataFrame.to_csv metoduna iletilecek parametreler. index parametresi belirtilmediyse varsayılan olarak False değerini alır. Dizin bilgisini yazdırmak istiyorsanız index=True parametresini iletin ve ayrıca index_label parametresini geçirerek dizin sütunu için bir ad belirleyin.

Dönüş değeri

int

Yazılan karakter veya bayt sayısı.

Veri setini csv olarak dışa aktarır.

Bu, yazmadan önce veri setini üzerinde iterasyon yaparak tamamen belleğe yükler.

Örnek:

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

to_pandas

< >

( batch_size: typing.Optional[int] = Nonebatched: bool = False )

Parametreler

  • batch_size (int, isteğe bağlı) — batched True ise partilerin boyutu (satır sayısı). Varsayılan değer datasets.config.DEFAULT_MAX_BATCH_SIZE'dir.
  • batched (bool) — Veri setini batch_size satırlık partiler halinde üreten bir üretici döndürmesi için True olarak ayarlayın. Varsayılan değer False'tir (tüm veri setlerini bir kez döndürür).

Veri setini pandas.DataFrame olarak döndürür. Büyük veri setleri için bir üreteç de döndürebilir.

Örnek:

>>> ds.to_pandas()

to_dict

< >

( batch_size: typing.Optional[int] = Nonebatched: bool = False )

Parametreler

  • batch_size (int, isteğe bağlı) — batched True ise partilerin boyutu (satır sayısı). Varsayılan değer datasets.config.DEFAULT_MAX_BATCH_SIZE'dir.

Veri setini bir Python sözlüğü olarak döndürür. Büyük veri setleri için bir üreteç de döndürebilir.

Örnek:

>>> ds.to_dict()

to_json

< >

( path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO]batch_size: typing.Optional[int] = Nonestorage_options: typing.Optional[dict] = None**to_json_kwargs ) → int

Parametreler

  • path_or_buf (PathLike veya FileOrBuffer) — Bir dosya yolu (ör. file.json), uzak bir URI (ör. hf://datasets/username/my_dataset_name/data.json) veya veri setinin belirtilen formatta kaydedileceği bir BinaryIO.
  • batch_size (int, isteğe bağlı) — Belleğe yüklenip tek seferde yazılacak olan batch boyutu. Varsayılan değer datasets.config.DEFAULT_MAX_BATCH_SIZE'dir.
  • storage_options (dict, isteğe bağlı) — Varsa, dosya sistemi arka ucuna iletilecek anahtar/değer çiftleri.
  • **to_json_kwargs (ek anahtar kelime argümanları) — pandas'in pandas.DataFrame.to_json metoduna iletilecek parametreler. Varsayılan argümanlar lines=True ve orient="records". The parameter indexdefaults toFalseiforientis“split”or“table”. If you would like to write the index, pass index=True`.

Dönüş değeri

int

Yazılan karakter veya bayt sayısı.

Veri setini JSON Lines veya JSON olarak dışa aktarın.

Bu, yazmadan önce veri setini üzerinde iterasyon yaparak tamamen belleğe yükler.

Varsayılan çıktı biçimi JSON Lines'tır. JSON olarak dışa aktarmak için lines=False argümanını ve istenen orient değerini geçirin.

Örnek:

>>> ds.to_json("path/to/dataset/directory/filename.jsonl")
>>> 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

< >

( path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO]batch_size: typing.Optional[int] = Nonestorage_options: typing.Optional[dict] = None**parquet_writer_kwargs ) → int

Parametreler

  • path_or_buf (PathLike veya FileOrBuffer) — Bir dosya yolu (ör. file.parquet), uzak bir URI (ör. hf://datasets/username/my_dataset_name/data.parquet) veya veri setinin belirtilen formatta kaydedileceği bir BinaryIO.
  • batch_size (int, isteğe bağlı) — Belleğe yüklenip tek seferde yazılacak olan batch boyutu. Varsayılan değer datasets.config.DEFAULT_MAX_BATCH_SIZE'dir.
  • storage_options (dict, isteğe bağlı) — Varsa, dosya sistemi arka ucuna iletilecek anahtar/değer çiftleri.

    2.19.0 sürümünde eklendi

  • **parquet_writer_kwargs (ek anahtar kelime argümanları) — PyArrow'ın pyarrow.parquet.ParquetWriter sınıfına iletilecek parametreler.

Dönüş değeri

int

Yazılan karakter veya bayt sayısı.

Veri setini parquet olarak dışa aktarır

Örnek:

>>> ds.to_parquet("path/to/dataset/directory")
>>> 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

< >

( name: strcon: typing.Union[str, ForwardRef('sqlalchemy.engine.Connection'), ForwardRef('sqlalchemy.engine.Engine'), ForwardRef('sqlite3.Connection')]batch_size: typing.Optional[int] = None**sql_writer_kwargs ) → int

Parametreler

  • name (str) — SQL tablosunun adı.
  • con (str veya sqlite3.Connection veya sqlalchemy.engine.Connection veya sqlalchemy.engine.Connection) — Bir veritabanına yazmak için kullanılan URI dizesi veya SQLite3/SQLAlchemy bağlantı nesnesi.
  • batch_size (int, isteğe bağlı) — Belleğe yüklenip tek seferde yazılacak olan batch boyutu. Varsayılan değer datasets.config.DEFAULT_MAX_BATCH_SIZE'dir.
  • **sql_writer_kwargs (ek anahtar kelime argümanları) — pandas'in pandas.DataFrame.to_sql metoduna iletilecek parametreler. index parametresi belirtilmediyse varsayılan olarak False değerini alır. Endeksi yazdırmak istiyorsanız index=True değerini iletin ve ayrıca index_label parametresini geçirerek endeks sütunu için bir ad belirleyin.

Dönüş değeri

int

Yazılan kayıt sayısı.

Veri setini bir SQL veritabanına dışa aktarır.

Örnek:

>>> # 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

< >

( repo_id: strconfig_name: str = 'default'set_default: typing.Optional[bool] = Nonesplit: typing.Optional[str] = Nonedata_dir: typing.Optional[str] = Nonecommit_message: typing.Optional[str] = Nonecommit_description: typing.Optional[str] = Noneprivate: typing.Optional[bool] = Nonetoken: typing.Optional[str] = Nonerevision: typing.Optional[str] = Nonecreate_pr: typing.Optional[bool] = Falsemax_shard_size: typing.Union[str, int, NoneType] = Nonenum_shards: typing.Optional[int] = Noneembed_external_files: bool = Truenum_proc: typing.Optional[int] = None )

Parametreler

  • repo_id (str) — Aşağıdaki biçimde itme (push) yapılacak deposunun kimliği: <user>/<dataset_name> veya <org>/<dataset_name>. Ayrıca <dataset_name>, de kabul eder; bu durumda oturum açılmış kullanıcının ad alanı (namespace) varsayılan olarak kullanılır.

    Ayrıca bir varlığın içindeki bir konum da olabilir, örneğin buckets/<user_or_org>/<bucket_name>/...

  • config_name (str, varsayılan “default”) — Bir veri setinin yapılandırma adı (veya alt kümesi). Varsayılan olarak “default” değerini alır.
  • set_default (bool, isteğe bağlı) — Bu yapılandırmanın varsayılan olarak ayarlanıp ayarlanmayacağı. Aksi takdirde, varsayılan yapılandırma “default” adlı olanıdır.
  • split (str, isteğe bağlı) — Bu veri setine verilecek bölünmenin adı. Varsayılan olarak self.split değerini kullanır.
  • data_dir (str, isteğe bağlı) — Yüklenen veri dosyalarını içerecek dizin adı. “default”ten farklıysa varsayılan olarak config_name, aksi halde “data” kullanılır.
  • commit_message (str, isteğe bağlı) — İterilirken iletilecek mesaj. Varsayılan olarak "Upload dataset" olur.
  • commit_description (str, isteğe bağlı) — Oluşturulacak commit'in açıklaması. Ayrıca, bir PR oluşturulursa (create_pr True ise) PR açıklaması.
  • private (bool, isteğe bağlı) — Deponun özel yapılıp yapılmayacağı. None (varsayılan) ise, organizasyonun varsayılanı özel değilse depo herkese açık olacaktır. Depo zaten mevcutsa bu değer yok sayılır.
  • token (str, isteğe bağlı) — Hugging Face Hub için isteğe bağlı bir kimlik doğrulama belirteci. Belirteç geçirilmezse, hf auth login ile oturum açılırken yerel olarak kaydedilen belirteç varsayılan olarak kullanılır. Belirteç geçirilmez ve kullanıcı oturum açmamışsa bir hata oluşturulur.
  • revision (str, isteğe bağlı) — Yüklenen dosyaların itileceği dal. Varsayılan olarak "main" dalıdır.
  • create_pr (bool, isteğe bağlı, varsayılan False) — Yüklenen dosyalarla bir PR oluşturulup oluşturulmayacağı veya doğrudan commit atılıp atılmayacağı.
  • max_shard_size (int veya str, isteğe bağlı) — Hub'a yüklenecek veri seti parçacıklarının isteğe bağlı maksimum boyutu. Bir dize olarak ifade ediliyorsa, birimden (ör. "5MB") önce rakamlar içermelidir. Verilmezse, parçacık sayısı bu veri setinin .num_shards değerine ayarlanır.
  • num_shards (int, isteğe bağlı) — Yazılacak shard sayısı. max_shard_size sağlanıp num_shards sağlanmazsa, shard sayısı max_shard_size değerinden tahmin edilir. Bu veri setinin .num_shards değerinden büyük olabilir: bu durumda her giriş shard'ı, örnekleri yuvarlak-robin (round-robin) yöntemiyle birden fazla çıktı shard'ına yazarak dağıtılır.
  • embed_external_files (bool, varsayılan olarak True) — Dosya baytlarının shard'lara gömülüp gömülmemesi. Özellikle, push işleminden önce şu alan türleri için şunları yapar:
    • Ses ve Görsel: yerel yol bilgilerini kaldırın ve dosya içeriğini Parquet dosyalarına gömün.
  • num_proc (int, isteğe bağlı, varsayılan None) — Veri setini hazırlarken ve yüklerken kullanılacak süreç sayısı. Veri seti çok sayıda örnek ve dönüşümden oluşuyorsa bu parametre işe yarar. HF'ye hızlı yükleme için rust istemcisi olan hf_xet ile çalışmak için “spawn” bağlamını kullanır. Çok işlemcili çalışma (multiprocessing) varsayılan olarak devre dışıdır.

Veri setini Parquet veri seti olarak hub'a gönderir. Veri seti HTTP istekleri kullanılarak gönderilir ve git veya git-lfs kurulu olmasına gerek yoktur.

Oluşturulan Parquet dosyaları varsayılan olarak kendi kendine yeterlidir. Veri setiniz Image, Audio veya Video verisi içeriyorsa, Parquet dosyaları görüntü veya ses dosyalarınızın baytlarını saklar. Bunu, embed_external_files değerini False olarak ayarlayarak devre dışı bırakabilirsiniz.

Örnek:

>>> 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)

Veri setiniz birden fazla bölüme (ör. eğitim/doğrulama/test) sahipse:

>>> 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"]

Bir veri setine yeni bir yapılandırma (veya alt küme) eklemek istiyorsanız (ör. veri seti birden fazla görev/sürüm/dil içeriyorsa):

>>> 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

< >

( state_dict: dict )

Veri setinin state_dict'ini yükleyin. Yineleme, durumun kaydedildiği andan sonraki örnekten yeniden başlayacaktır.

Devam etmek, kontrol noktasının kaydedildiği tam noktaya döner; ancak iki durum hariç:

  1. shuffle tamponlarından gelen örnekler, devam ettirilince kaybolur ve tamponlar yeni verilerle doldurulur
  2. .with_format(arrow) ve toplu .map() kombinasyonları bir partiyi atlayabilir.

Örnek:

>>> 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)

şunu döndürür:

{'a': 0}
{'a': 1}
{'a': 2}
checkpoint
restart from checkpoint
{'a': 3}
{'a': 4}
{'a': 5}
>>> 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

< >

( ) → dict

Dönüş değeri

dict

Veri setinin güncel state_dict değerini alır. Bu, ürettiği son örnek durumuna karşılık gelir.

Devam etmek, kontrol noktasının kaydedildiği tam noktaya döner; ancak iki durum hariç:

  1. shuffle tamponlarından gelen örnekler, devam ettirilince kaybolur ve tamponlar yeni verilerle doldurulur
  2. .with_format(arrow) ve toplu .map() kombinasyonları bir partiyi atlayabilir.

Örnek:

>>> 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)

şunu döndürür:

{'a': 0}
{'a': 1}
{'a': 2}
checkpoint
restart from checkpoint
{'a': 3}
{'a': 4}
{'a': 5}
>>> 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

bilgi

< >

( )

Veri setindeki tüm meta verileri içeren DatasetInfo nesnesi.

split

< >

( )

Adlandırılmış bir veri seti bölmesine karşılık gelen NamedSplit nesnesi.

builder_name

< >

( )

tıpkıbasım

< >

( )

config_name

< >

( )

dataset_size

< >

( )

açıklama

< >

( )

download_checksums

< >

( )

download_size

< >

( )

özellikleri

< >

( )

ana sayfa

< >

( )

lisans

< >

( )

boyut_bayt

< >

( )

supervised_keys

< >

( )

sürüm

< >

( )

from_csv

< >

( path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]]split: typing.Optional[datasets.splits.NamedSplit] = Nonefeatures: typing.Optional[datasets.features.features.Features] = Nonekeep_in_memory: bool = False**kwargs )

Parametreler

  • path_or_paths (path-like veya path-like listesi) — CSV dosya(lar)ının yolu(ları).
  • split (NamedSplit, opsiyonel) — Veri setine atanacak bölme adı.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • keep_in_memory (bool, varsayılan False) — Verilerin bellek içine kopyalanıp kopyalanmayacağı.
  • **kwargs (ek anahtar kelime argümanları) — pandas.read_csv fonksiyonuna iletilecek anahtar kelime argümanları.

CSV dosyası/dosyalarından bir IterableDataset oluşturun.

Örnek:

>>> ds = IterableDataset.from_csv('path/to/dataset.csv')

from_json

< >

( path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]]split: typing.Optional[datasets.splits.NamedSplit] = Nonefeatures: typing.Optional[datasets.features.features.Features] = Nonekeep_in_memory: bool = Falsefield: typing.Optional[str] = None**kwargs )

Parametreler

  • path_or_paths (path-like veya path-like listesi) — JSON veya JSON Lines dosyalarının yolları.
  • split (NamedSplit, opsiyonel) — Veri setine atanacak bölme adı.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • keep_in_memory (bool, varsayılan False) — Verilerin bellek içine kopyalanıp kopyalanmayacağı.
  • field (str, isteğe bağlı) — Veri setinin bulunduğu JSON dosyasındaki alan adı.
  • **kwargs (ek anahtar kelime argümanları) — JsonConfig'e iletilecek anahtar kelime argümanları.

JSON veya JSON Lines dosyalarından bir IterableDataset oluşturun.

Örnek:

>>> ds = IterableDataset.from_json('path/to/dataset.json')

from_parquet

< >

( path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]]split: typing.Optional[datasets.splits.NamedSplit] = Nonefeatures: typing.Optional[datasets.features.features.Features] = Nonekeep_in_memory: bool = Falsecolumns: typing.Optional[list[str]] = Nonefilters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = Nonefragment_scan_options: typing.Optional[pyarrow._dataset_parquet.ParquetFragmentScanOptions] = Noneon_bad_files: typing.Literal['error', 'warn', 'skip'] = 'error'**kwargs )

Parametreler

  • path_or_paths (path-like veya path-like listesi) — Parquet dosya(lar)ının yolu(ları).
  • split (NamedSplit, isteğe bağlı) — Veri setine atanacak bölme adı.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • keep_in_memory (bool, varsayılan False) — Verilerin bellek içine kopyalanıp kopyalanmayacağı.
  • columns (List[str], isteğe bağlı) — None değilse, dosyadan yalnızca bu sütunlar okunur. Bir sütun adı, iç içe geçmiş bir alanın öneki olabilir; örneğin ‘a’, ‘a.b’, ‘a.c’ ve ‘a.d.e’ alanlarını seçer.
  • filters (Union[pyarrow.dataset.Expression, list[tuple], list[list[tuple]]], isteğe bağlı) — Yalnızca filtreye uyan satırları döndürür. Mümkünse, veri kaynağında bulunan bölüntü bilgisi veya iç meta verilerden (ör. Parquet istatistikleri) yararlanmak için öngörülen ifade aşağıya itilir (push down). Değilse, yüklenen RecordBatch'ler verilmelerinden önce filtrelenir.
  • fragment_scan_options (pyarrow.dataset.ParquetFragmentScanOptions, isteğe bağlı) — Parquet parçacıkları için taramaya özgü seçenekler. Bu, özellikle tamponlama ve önbellekleme yapılandırması için kullanışlıdır.

    4.2.0 sürümünde eklendi

  • on_bad_files (Literal["error", "warn", "skip"], isteğe bağlı, varsayılan olarak “error”) — Geçersiz bir dosya (okunamayan bir dosya) ile karşılaşıldığında ne yapılacağını belirtir. İzin verilen değerler şunlardır:
    • ‘error’, hatalı bir dosya karşılaşıldığında bir Exception fırlatır.
    • ‘warn’, kötü bir dosya karşılaşıldığında bir uyarı yükseltir ve o dosyayı atlar.
    • ‘skip’, karşılaşılan hatalı dosyaları uyarı veya hata yükseltmeden atlar.

    4.2.0 sürümünde eklendi

  • **kwargs (ek anahtar kelime argümanları) — ParquetConfig'e iletilecek anahtar kelime argümanları.

Parquet dosyası/dosyalarından bir IterableDataset oluşturun.

Örnek:

>>> ds = IterableDataset.from_parquet('path/to/dataset.parquet')

Sütunların bir alt kümesini yükleyin:

>>> ds = IterableDataset.from_parquet('path/to/dataset.parquet', columns=["col_0", "col_1"])

Verileri verimli bir şekilde filtreleyin, gerekirse tüm dosyaları veya satır gruplarını atlayın:

>>> filters = [("col_0", "==", 0)]
>>> ds = IterableDataset.from_parquet(parquet_files_list, filters=filters)

from_text

< >

( path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]]split: typing.Optional[datasets.splits.NamedSplit] = Nonefeatures: typing.Optional[datasets.features.features.Features] = Nonekeep_in_memory: bool = Falsekeep_linebreaks: bool = Falsesample_by: typing.Literal['line', 'paragraph', 'document'] = 'line'**kwargs )

Parametreler

  • path_or_paths (path-like veya path-like listesi) — Metin dosyası/dosyalarının yolu/yolları.
  • split (NamedSplit, isteğe bağlı) — Veri setine atanacak bölme adı.
  • features (Features, isteğe bağlı) — Veri seti özellikleri.
  • keep_in_memory (bool, varsayılan False) — Verilerin bellek içine kopyalanıp kopyalanmayacağı.
  • keep_linebreaks — (bool, varsayılan False): Satır sonlarının korunup korunmayacağı.
  • sample_by (Literal["line", "paragraph", "document"], varsayılan “line”) — Verinin satır, paragraf veya belge bazında yüklenip yüklenmeyeceğini belirtir. Varsayılan olarak veri setindeki bir satır = bir satır demektir.
  • **kwargs (ek anahtar kelime argümanları) — TextConfig'e iletilecek anahtar kelime argümanları.

Metin dosyası/dosyalarından bir IterableDataset oluşturun.

Örnek:

>>> ds = IterableDataset.from_text('path/to/dataset.txt')

sınıf datasets.IterableColumn

< >

( source: typing.Union[ForwardRef('IterableDataset'), ForwardRef('IterableColumn')]column_name: str )

Bir IterableDataset'in belirli bir sütunu için bir iterable.

Örnek:

Bir veri setinin “text” sütunundaki metinler üzerinde yineleme yapın:

for text in dataset["text"]:
    ...

İç içe sütunlarla da çalışır:

for source in dataset["metadata"]["source"]:
    ...

IterableDatasetDict

Anahtar olarak bölme adlarını (örneğin ‘train’, ‘test’), değer olarak IterableDataset nesnelerini içeren sözlük.

sınıf datasets.IterableDatasetDict

< >

( )

map

< >

( function: typing.Optional[typing.Callable] = Nonewith_indices: bool = Falsewith_split: bool = Falseinput_columns: typing.Union[str, list[str], NoneType] = Nonebatched: bool = Falsebatch_size: int = 1000drop_last_batch: bool = Falseremove_columns: typing.Union[str, list[str], NoneType] = Nonefn_kwargs: typing.Optional[dict] = None )

Parametreler

  • function (Callable, isteğe bağlı, varsayılan olarak None) — Veri setinde gezinirken örneklerin üzerine anlık olarak uygulanan işlev. Aşağıdaki imzalardan birine sahip olmalıdır:
    • function(example: Dict[str, Any]) -> Dict[str, Any] if batched=False and with_indices=False
    • function(example: Dict[str, Any], idx: int) -> Dict[str, Any] if batched=False and with_indices=True
    • function(batch: Dict[str, list]) -> Dict[str, list] if batched=True and with_indices=False
    • function(batch: Dict[str, list], indices: list[int]) -> Dict[str, list] if batched=True and with_indices=True

    Gelişmiş kullanım için, fonksiyon ayrıca pyarrow.Table döndürebilir. Fonksiyon asenkron ise, map fonksiyonunuzu paralel olarak çalıştırır. Ayrıca fonksiyonunuz hiçbir şey döndürmüyorsa (None), map fonksiyonunuzu çalıştırır ve veri setini değiştirilmeden döndürür. Hiçbir fonksiyon sağlanmazsa, varsayılan olarak kimlik fonksiyonu kullanılır: lambda x: x.

  • with_indices (bool, varsayılan False) — function için örnek indeksleri sağlar. Bu durumda function imzasının def function(example, idx[, rank]): ... olması gerektiğine dikkat edin.
  • input_columns ([Union[str, list[str]]], isteğe bağlı, varsayılan None) — function içine konumsal argümanlar olarak geçirilecek sütunlar. None ise, tüm biçimlendirilmiş sütunlara eşleyen bir sözlük tek argüman olarak geçirilir.
  • batched (bool, varsayılan False) — function işlevine örnekler birimini sağlar.
  • batch_size (int, isteğe bağlı, varsayılan 1000) — batched=True ise function'a sağlanan parti başına örnek sayısı.
  • drop_last_batch (bool, varsayılan False) — batch_size değerinden küçük olan son bir partinin, işlenmek yerine atılıp atılmayacağını belirtir.
  • remove_columns ([list[str]], isteğe bağlı, varsayılan None) — Eşleme yapılırken seçilen sütunları kaldırır. Sütunlar, örnekler function çıktısıyla güncellenmeden önce kaldırılır; yani function, remove_columns içindeki adlara sahip sütunlar ekliyorsa bu sütunlar korunur.
  • fn_kwargs (Dict, isteğe bağlı, varsayılan None) — function fonksiyonuna iletilecek anahtar kelime argümanları

İteratif veri setindeki tüm örneklerin (bireysel olarak veya toplu halde) üzerine bir fonksiyon uygulayın ve bunları güncelleyin. Fonksiyonunuz zaten var olan bir sütun döndürürse, bu sütun üzerine yazar. Fonksiyon, veri seti üzerinde iterasyon yapılırken örneklerin üzerine anlık olarak uygulanır. Dönüşüm, veri seti sözlüğündeki tüm veri setlerine uygulanır.

Fonksiyonun toplu (batch) olarak mı yoksa tekil olarak mı çalışacağı, batched parametresi ile belirtilebilir:

  • batched False ise, fonksiyon 1 örnek alır ve 1 örnek döndürmelidir. Bir örnek, bir sözlüktür, örn. {"text": "Hello there !"}.
  • batched True ve batch_size 1 ise, fonksiyon girdi olarak 1 örnekten oluşan bir batch alır ve 1 veya daha fazla örnekten oluşan bir batch döndürebilir. Bir batch bir sözlüktür, örneğin 1 örnekten oluşan bir batch {"text": ["Hello there !"]} şeklindedir.
  • True ve batch_size n > 1 ise, fonksiyon girdi olarak n örnekten oluşan bir batch alır ve n örnekten oluşan bir batch veya herhangi bir sayıda örnek içeren bir batch döndürebilir. Son batch'in n örnekten az örnek içerebileceğine dikkat edin. Bir batch bir sözlüktür, örneğin n örnekten oluşan bir batch {"text": ["Hello there !"] * n} şeklindedir.

Eğer fonksiyon asenkron ise, map fonksiyonunuzu paralel olarak çalıştırır ve en fazla bin eşzamanlı çağrı yapar. Aynı anda çalışabilecek maksimum işlem sayısını belirlemek istiyorsanız, fonksiyonunuzda asyncio.Semaphore kullanmanız önerilir.

Örnek:

>>> 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 .'}

filtre

< >

( function: typing.Optional[typing.Callable] = Nonewith_indices = Falseinput_columns: typing.Union[str, list[str], NoneType] = Nonebatched: bool = Falsebatch_size: typing.Optional[int] = 1000fn_kwargs: typing.Optional[dict] = None )

Parametreler

  • function (Callable) — Aşağıdaki imzalardan birine sahip Callable:
    • function(example: Dict[str, Any]) -> bool if with_indices=False, batched=False
    • function(example: Dict[str, Any], indices: int) -> bool if with_indices=True, batched=False
    • with_indices=False, batched=True ise function(example: Dict[str, list]) -> list[bool]
    • function(example: Dict[str, list], indices: list[int]) -> list[bool] if with_indices=True, batched=True

    Hiçbir fonksiyon sağlanmazsa, her zaman True dönen bir varsayılan fonksiyon kullanılır: lambda x: True.

  • with_indices (bool, varsayılan False) — function için örnek indeksleri sağlar. Bu durumda function imzasının def function(example, idx): ... olması gerektiğini unutmayın.
  • input_columns (str veya list[str], isteğe bağlı) — function içine konumsal argümanlar olarak geçirilecek sütunlar. None ise, biçimlendirilmiş tüm sütunlara eşleyen bir sözlük tek argüman olarak geçirilir.
  • batched (bool, varsayılan False) — function işlevine örnekler bir partisi sağlar
  • batch_size (int, isteğe bağlı, varsayılan 1000) — batched=True ise function'a sağlanan parti başına örnek sayısı.
  • fn_kwargs (Dict, isteğe bağlı, varsayılan None) — function fonksiyonuna iletilecek anahtar kelime argümanları

Filtreleme işlevini tüm öğelere uygulayın; böylece veri kümesi yalnızca filtreleme işlevine uygun örnekleri içerir. Filtreleme, veri kümesi üzerinde gezinirken anlık olarak yapılır. Filtreleme, veri kümesi sözlüğündeki tüm veri kümelerine uygulanır.

Örnek:

>>> 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 .'}]

karıştır

< >

( seed = Nonegenerator: typing.Optional[numpy.random._generator.Generator] = Nonebuffer_size: int = 1000max_buffer_input_shards: int = 10 )

Parametreler

  • seed (int, isteğe bağlı, varsayılan None) — Veri setini karıştırmak için kullanılacak rastgele tohum. Karıştırma tamponundan örnek almak ve veri parçalarını karıştırmak için kullanılır.
  • generator (numpy.random.Generator, isteğe bağlı) — Veri seti satırlarının permütasyonunu hesaplamak için kullanılacak Numpy rastgele Generator. generator=None (varsayılan) ise, np.random.default_rng (NumPy'nin varsayılan BitGenerator'ı (PCG64)) kullanılır.
  • buffer_size (int, varsayılan 1000) — Tampon boyutu.
  • max_buffer_input_shards (int, varsayılan 10) — Bir seferde tamponu beslemek için kullanılacak maksimum shard sayısı.

Bu veri setinin öğelerini rastgele karıştırır. Karıştırma işlemi, veri seti sözlüğündeki tüm veri setlerine uygulanır.

Bu veri seti, bir tamponu buffer_size öğeyle doldurur, ardından bu tampondan rastgele öğe örnekler ve seçilen öğeleri yeni öğelerle değiştirir. Mükemmel karıştırma için, tampon boyutunun veri setinin tam boyutuna eşit veya ondan büyük olması gerekir.

Örneğin, veri setiniz 10.000 öğe içeriyor ancak buffer_size 1000 olarak ayarlanmışsa, shuffle başlangıçta tampondaki yalnızca ilk 1000 öğeden rastgele bir öğe seçer. Bir öğe seçildiğinde, tampondaki yeri bir sonraki (yani 1.001. öğe) öğeyle değiştirilir ve 1000 öğelik tampon korunur.

Veri kümesi birkaç parçadan (shard) oluşuyorsa, parçaların sırasını da shuffle eder. Ancak sıra skip() veya take() kullanılarak sabitlenmişse, parçaların sırası değiştirilmeden korunur.

Örnek:

>>> 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

< >

( type: typing.Optional[str] = None )

Parametreler

  • type (str, isteğe bağlı) — [None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars'] içinde seçilen çıktı türlerinden biri. None, python nesnelerinin döndürüldüğü anlamına gelir (varsayılan).

Belirtilen biçimde bir veri seti döndürür.

Örnek:

>>> 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])}

döküm

< >

( features: Features ) → IterableDatasetDict

Parametreler

  • features (Features) — Veri setinin dönüştürüleceği yeni özellikler. Özelliklerdeki alan adları, mevcut sütun adlarıyla eşleşmelidir. Veri türü de bir türden diğerine dönüştürülebilir olmalıdır. Örneğin string <-> ClassLabel gibi basit olmayan dönüşümler için Dataset'i güncellemek üzere map kullanmalısınız.

Dönüş değeri

IterableDatasetDict

Dönüştürülmüş özelliklere sahip veri setinin bir kopyası.

Veri setini yeni bir özellik kümesine dönüştürür. Tip dönüşümü, veri seti sözlüğündeki tüm veri setlerine uygulanır.

Örnek:

>>> 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

< >

( column: strfeature: 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] )

Parametreler

  • column (str) — Sütun adı.
  • feature (Feature) — Hedef özellik.

Çözümlendirme için sütunu özellik olarak dönüştürür. Tip dönüştürme, veri seti sözlüğündeki tüm veri setlerine uygulanır.

Örnek:

>>> 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

< >

( column_names: typing.Union[str, list[str]] ) → IterableDatasetDict

Parametreler

  • column_names (Union[str, list[str]]) — Kaldırılacak sütun(lar)ın adı.

Dönüş değeri

IterableDatasetDict

Kaldırılacak sütunlar olmadan veri seti nesnesinin bir kopyası.

Veri setindeki bir veya birden fazla sütunu ve bunlara ilişkili özellikleri kaldırır. Kaldırma işlemi, veri seti üzerinde iterasyon yapılırken örnekler üzerinde anlık olarak gerçekleştirilir. Kaldırma işlemi, veri seti sözlüğündeki tüm veri setlerine uygulanır.

Örnek:

>>> 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

< >

( original_column_name: strnew_column_name: str ) → IterableDatasetDict

Parametreler

  • original_column_name (str) — Yeniden adlandırılacak sütunun adı.
  • new_column_name (str) — Sütun için yeni ad.

Dönüş değeri

IterableDatasetDict

Yeniden adlandırılmış bir sütuna sahip veri setinin kopyası.

Veri setindeki bir sütunu yeniden adlandırın ve orijinal sütuna ait özellikleri yeni sütun adının altına taşıyın. Yeniden adlandırma, veri seti sözlüğündeki tüm veri setlerine uygulanır.

Örnek:

>>> 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

< >

( column_mapping: dict ) → IterableDatasetDict

Parametreler

  • column_mapping (Dict[str, str]) — Yeniden adlandırılacak sütunların yeni adlarına eşlenmesi.

Dönüş değeri

IterableDatasetDict

Sütun adları değiştirilmiş veri setinin bir kopyası

Veri setindeki birkaç sütunu yeniden adlandırın ve orijinal sütunlarla ilişkili özellikleri yeni sütun adları altına taşıyın. Yeniden adlandırma, veri seti sözlüğündeki tüm veri setlerine uygulanır.

Örnek:

>>> 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

< >

( column_names: typing.Union[str, list[str]] ) → IterableDatasetDict

Parametreler

  • column_names (Union[str, list[str]]) — Tutulacak sütun(lar)ın adı.

Dönüş değeri

IterableDatasetDict

Sadece seçilen sütunlara sahip veri seti nesnesinin bir kopyası.

Veri setinde bir veya birden fazla sütun ve bunlara ilişkili özellikleri seçin. Seçim, veri seti üzerinde iterasyon yapılırken örnekler üzerinde anlık olarak yapılır. Seçim, veri seti sözlüğündeki tüm veri setlerine uygulanır.

Örnek:

>>> 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

< >

( repo_id: strconfig_name: str = 'default'set_default: typing.Optional[bool] = Nonedata_dir: typing.Optional[str] = Nonecommit_message: typing.Optional[str] = Nonecommit_description: typing.Optional[str] = Noneprivate: typing.Optional[bool] = Nonetoken: typing.Optional[str] = Nonerevision: typing.Optional[str] = Nonecreate_pr: typing.Optional[bool] = Falsemax_shard_size: typing.Union[str, int, NoneType] = Nonenum_shards: typing.Optional[dict[str, int]] = Noneembed_external_files: bool = Truenum_proc: typing.Optional[int] = None )

Parametreler

  • repo_id (str) — Aşağıdaki biçimde itme (push) yapılacak deposunun kimliği: <user>/<dataset_name> veya <org>/<dataset_name>. Ayrıca <dataset_name>, de kabul eder; bu durumda oturum açılmış kullanıcının ad alanı (namespace) varsayılan olarak kullanılır.

    Ayrıca bir varlığın içindeki bir konum da olabilir, örneğin buckets/<user_or_org>/<bucket_name>/...

  • config_name (str) — Bir veri setinin yapılandırma adı. Varsayılan olarak “default” değerini alır.
  • set_default (bool, isteğe bağlı) — Bu yapılandırmanın varsayılan olarak ayarlanıp ayarlanmayacağı. Aksi takdirde, varsayılan yapılandırma “default” adlı olanıdır.
  • data_dir (str, isteğe bağlı) — Yüklenen veri dosyalarını içerecek dizin adı. Farklıysa config_name değilse “data” olarak varsayılan değerdir.

    2.17.0 sürümünde eklendi

  • commit_message (str, isteğe bağlı) — İterilirken iletilecek mesaj. Varsayılan olarak "Upload dataset" olur.
  • commit_description (str, isteğe bağlı) — Oluşturulacak commit'in açıklaması. Ayrıca, bir PR oluşturulursa PR açıklaması da (create_pr True ise).

    2.16.0 sürümünde eklendi

  • private (bool, isteğe bağlı) — Deponun özel yapılıp yapılmayacağı. None (varsayılan) ise, organizasyonun varsayılanı özel değilse depo herkese açık olacaktır. Depo zaten mevcutsa bu değer yok sayılır.
  • token (str, isteğe bağlı) — Hugging Face Hub için isteğe bağlı bir kimlik doğrulama belirteci. Belirteç geçirilmezse, hf auth login ile oturum açılırken yerel olarak kaydedilen belirteç varsayılan olarak kullanılır. Belirteç geçirilmez ve kullanıcı oturum açmamışsa bir hata oluşturulur.
  • revision (str, isteğe bağlı) — Yüklenen dosyaların itileceği dal. Varsayılan olarak "main" dalıdır.
  • create_pr (bool, isteğe bağlı, varsayılan False) — Yüklenen dosyalarla bir PR oluşturulup oluşturulmayacağı veya doğrudan commit atılıp atılmayacağı.
  • max_shard_size (int veya str, isteğe bağlı) — Hub'a yüklenecek veri seti parçacıklarının isteğe bağlı maksimum boyutu. Bir dize olarak ifade ediliyorsa, birimden (ör. "500MB" veya "1GB") önce rakamlar içermelidir. Belirtilmezse, her bölme kendi veri seti yerel parçacık sayısını korur.
  • num_shards (Dict[str, int], isteğe bağlı) — Yazılacak shard sayısı. Her split için farklı bir num_shards tanımlamak için sözlük kullanın. max_shard_size sağlanırsa ve bir split için num_shards verilmezse, o split için shard sayısı max_shard_size değerinden tahmin edilir.
  • embed_external_files (bool, varsayılan olarak True) — dosya baytlarının shard'lara gömülüp gömülmemesi. Özellikle, push işleminden önce şu alan türleri için şunlar yapılır:
    • Audio ve Image, yerel yol bilgilerini kaldırır ve dosya içeriğini Parquet dosyalarına gömer.
  • num_proc (int, isteğe bağlı, varsayılan olarak None) — Veri setini hazırlarken ve yüklerken kullanılacak süreç sayısı. Veri seti gömülecek çok sayıda örnek veya medya dosyasından oluşuyorsa bu parametre işe yarar. hf_xet ile çalışmak için “spawn” bağlamını kullanır; hf_xet, HF'ye hızlı yüklemeler için kullanılan rust istemcisidir. Çok işlemcili çalışma (multiprocessing) varsayılan olarak devre dışıdır.

    4.0.0 sürümünde eklendi

IterableDatasetDict nesnesini Parquet veri seti olarak hub'a gönderir. IterableDatasetDict, HTTP istekleri kullanılarak gönderilir ve git veya git-lfs kurulu olmasına gerek yoktur.

Her veri seti bölümü bağımsız olarak itilecektir. İtilen veri seti, orijinal bölüm adlarını koruyacaktır.

Oluşturulan Parquet dosyaları varsayılan olarak kendi kendine yeterlidir: veri setiniz Image veya Audio verisi içeriyorsa, Parquet dosyaları görüntü veya ses dosyalarınızın baytlarını saklar. Bunu, embed_external_files değerini False olarak ayarlayarak devre dışı bırakabilirsiniz.

Örnek:

>>> 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})

Bir veri setine yeni bir yapılandırma (veya alt küme) eklemek istiyorsanız (ör. veri seti birden fazla görev/sürüm/dil içeriyorsa):

>>> 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")

Özellikler

sınıf datasets.Features

< >

( *args**kwargs )

Bir veri setinin iç yapısını tanımlayan özel bir sözlük.

dict[str, FieldType] türünde bir sözlük ile örneklenir; anahtarlar istenen sütun adlarını, değerler ise o sütunun türünü belirtir.

FieldType aşağıdakilerden biri olabilir:

  • Value özelliği, örneğin int64 veya string gibi tek bir veri türü değerini belirtir.
  • ClassLabel özelliği, etiketlerle ilişkilendirilebilen ve veri setinde tamsayılar olarak saklanacak olan önceden tanımlanmış bir sınıf kümesini belirtir.
  • Python dict, alt alanların alt özelliklere eşlenmesini içeren bileşik bir özellik belirtir. İstendiği gibi iç içe geçmiş alanların iç içe geçmiş alanlara sahip olması mümkündür.
  • List veya LargeList, hepsi aynı özellik türünde olan alt özelliklerin bir dizisini içeren bileşik bir özelliği belirtir.
  • Çok boyutlu diziler için Array2D, Array3D, Array4D veya Array5D özelliği.
  • Audio özelliği, bir ses dosyasının mutlak yolunu veya bir ses dosyasının göreli yolunu (“path” anahtarı) ve bayt içeriğini (“bytes” anahtarı) içeren bir sözlüğü depolamak için kullanılır. Bu özellik, sesi bir kod çözücüyle tembel (lazy) olarak yükler.
  • Image özelliği, bir görüntü dosyasının mutlak yolunu, bir np.ndarray nesnesini, bir PIL.Image.Image nesnesini veya bir görüntü dosyasının göreli yolunu (“path” anahtarı) ve bayt içeriğini (“bytes” anahtarı) içeren bir sözlüğü depolamak için kullanılır. Bu özellik, görüntü verilerini çıkarır.
  • Bir video dosyasının mutlak yolunu, bir torchcodec.decoders.VideoDecoder nesnesini veya bir video dosyasının göreli yolunu (“path” anahtarı) ve bayt içeriğini (“bytes” anahtarı) içeren bir sözlüğü depolamak için Video özelliği. Bu özellik, videoyu bir kodlayıcı ile tembel (lazy) olarak yükler.
  • Pdf özelliği, bir PDF dosyasının mutlak yolunu, bir pdfplumber.pdf.PDF nesnesini veya bir PDF dosyasının göreli yolunu (“path” anahtarı) ve bayt içeriğini (“bytes” anahtarı) içeren bir sözlüğü saklamak için kullanılır. Bu özellik, PDF dosyasını bir PDF okuyucu ile tembel (lazy) olarak yükler.
  • Nifti özelliği, bir NIfTI nörogörüntüleme dosyasının mutlak yolunu, bir nibabel.Nifti1Image nesnesini veya bir NIfTI dosyasının göreli yolunu (“path” anahtarı) ve bayt içeriğini (“bytes” anahtarı) içeren bir sözlüğü saklamak için kullanılır. Bu özellik, NIfTI dosyasını nibabel ile tembel (lazy) olarak yükler.
  • Makine Çevirisi'ne özgü Translation veya TranslationVariableLanguages özelliği.
  • Json özelliği, karışık/istisnai tipler içeren yapılandırılmamış verileri depolamak için kullanılır. Arka planda

kopyala

< >

( )

Features öğesinin derin bir kopyasını oluşturun.

Örnek:

>>> 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

< >

( batch: dicttoken_per_repo_id: typing.Optional[dict[str, typing.Union[str, bool, NoneType]]] = None )

Parametreler

  • batch (dict[str, list[Any]]) — Veri seti toplu (batch) verileri.
  • token_per_repo_id (dict, isteğe bağlı) — Hub'daki özel depolardaki ses veya görüntü dosyalarına erişmek ve çözümlemek için repo_id (str) -> token (bool veya str) biçiminde bir sözlük geçebilirsiniz

Özel özellik çözümleme ile çözümlenme partisi.

decode_column

< >

( column: listcolumn_name: strtoken_per_repo_id: typing.Optional[dict[str, typing.Union[str, bool, NoneType]]] = None )

Parametreler

  • column (list[Any]) — Veri seti sütunu verileri.
  • column_name (str) — Veri seti sütun adı.

Özel özellik çözümleme ile sütunu çözümlen.

decode_example

< >

( example: dicttoken_per_repo_id: typing.Optional[dict[str, typing.Union[str, bool, NoneType]]] = None )

Parametreler

  • example (dict[str, Any]) — Veri seti satır verisi.
  • token_per_repo_id (dict, isteğe bağlı) — Hub'daki özel depolardaki ses veya görüntü dosyalarına erişmek ve çözümlemek için repo_id (str) -> token (bool or str) biçiminde bir sözlük geçebilirsiniz.

Özel özellik çözümleme ile çözümleme örneği.

encode_batch

< >

( batch )

Parametreler

  • batch (dict[str, list[Any]]) — Bir Dataset grubundaki veriler.

Batch'i Arrow için bir formata kodlayın.

encode_column

< >

( columncolumn_name: str )

Parametreler

  • column (list[Any]) — Bir Dataset sütunundaki veriler.
  • column_name (str) — Veri seti sütun adı.

Encode sütununu Arrow için bir formata dönüştürür.

encode_example

< >

( example )

Parametreler

  • example (dict[str, Any]) — Bir Dataset satırındaki veri.

Örneği Arrow için bir formata kodlayın.

flatten

< >

( max_depth = 16 ) → Features

Dönüş değeri

Özellikler

Düzleştirilmiş özellikler.

Özellikleri düzleştirin. Her sözlük sütunu kaldırılır ve içerdiği tüm alt alanlarla değiştirilir. Yeni alanlar, orijinal sütun adının ve alt alan adının birleştirilmesiyle şu şekilde adlandırılır: <original>.<subfield>.

Bir sütun iç içe geçmiş sözlükler içeriyorsa, alt düzey alt alan adları da birleştirilerek yeni sütunlar oluşturulur: <original>.<subfield>.<subsubfield> vb.

Örnek:

>>> 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

< >

( pa_schema: Schema )

Parametreler

  • pa_schema (pyarrow.Schema) — Arrow Şeması.

Arrow şemasından Features oluşturur. Ayrıca şema meta verilerini Hugging Face Datasets özellikleri için de kontrol eder. Boş olmayan (non-nullable) alanlar desteklenmez ve boş olabilir (nullable) olarak ayarlanır.

Ayrıca, pa.dictionary desteklenmez ve bunun yerine alttaki türü kullanılır. Bu nedenle veri kümeleri, DictionaryArray nesnelerini gerçek değerlerine dönüştürür.

from_dict

< >

( dic ) → Features

Parametreler

  • dic (dict[str, Any]) — Python sözlüğü.

Dönüş değeri

Özellikler

dict'ten [Features] oluştur.

Dizileştirilmemiş bir sözlükten iç içe geçmiş özellik nesnesini yeniden oluşturun. Özellik FieldType'nin dataclass adını çıkarmak için _type anahtarını kullanıyoruz.

Serileştirilmemiş JSON sözlüklerinden özellikleri tanımlamak için kullanışlı bir yapıcı sözdizimi sağlar. Bu işlev, özellikle bir JSON nesnesine boşaltılmış bir [DatasetInfo] serileştirilirken kullanılır. Bu, [Features.from_arrow_schema] işlevinin bir benzeri olarak çalışır ve özyinelemeli alan bazlı örneklemeyi ele alır, ancak [Value] tarafından otomatik olarak gerçekleştirilen pyarrow ilkel veri türleri eşlemesinden yararlanma dışında pyarrow'a herhangi bir eşleme gerektirmez.

Örnek:

>>> Features.from_dict({'_type': {'dtype': 'string', 'id': None, '_type': 'Value'}})
{'_type': Value('string')}

reorder_fields_as

< >

( other: Features )

Parametreler

  • other ([Özellikler]) — Hizalandırılacak diğer [Özellikler].

Diğer [Features] alanlarının sırasıyla eşleşecek şekilde Features alanlarını yeniden sıralayın.

Alanların sırası, alttaki arrow verisi için önemli olduğu için önemlidir. Alanların yeniden sıralanması, alttaki arrow veri türünün eşleşmesini sağlar.

Örnek:

>>> 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({"root": {"a": Value("string"), "b": Value("string")}})
>>> f2 = Features({"root": {"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)
{'root': List({'b': Value('string'), 'a': Value('string')})}
>>> assert f1.reorder_fields_as(f2).type == f2.type

Skaler

sınıf datasets.Value

< >

( dtype: strid: typing.Optional[str] = None )

Parametreler

  • dtype (str) — Veri türünün adı.

Belirli bir veri türünün skaler özellik değeri.

Value'in olası dtypes değerleri aşağıdaki gibidir:

  • null
  • bool
  • int8
  • int16
  • int32
  • int64
  • uint8
  • uint16
  • uint32
  • uint64
  • float16
  • float32 (takma ad float)
  • float64 (double takma adı)
  • 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

Örnek:

>>> from datasets import Features
>>> features = Features({'stars': Value('int32')})
>>> features
{'stars': Value('int32')}

sınıf datasets.ClassLabel

< >

( num_classes: dataclasses.InitVar[typing.Optional[int]] = Nonenames: list = Nonenames_file: dataclasses.InitVar[typing.Optional[str]] = Noneid: typing.Optional[str] = None )

Parametreler

  • num_classes (int, isteğe bağlı) — Sınıf sayısı. Tüm etiketler num_classes değerinden küçük olmalıdır.
  • names (list of str, isteğe bağlı) — Tam sayı sınıfları için dize adları. Adların verildiği sıra korunur.
  • names_file (str, isteğe bağlı) — Tam sayı sınıfları için adlar içeren dosyanın yolu, her satırda bir ad.

Tam sayı sınıf etiketleri için özellik türü.

ClassLabel tanımlamanın 3 yolu vardır ve bunlar 3 argümana karşılık gelir:

  • num_classes: 0'dan (num_classes-1)'e kadar etiketler oluşturun.
  • names: Etiket dizgilerinin listesi.
  • names_file: Etiket listesini içeren dosya.

Arka planda etiketler tamsayı olarak saklanır. Bilinmeyen/eksik etiketleri temsil etmek için -1 kullanabilirsiniz.

Örnek:

>>> 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

< >

( storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.IntegerArray] ) → pa.Int64Array

Parametreler

  • storage (Union[pa.StringArray, pa.IntegerArray]) — Dönüştürülecek PyArrow dizisi.

Dönüş değeri

pa.Int64Array

ClassLabel ok depolama türündeki dizi.

Bir Arrow dizisini ClassLabel arrow depolama türüne dönüştürür. ClassLabel pyarrow depolama türüne dönüştürülebilen Arrow türleri şunlardır:

  • pa.string()
  • pa.int()

int2str

< >

( values: typing.Union[int, collections.abc.Iterable] )

Dönüşüm integer => sınıf adı string.

Bilinmeyen/eksik etiketler hakkında: Negatif tamsayılar geçirmek ValueError hatası oluşturur.

Örnek:

>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> ds.features["label"].int2str(0)
'neg'

str2int

< >

( values: typing.Union[str, collections.abc.Iterable] )

Dönüşüm sınıfı adı string => integer.

Örnek:

>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> ds.features["label"].str2int('neg')
0

Bileşik

sınıf datasets.LargeList

< >

( feature: typing.Anyid: typing.Optional[str] = None )

Parametreler

  • feature (FeatureType) — Büyük listedeki her öğenin alt özellik veri türü.

Çocuk özellik veri türünden oluşan büyük liste verileri için özellik türü.

pyarrow.LargeListType tarafından desteklenir; bu, pyarrow.ListType'e benzer ancak 32 bit yerine 64 bit ofsetler kullanır.

sınıf datasets.List

< >

( feature: typing.Anylength: int = -1id: typing.Optional[str] = None )

Parametreler

  • feature (FeatureType) — Büyük listedeki her öğenin alt özellik veri türü.
  • length (isteğe bağlı int, varsayılan -1) — Liste sabit uzunlukta ise uzunluğu. Varsayılan olarak -1'dir, bu da keyfi bir uzunluk anlamına gelir.

Çocuk özellik veri türünden oluşan büyük liste verileri için özellik türü.

pyarrow.ListType tarafından desteklenir; bu, 32 bitlik ofsetler veya sabit bir uzunluk kullanır.

sınıf datasets.Sequence

< >

( feature = Nonelength = -1**kwargs )

Parametreler

  • feature (FeatureType) — Büyük listedeki her öğenin alt özellik veri türü.
  • length (isteğe bağlı int, varsayılan -1) — Liste sabit uzunlukta ise uzunluğu. Varsayılan olarak -1'dir, bu da keyfi bir uzunluk anlamına gelir.

Sequence, iç sözlük özelliklerini otomatik olarak listeler sözlüğüne dönüştüren bir yardımcıdır. Bu davranış, TensorFlow Datasets kütüphanesiyle bir uyumluluk katmanı sağlamak amacıyla uygulanmıştır ancak bazı durumlarda istenmeyebilir. Bu davranışı istemiyorsanız, Sequence yerine List veya LargeList kullanabilirsiniz.

Çeviri

sınıf datasets.Translation

< >

( languages: listid: typing.Optional[str] = None )

Parametreler

  • languages (dict) — Her örnek için, dil kodlarını (string) çevirilere (string) eşleyen bir sözlük.

Örnek başına sabit dillerle çeviriler için Feature. Burada tfds ile uyumluluk için.

Örnek:

>>> # At construction time:
>>> datasets.features.Translation(languages=['en', 'fr', 'de'])
>>> # During data generation:
>>> yield {
...         'en': 'the cat',
...         'fr': 'le chat',
...         'de': 'die katze'
... }

flatten

< >

( )

Translation özelliğini bir sözlüğe (dictionary) düzleştirin.

sınıf datasets.TranslationVariableLanguages

< >

( languages: typing.Optional[list] = Nonenum_languages: typing.Optional[int] = Noneid: typing.Optional[str] = None ) →

  • language or translation (variable-length 1D tf.Tensor of tf.string)

Parametreler

  • languages (dict) — Her örnek için, string dil kodlarını bir veya birden fazla string çeviriye eşleyen bir sözlük. Mevcut diller, örneğe göre değişebilir.

Dönüş değeri

  • language veya translation (değişken uzunlukta 1 boyutlu tf.string türünde tf.Tensor)

Artan sırada sıralanmış dil kodları veya dil kodlarıyla hizalanacak şekilde sıralanmış düz metin çevirileri.

Örnek başına değişken dillerle çeviriler için Feature. Burada tfds ile uyumluluk için.

Örnek:

>>> # 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

< >

( )

TranslationVariableLanguages özelliğini bir sözlüğe düzleştirin.

Diziler

sınıf datasets.Array2D

< >

( shape: tupledtype: strid: typing.Optional[str] = None )

Parametreler

  • shape (tuple) — Her boyutun boyutu.
  • dtype (str) — Veri türünün adı.

İki boyutlu bir dizi oluşturun.

Örnek:

>>> from datasets import Features
>>> features = Features({'x': Array2D(shape=(1, 3), dtype='int32')})

sınıf datasets.Array3D

< >

( shape: tupledtype: strid: typing.Optional[str] = None )

Parametreler

  • shape (tuple) — Her boyutun boyutu.
  • dtype (str) — Veri türünün adı.

Üç boyutlu bir dizi oluşturun.

Örnek:

>>> from datasets import Features
>>> features = Features({'x': Array3D(shape=(1, 2, 3), dtype='int32')})

sınıf datasets.Array4D

< >

( shape: tupledtype: strid: typing.Optional[str] = None )

Parametreler

  • shape (tuple) — Her boyutun boyutu.
  • dtype (str) — Veri türünün adı.

Dört boyutlu bir dizi oluşturun.

Örnek:

>>> from datasets import Features
>>> features = Features({'x': Array4D(shape=(1, 2, 2, 3), dtype='int32')})

sınıf datasets.Array5D

< >

( shape: tupledtype: strid: typing.Optional[str] = None )

Parametreler

  • shape (tuple) — Her boyutun boyutu.
  • dtype (str) — Veri türünün adı.

Beş boyutlu bir dizi oluşturun.

Örnek:

>>> from datasets import Features
>>> features = Features({'x': Array5D(shape=(1, 2, 2, 3, 3), dtype='int32')})

Ses

sınıf datasets.Audio

< >

( sampling_rate: typing.Optional[int] = Nonedecode: bool = Truenum_channels: typing.Optional[int] = Nonestream_index: typing.Optional[int] = Noneid: typing.Optional[str] = None )

Parametreler

  • sampling_rate (int, isteğe bağlı) — Hedef örneklem hızı. None ise yerel örneklem hızı kullanılır.
  • num_channels (int, isteğe bağlı) — Örneklerin istenen kanal sayısı. Varsayılan olarak, kaynağın kanal sayısı kullanılır. Ses kod çözme, (num_channels, num_samples) biçiminde örnekler döndürür. Şu anda None (kaynağın kanal sayısı, varsayılan), 1 (mono) veya 2 (stereo) kanalları desteklenir. num_channels argümanı, torchcodec.decoders.AudioDecoder.

    4.4.0 sürümünde eklendi

  • decode (bool, varsayılan True) — Ses verisinin çözümlenip çözümlenmeyeceğini belirtir. False ise, alttaki sözlüğü {"path": audio_path, "bytes": audio_bytes} biçiminde döndürür.
  • stream_index (int, isteğe bağlı) — Dosyadan kullanılacak akış indeksi. None ise “en iyi” indekse varsayılan olarak ayarlanır.

Ses Feature, bir ses dosyasından ses verilerini çıkarmak için kullanılır.

Girdi: Ses özelliği girdi olarak şunları kabul eder:

  • str: Ses dosyasının mutlak yolu (yani rastgele erişime izin verilir).

  • A pathlib.Path: ses dosyasının yolu (yani rastgele erişime izin verilir).

  • Şu anahtarlara sahip bir dict:

    • path: Ses dosyasının arşiv dosyasına göre göreli yolunu içeren String.
    • bytes: Ses dosyasının bayt içeriği.

    Bu, ses dosyalarını gömülü olarak içeren parquet veya webdataset dosyaları için kullanışlıdır.

  • Şu anahtarlara sahip bir dict:

    • array: Ses örneğini içeren dizi
    • sampling_rate: Ses örneğinin örnekleme hızına karşılık gelen tamsay.
  • A torchcodec.decoders.AudioDecoder: torchcodec ses kodlayıcı nesnesi.

Çıktı: Ses özellikleri, ek anahtarlarla birlikte torchcodec.decoders.AudioDecoder nesneleri olarak veri çıktısı verir:

  • array: Ses örneğini içeren dizi
  • sampling_rate: Ses örneğinin örnekleme hızına karşılık gelen tamsay.

Örnek:

>>> 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

< >

( storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray] ) → pa.StructArray

Parametreler

  • storage (Union[pa.StringArray, pa.StructArray]) — Dönüştürülecek PyArrow dizisi.

Dönüş değeri

pa.StructArray

Ses okuru depolama türündeki dizi, yani pa.struct({"bytes": pa.binary(), "path": pa.string()})

Bir Arrow dizisini Audio arrow depolama türüne dönüştürür. Audio pyarrow depolama türüne dönüştürülebilen Arrow türleri şunlardır:

  • pa.string() - “path” verisi içermelidir
  • pa.binary() - ses baytlarını içermelidir
  • pa.struct({"bytes": pa.binary()})
  • pa.struct({"path": pa.string()})
  • pa.struct({"bytes": pa.binary(), "path": pa.string()}) - sıra önemli değildir

decode_example

< >

( value: dicttoken_per_repo_id: typing.Optional[dict[str, typing.Union[str, bool, NoneType]]] = None )

Parametreler

  • value (dict) — Anahtarları şunlar olan bir sözlük:
    • path: Göreli ses dosyası yolunu içeren String.
    • bytes: Ses dosyasının baytları.
  • token_per_repo_id (dict, isteğe bağlı) — Hub'daki özel depolardaki ses dosyalarına erişmek ve çözmek için, repo_id (str) -> token (bool veya str) biçiminde bir sözlük geçebilirsiniz.

Örnek ses dosyasını ses verisine çözümlen.

embed_storage

< >

( storage: StructArraytoken_per_repo_id = Nonelocal_files: bool = Trueremote_files: bool = True ) → pa.StructArray

Parametreler

  • storage (pa.StructArray) — Gömülecek PyArrow dizisi.
  • token_per_repo_id (dict, isteğe bağlı) — Dosya baytlarını almak için repo_id -> token sözlüğü.
  • local_files (bool, varsayılan olarak True) — yerel dosya verilerinin diziye gömülüp gömülmemesi

    4.8.5 sürümünde eklendi

  • remote_files (bool, varsayılan olarak True) — Dizide uzaktaki dosya verilerini gömüp gömmeyeceğini belirtir. Örn. hf:// veya https:// ile başlayan yollara sahip dosyalar

    4.8.5 sürümünde eklendi

Dönüş değeri

pa.StructArray

Ses okuru depolama türündeki dizi, yani pa.struct({"bytes": pa.binary(), "path": pa.string()}).

Ses dosyalarını Arrow dizisine gömün.

encode_example

< >

( value: typing.Union[str, bytes, bytearray, dict, ForwardRef('AudioDecoder')] ) → dict

Parametreler

  • value (str, bytes,bytearray,dict, AudioDecoder) — Audio özelliğine girdi olarak geçirilen veri.

Dönüş değeri

dict

Örneği Arrow için bir formata kodlayın.

flatten

< >

( )

Eğer durum çözülebilir (decodable) ise bir hata yükseltin, aksi takdirde özelliği bir sözlüğe (dictionary) düzleştirin.

Görsel

sınıf datasets.Image

< >

( mode: typing.Optional[str] = Nonedecode: bool = Trueid: typing.Optional[str] = None )

Parametreler

  • mode (str, isteğe bağlı) — Görüntünün dönüştürüleceği mod. None ise, görüntünün yerel modu kullanılır.
  • decode (bool, varsayılan True) — Görsel verisinin çözümlenip çözümlenmeyeceğini belirtir. False ise, alttaki sözlük {"path": image_path, "bytes": image_bytes} biçiminde döndürülür.

Bir görüntü dosyasından görüntü verilerini okumak için Feature görüntüsü.

Girdi: Image özelliği girdi olarak şunları kabul eder:

  • A str: Görsel dosyasının mutlak yolu (yani rastgele erişime izin verilir).

  • A pathlib.Path: görüntü dosyasının yolu (yani rastgele erişime izin verilir).

  • Şu anahtarlara sahip bir dict:

    • path: Arşiv dosyasına göre görüntü dosyasının göreli yolunu içeren String.
    • bytes: Görsel dosyasının baytları.

    Bu, görsel dosyaları gömülü olarak içeren parquet veya webdataset dosyaları için kullanışlıdır.

  • np.ndarray: Bir görüntüyü temsil eden NumPy dizisi.

  • A PIL.Image.Image: PIL görüntü nesnesi.

Çıktı: Image özellikleri verileri PIL.Image.Image nesneleri olarak çıktılar.

Örnekler:

>>> 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

< >

( storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray, pyarrow.lib.ListArray] ) → pa.StructArray

Parametreler

  • storage (Union[pa.StringArray, pa.StructArray, pa.ListArray]) — Dönüştürülecek PyArrow dizisi.

Dönüş değeri

pa.StructArray

Image arrow depolama türündeki dizi, yani pa.struct({"bytes": pa.binary(), "path": pa.string()}).

Bir Arrow dizisini Image arrow depolama türüne dönüştürür. Image pyarrow depolama türüne dönüştürülebilen Arrow türleri şunlardır:

  • pa.string() - “path” verisi içermelidir
  • pa.large_string() - “path” verisi içermelidir (mümkünse string'e dönüştürülür)
  • pa.binary() - görüntü baytlarını içermelidir
  • pa.struct({"bytes": pa.binary()})
  • pa.struct({"path": pa.string()})
  • pa.struct({"bytes": pa.binary(), "path": pa.string()}) - sıra önemli değildir
  • pa.list(*) - görüntü dizi verilerini içermelidir

decode_example

< >

( value: dicttoken_per_repo_id = None )

Parametreler

  • value (str veya dict) — Mutlak görüntü dosya yolunu içeren bir dize, aşağıdaki anahtarlara sahip bir sözlük:
    • path: Mutlak veya göreli görüntü dosya yolunu içeren String.
    • bytes: Görsel dosyasının baytları.
  • token_per_repo_id (dict, isteğe bağlı) — Hub üzerindeki özel depolardaki görüntü dosyalarına erişmek ve çözümlemek için, repo_id (str) -> token (bool veya str) biçiminde bir sözlük geçebilirsiniz.

Örnek görüntü dosyasını görüntü verisine çözümlen.

embed_storage

< >

( storage: StructArraytoken_per_repo_id = Nonelocal_files: bool = Trueremote_files: bool = True ) → pa.StructArray

Parametreler

  • storage (pa.StructArray) — Gömülecek PyArrow dizisi.
  • token_per_repo_id (dict, isteğe bağlı) — Dosya baytlarını almak için repo_id -> token sözlüğü.
  • local_files (bool, varsayılan olarak True) — yerel dosya verilerinin diziye gömülüp gömülmemesi

    4.8.5 sürümünde eklendi

  • remote_files (bool, varsayılan olarak True) — Dizide uzaktaki dosya verilerini gömüp gömmeyeceğini belirtir. Örn. hf:// veya https:// ile başlayan yollara sahip dosyalar

    4.8.5 sürümünde eklendi

Dönüş değeri

pa.StructArray

Image arrow depolama türündeki dizi, yani pa.struct({"bytes": pa.binary(), "path": pa.string()}).

Görsel dosyalarını Arrow dizisine gömün.

encode_example

< >

( value: typing.Union[str, bytes, bytearray, dict, numpy.ndarray, ForwardRef('PIL.Image.Image')] )

Parametreler

  • value (str, np.ndarray, PIL.Image.Image veya dict) — Image özelliğine girdi olarak geçirilen veri.

Örneği Arrow için bir formata kodlayın.

flatten

< >

( )

Çözülebilir durumda ise özelliğin kendisini, aksi halde özelliği bir sözlüğe düzleştirerek döndürür.

Video

sınıf datasets.Video

< >

( decode: bool = Truestream_index: typing.Optional[int] = Nonedimension_order: typing.Literal['NCHW', 'NHWC'] = 'NCHW'num_ffmpeg_threads: int = 1device: typing.Union[str, ForwardRef('torch.device'), NoneType] = 'cpu'seek_mode: typing.Literal['exact', 'approximate'] = 'exact'id: typing.Optional[str] = None )

Parametreler

  • decode (bool, varsayılan True) — Video verisinin çözümlenip çözümlenmeyeceğini belirtir. False ise, alttaki sözlük {"path": video_path, "bytes": video_bytes} biçiminde döndürülür.
  • stream_index (int, isteğe bağlı) — Dosyadan kullanılacak akış indeksi. None ise “en iyi” indekse varsayılan olarak ayarlanır.
  • dimension_order (str, varsayılan NCHW) — Çözümlenen karelerin boyut sırası. Burada N, parti boyutunu; C, kanal sayısını; H, karelerin yüksekliğini ve W, genişliğini ifade eder.
  • num_ffmpeg_threads (int, varsayılan 1) — Videoyu çözmek için kullanılacak iş parçacığı sayısı. (Bunun 1 olarak bırakılması önerilir)
  • device (str veya torch.device, varsayılan cpu) — Videoyu çözmek için kullanılacak cihaz.
  • seek_mode (str, varsayılan exact) — Kare erişiminin “exact” (tam) mi yoksa “approximate” (yaklaşık) mi olacağını belirler. Exact, i numaralı karenin istendiğinde her zaman i numaralı karenin döndürüleceğini garanti eder, ancak bunun için dosyanın başlangıçta taranması gerekir. Approximate, dosyayı taramaktan kaçındığı için daha hızlıdır, ancak i’nin muhtemel konumunu hesaplamak için dosyanın meta verilerini kullandığından daha az hassastır. daha fazla bilgi burada

Video dosyasından video verisi okumak için Feature Video.

Girdi: Video özelliği girdi olarak şunları kabul eder:

  • str: Video dosyasının mutlak yolu (yani rastgele erişime izin verilir).

  • A pathlib.Path: video dosyasının yolu (yani rastgele erişime izin verilir).

  • Şu anahtarlara sahip bir dict:

    • path: Veri seti deposundaki video dosyasının göreli yolunu içeren String.
    • bytes: Video dosyasının baytları.

    Bu, video dosyalarını gömülü olarak içeren parquet veya webdataset dosyaları için kullanışlıdır.

  • A torchcodec.decoders.VideoDecoder: torchcodec video çözücü nesnesi.

Çıktı: Video özellikleri, çıktı verilerini torchcodec.decoders.VideoDecoder nesneleri olarak sunar.

Örnekler:

>>> 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

< >

( storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray, pyarrow.lib.ListArray] ) → pa.StructArray

Parametreler

  • storage (Union[pa.StringArray, pa.StructArray, pa.ListArray]) — Dönüştürülecek PyArrow dizisi.

Dönüş değeri

pa.StructArray

Video'daki pa.struct({"bytes": pa.binary(), "path": pa.string()}) olan arrow depolama türündeki dizi,

Bir Arrow dizisini Video arrow depolama türüne dönüştürür. Video pyarrow depolama türüne dönüştürülebilen Arrow türleri şunlardır:

  • pa.string() - “path” verisi içermelidir
  • pa.binary() - video baytlarını içermelidir
  • pa.struct({"bytes": pa.binary()})
  • pa.struct({"path": pa.string()})
  • pa.struct({"bytes": pa.binary(), "path": pa.string()}) - sıra önemli değildir
  • pa.list(*) - video dizisi verilerini içermelidir

decode_example

< >

( value: typing.Union[str, datasets.features.video.Example]token_per_repo_id: typing.Optional[dict[str, typing.Union[bool, str]]] = None )

Parametreler

  • value (str veya dict) — Mutlak video dosya yolunu içeren bir dize, şu anahtarlara sahip bir sözlük:
    • path: Mutlak veya göreli video dosya yolunu içeren String.
    • bytes: Video dosyasının baytları.
  • token_per_repo_id (dict, isteğe bağlı) — Hub'daki özel depolardaki video dosyalarına erişmek ve çözümlemek için, repo_id (str) -> token (bool veya str) biçiminde bir sözlük geçebilirsiniz.

Örnek video dosyasını video verisine çözümlen.

embed_storage

< >

( storage: StructArraytoken_per_repo_id = Nonelocal_files: bool = Trueremote_files: bool = True ) → pa.StructArray

Parametreler

  • storage (pa.StructArray) — Gömülecek PyArrow dizisi.
  • token_per_repo_id (dict, isteğe bağlı) — Dosya baytlarını almak için repo_id -> token sözlüğü.
  • local_files (bool, varsayılan olarak True) — yerel dosya verilerinin diziye gömülüp gömülmemesi

    4.8.5 sürümünde eklendi

  • remote_files (bool, varsayılan olarak True) — Dizide uzaktaki dosya verilerini gömüp gömmeyeceğini belirtir. Örn. hf:// veya https:// ile başlayan yollara sahip dosyalar

    4.8.5 sürümünde eklendi

Dönüş değeri

pa.StructArray

Video'daki pa.struct({"bytes": pa.binary(), "path": pa.string()}) olan arrow depolama türündeki dizi,

Görsel dosyalarını Arrow dizisine gömün.

encode_example

< >

( value: typing.Union[str, bytes, bytearray, datasets.features.video.Example, numpy.ndarray, ForwardRef('VideoDecoder')] )

Parametreler

  • value (str, np.ndarray, bytes, bytearray, VideoDecoder veya dict) — Video özelliğine girdi olarak geçirilen veri.

Örneği Arrow için bir formata kodlayın.

flatten

< >

( )

Çözülebilir durumda ise özelliğin kendisini, aksi halde özelliği bir sözlüğe düzleştirerek döndürür.

Mesh

sınıf datasets.Mesh

< >

( decode: bool = Trueid: typing.Optional[str] = None )

Parametreler

  • decode (bool, varsayılan True) — Mesh verisinin çözümlenip çözümlenmeyeceğini belirtir. False ise, alttaki sözlük {"path": mesh_path, "bytes": mesh_bytes} biçiminde döndürülür. Mesh çözümleme trimesh kullanır ve .glb, .gltf, .ply ile .stl dosyalarını destekler.

Bir dosyadan 3D mesh verisi okumak için Feature sınıfı.

Girdi: Mesh özelliği girdi olarak şunları kabul eder:

  • A str: Mesh dosyasının mutlak yolu (yani rastgele erişime izin verilir).

  • A pathlib.Path: mesh dosyasına giden yol (yani rastgele erişime izin verilir).

  • Şu anahtarlara sahip bir dict:

    • path: Arşiv dosyasına göre mesh dosyasının göreli yolunu içeren String.
    • bytes: Mesh dosyasının baytları.

    Bu, mesh dosyalarını gömülü olarak içeren parquet veya webdataset dosyaları için kullanışlıdır.

  • A trimesh.Trimesh veya trimesh.Scene: 3B ağ veya sahne nesnesi.

Çıktı: Mesh özelliği verileri trimesh.Trimesh veya trimesh.Scene nesneleri olarak üretir.

cast_storage

< >

( storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray] ) → pa.StructArray

Parametreler

  • storage (Union[pa.StringArray, pa.StructArray]) — Dönüştürülecek PyArrow dizisi.

Dönüş değeri

pa.StructArray

Mesh arrow depolama türündeki dizi, yani pa.struct({"bytes": pa.binary(), "path": pa.string()}).

Bir Arrow dizisini Mesh arrow depolama türüne dönüştürür. Mesh pyarrow depolama türüne dönüştürülebilen Arrow türleri şunlardır:

  • pa.string() - “path” verisi içermelidir
  • pa.large_string() - “path” verisi içermelidir (mümkünse string'e dönüştürülür)
  • pa.binary() - mesh baytlarını içermelidir
  • pa.struct({"bytes": pa.binary()})
  • pa.struct({"path": pa.string()})
  • pa.struct({"bytes": pa.binary(), "path": pa.string()}) - sıra önemli değildir

decode_example

< >

( value: dicttoken_per_repo_id = None )

Parametreler

  • value (dict) — Aşağıdaki anahtarlara sahip bir sözlük:
    • path: Mutlak veya göreli mesh dosya yolunu içeren String.
    • bytes: Mesh dosyasının baytları.
  • token_per_repo_id (dict, isteğe bağlı) — Hub'daki özel depolardaki mesh dosyalarına erişmek ve çözmek için, repo_id (str) -> token (bool veya str) biçiminde bir sözlük geçebilirsiniz.

Örnek mesh dosyasını çözümlenir.

embed_storage

< >

( storage: StructArraytoken_per_repo_id = Nonelocal_files: bool = Trueremote_files: bool = True ) → pa.StructArray

Parametreler

  • storage (pa.StructArray) — Gömülecek PyArrow dizisi.
  • token_per_repo_id (dict, isteğe bağlı) — Dosya baytlarını almak için repo_id -> token sözlüğü.
  • local_files (bool, varsayılan True) — Dizide yerel dosya verilerinin gömülüp gömülmemesi.
  • remote_files (bool, varsayılan True) — Dizide uzaktaki dosya verilerini gömülecek mi?

Dönüş değeri

pa.StructArray

Mesh arrow depolama türündeki dizi, yani pa.struct({"bytes": pa.binary(), "path": pa.string()}).

Mesh dosyalarını Arrow dizisine gömün.

encode_example

< >

( value: typing.Union[str, bytes, bytearray, dict, ForwardRef('trimesh.Trimesh'), ForwardRef('trimesh.Scene')] )

Parametreler

  • value (str, bytes, dict, trimesh.Trimesh veya trimesh.Scene) — Mesh özelliğine girdi olarak iletilen veri.

Örneği Arrow için bir formata kodlayın.

flatten

< >

( )

Çözülebilir durumda ise özelliğin kendisini, aksi halde özelliği bir sözlüğe düzleştirerek döndürür.

Json

sınıf datasets.Json

< >

( decode: bool = Trueid: typing.Optional[str] = None )

JSON nesneleri için özellik türü.

Arka planda nesneler JSON kodlu dizgeler olarak saklanır.

Örnek:

>>> from datasets import Features, Json
>>> features = Features({'json': Json()})
>>> features
{'json': Json()}
>>> 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

< >

( storage: Array ) → pa.JsonArray

Parametreler

  • storage (Union[pa.StringArray, pa.IntegerArray]) — Dönüştürülecek PyArrow dizisi.

Dönüş değeri

pa.JsonArray

Json ok depolama türündeki dizi.

Bir Arrow dizisini Json arrow depolama türüne dönüştürür.

Pdf

sınıf datasets.Pdf

< >

( decode: bool = Trueid: typing.Optional[str] = None )

Parametreler

  • decode (bool, varsayılan True) — pdf verisinin çözümlenip çözümlenmeyeceğini belirtir. False ise, alttaki sözlük {"path": pdf_path, "bytes": pdf_bytes} biçiminde döndürülür.

Deneysel. Pdf dosyalarından pdf belgelerini okumak için Pdf Feature.

Girdi: Pdf özelliği girdi olarak şunları kabul eder:

  • str: pdf dosyasının mutlak yolu (yani rastgele erişime izin verilir).

  • A pathlib.Path: pdf dosyasının yolu (yani rastgele erişime izin verilir).

  • Şu anahtarlara sahip bir dict:

    • path: Veri seti deposundaki pdf dosyasının göreli yolunu içeren String.
    • bytes: pdf dosyasının baytları. Bu, ardışık erişim gerektiren arşivlenmiş dosyalar için kullanışlıdır.
  • pdfplumber.pdf.PDF: pdfplumber pdf nesnesi.

Örnekler:

>>> 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

< >

( storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray, pyarrow.lib.ListArray] ) → pa.StructArray

Parametreler

  • storage (Union[pa.StringArray, pa.StructArray, pa.ListArray]) — Dönüştürülecek PyArrow dizisi.

Dönüş değeri

pa.StructArray

Pdf ok depolama türündeki dizi, yani pa.struct({"bytes": pa.binary(), "path": pa.string()}).

Bir Arrow dizisini Pdf arrow depolama türüne dönüştürür. Pdf pyarrow depolama türüne dönüştürülebilen Arrow türleri şunlardır:

  • pa.string() - “path” verisi içermelidir
  • pa.binary() - görüntü baytlarını içermelidir
  • pa.struct({"bytes": pa.binary()})
  • pa.struct({"path": pa.string()})
  • pa.struct({"bytes": pa.binary(), "path": pa.string()}) - sıra önemli değildir
  • pa.list(*) - pdf dizisi verilerini içermelidir

decode_example

< >

( value: dicttoken_per_repo_id = None )

Parametreler

  • value (str veya dict) — Mutlak pdf dosya yolunu içeren bir dize, şu anahtarlara sahip bir sözlük:
    • path: Mutlak veya göreli pdf dosya yolu içeren String.
    • bytes: pdf dosyasının baytları.
  • token_per_repo_id (dict, isteğe bağlı) — Hub'daki özel depolardaki pdf dosyalarına erişmek ve çözümlemek için, repo_id (str) -> token (bool veya str) biçiminde bir sözlük geçebilirsiniz.

Örnek pdf dosyasını pdf verisine dönüştürün.

embed_storage

< >

( storage: StructArraytoken_per_repo_id = Nonelocal_files: bool = Trueremote_files: bool = True ) → pa.StructArray

Parametreler

  • storage (pa.StructArray) — Gömülecek PyArrow dizisi.
  • token_per_repo_id (dict, isteğe bağlı) — Dosya baytlarını almak için repo_id -> token sözlüğü.
  • local_files (bool, varsayılan olarak True) — yerel dosya verilerinin diziye gömülüp gömülmemesi

    4.8.5 sürümünde eklendi

  • remote_files (bool, varsayılan olarak True) — Dizide uzaktaki dosya verilerini gömüp gömmeyeceğini belirtir. Örn. hf:// veya https:// ile başlayan yollara sahip dosyalar

    4.8.5 sürümünde eklendi

Dönüş değeri

pa.StructArray

PDF okuma depolama türündeki dizi, yani pa.struct({"bytes": pa.binary(), "path": pa.string()}).

PDF dosyalarını Arrow dizisine gömün.

encode_example

< >

( value: typing.Union[str, bytes, bytearray, dict, ForwardRef('pdfplumber.pdf.PDF')] )

Parametreler

  • value (str, bytes, pdfplumber.pdf.PDF veya dict) — Pdf özelliğine girdi olarak geçirilen veri.

Örneği Arrow için bir formata kodlayın.

flatten

< >

( )

Çözülebilir durumda ise özelliğin kendisini, aksi halde özelliği bir sözlüğe düzleştirerek döndürür.

Nifti

sınıf datasets.Nifti

< >

( decode: bool = Trueid: typing.Optional[str] = None )

Parametreler

  • decode (bool, varsayılan True) — NIfTI verilerinin çözümlenip çözümlenmeyeceğini belirtir. False ise baytları içeren bir dize döndürülür. Örnekler çözümlenirken decode=False desteklenmez.

Deneysel. NIfTI nörogörüntüleme dosyalarını okumak için Nifti Feature.

Girdi: Nifti özelliği girdi olarak şunları kabul eder:

  • A str: NIfTI dosyasının mutlak yolu (yani rastgele erişime izin verilir).

  • A pathlib.Path: NIfTI dosyasına giden yol (yani rastgele erişime izin verilir).

  • Şu anahtarlara sahip bir dict:

    • path: Veri seti deposundaki NIfTI dosyasının göreli yolunu içeren String.
    • bytes: NIfTI dosyasının baytları. Bu, ardışık erişim gerektiren arşivlenmiş dosyalar için kullanışlıdır.
  • Bir nibabel görüntü nesnesi (ör. nibabel.nifti1.Nifti1Image).

Örnekler:

>>> 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

< >

( storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray, pyarrow.lib.BinaryArray] ) → pa.StructArray

Parametreler

  • storage (Union[pa.StringArray, pa.StructArray, pa.BinaryArray]) — Dönüştürülecek PyArrow dizisi.

Dönüş değeri

pa.StructArray

Nifti ok depolama türündeki dizi, yani pa.struct({"bytes": pa.binary(), "path": pa.string()}).

Bir Arrow dizisini Nifti arrow depolama türüne dönüştürür. Nifti pyarrow depolama türüne dönüştürülebilen Arrow türleri şunlardır:

  • pa.string() - “path” verisi içermelidir
  • pa.binary() - NIfTI baytlarını içermelidir
  • pa.struct({"bytes": pa.binary()})
  • pa.struct({"path": pa.string()})
  • pa.struct({"bytes": pa.binary(), "path": pa.string()}) - sıra önemli değildir

decode_example

< >

( value: dicttoken_per_repo_id = None )

Parametreler

  • value (str veya dict) — Mutlak NIfTI dosya yolunu içeren bir dize, şu anahtarlara sahip bir sözlük:
    • path: Mutlak veya göreli NIfTI dosya yolunu içeren String.
    • bytes: NIfTI dosyasının baytları.
  • token_per_repo_id (dict, isteğe bağlı) — Hub'daki özel depolardaki NIfTI dosyalarına erişmek ve çözmek için, repo_id (str) -> token (bool veya str) biçiminde bir sözlük geçebilirsiniz.

NIfTI dosyasını nibabel görüntü nesnesine çözümlen.

embed_storage

< >

( storage: StructArraytoken_per_repo_id = Nonelocal_files: bool = Trueremote_files: bool = True ) → pa.StructArray

Parametreler

  • storage (pa.StructArray) — Gömülecek PyArrow dizisi.
  • token_per_repo_id (dict, isteğe bağlı) — Dosya baytlarını almak için repo_id -> token sözlüğü.
  • local_files (bool, varsayılan olarak True) — yerel dosya verilerinin diziye gömülüp gömülmemesi

    4.8.5 sürümünde eklendi

  • remote_files (bool, varsayılan olarak True) — Dizide uzaktaki dosya verilerini gömüp gömmeyeceğini belirtir. Örn. hf:// veya https:// ile başlayan yollara sahip dosyalar

    4.8.5 sürümünde eklendi

Dönüş değeri

pa.StructArray

NifTI ok (arrow) depolama türündeki dizi, yani pa.struct({"bytes": pa.binary(), "path": pa.string()}).

NifTI dosyalarını Arrow dizisine gömün.

encode_example

< >

( value: typing.Union[str, bytes, bytearray, dict, ForwardRef('nib.Nifti1Image')] )

Parametreler

  • value (str, bytes, nibabel.Nifti1Image veya dict) — Nifti özelliğine girdi olarak geçirilen veri.

Örneği Arrow için bir formata kodlayın.

flatten

< >

( )

Çözülebilir durumda ise özelliğin kendisini, aksi halde özelliği bir sözlüğe düzleştirerek döndürür.

BioSequence

sınıf datasets.BioSequence

< >

( format: str = 'fasta'decode: bool = Trueid: typing.Optional[str] = None )

Parametreler

  • format (str, varsayılan "fasta") — Bio.SeqIO tarafından anlaşılan dizi biçiminin adı. Yaygın değerler "fasta", "fastq" ve "genbank"'tır.
  • decode (bool, varsayılan True) — Dizgi verisinin çözümlenip çözümlenmeyeceğini belirtir. False ise, alttaki sözlük {"path": path, "bytes": bytes} biçiminde döndürülür.

Deneysel. Biyolojik dizi kayıtlarını bir dizi dosyasından okumak için BioSequence Feature.

Bir dizi dosyası, tanımlayıcıları ve açıklamalarıyla birlikte bir veya daha fazla kalıntı kaydını içerir. FASTA, FASTQ ve GenBank bu düzeyde aynı yapıya sahiptir; yalnızca kullanılan ayrıştırıcı farklıdır. Bu nedenle format türü değil, ayrıştırıcıyı seçer.

Girdi: BioSequence özelliği girdi olarak şunları kabul eder:

  • str: Sıra dosyasının mutlak yolu (yani rastgele erişime izin verilir).

  • A pathlib.Path: dizgi dosyasına giden yol (yani rastgele erişime izin verilir).

  • Şu anahtarlara sahip bir dict:

    • path: Veri seti deposundaki dizgi dosyasının göreli yolunu içeren String.
    • bytes: Sıralı dosyanın baytları. Bu, sıralı erişim gerektiren arşivlenmiş dosyalar için kullanışlıdır.
  • A Bio.SeqRecord.SeqRecord: biopython dizisi kaydı.

Örnekler:

>>> 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

< >

( storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray] ) → pa.StructArray

Parametreler

  • storage (Union[pa.StringArray, pa.StructArray]) — Dönüştürülecek PyArrow dizisi.

Dönüş değeri

pa.StructArray

BioSequence ok depolama türündeki dizi, yani pa.struct({"bytes": pa.binary(), "path": pa.string()}).

Bir Arrow dizisini BioSequence arrow depolama türüne dönüştürür. BioSequence pyarrow depolama türüne dönüştürülebilen Arrow türleri şunlardır:

  • pa.string() - “path” verisi içermelidir
  • pa.binary() - dosya baytlarını içermelidir
  • pa.struct({"bytes": pa.binary()})
  • pa.struct({"path": pa.string()})
  • pa.struct({"bytes": pa.binary(), "path": pa.string()}) - sıra önemli değildir

decode_example

< >

( value: dicttoken_per_repo_id = None )

Parametreler

  • value (str veya dict) — Mutlak dosya yolunu içeren bir dize veya şu anahtarlara sahip bir sözlük:
    • path: Mutlak veya göreli dosya yolu içeren bir String.
    • bytes: Dosyanın baytları.
  • token_per_repo_id (dict, isteğe bağlı) — Hub'daki özel depolardaki dosyalara erişmek ve çözümlemek için, repo_id (str) -> token (bool veya str) biçiminde bir sözlük geçebilirsiniz.

Örnek dizilim dosyasını bir biopython kaydına çözümlen.

Bir dosya birçok kayıt içerebilir; bu, bir satırın bir kayda karşılık gelmesi nedeniyle ilk kaydı döndürür. Çok kayıtlı bir dosyayı kayıt başına bir satır olacak şekilde genişletmek için paketlenmiş dizi yükleyicilerini kullanın.

embed_storage

< >

( storage: StructArraytoken_per_repo_id = Nonelocal_files: bool = Trueremote_files: bool = True ) → pa.StructArray

Parametreler

  • storage (pa.StructArray) — Gömülecek PyArrow dizisi.
  • token_per_repo_id (dict, isteğe bağlı) — Dosya baytlarını almak için repo_id -> token sözlüğü.
  • local_files (bool, varsayılan True) — Dizide yerel dosya verilerinin gömülüp gömülmemesi.
  • remote_files (bool, varsayılan True) — Dizide uzaktaki dosya verilerini gömülecek mi?

Dönüş değeri

pa.StructArray

BioSequence arrow depolama türündeki Array.

Dizi dosyalarını Arrow dizisine gömün.

encode_example

< >

( value: typing.Union[str, bytes, bytearray, dict, ForwardRef('SeqRecord')] )

Parametreler

  • value (str, bytes, Bio.SeqRecord.SeqRecord veya dict) — BioSequence özelliğine girdi olarak geçirilen veri.

Örneği Arrow için bir formata kodlayın.

flatten

< >

( )

Çözülebilir durumda ise özelliğin kendisini, aksi halde özelliği bir sözlüğe düzleştirerek döndürür.

BioStructure

sınıf datasets.BioStructure

< >

( format: str = 'pdb'decode: bool = Trueid: typing.Optional[str] = None )

Parametreler

  • format (str, varsayılan "pdb") — Yapı biçimi, "pdb" veya "mmcif".
  • decode (bool, varsayılan True) — Yapı verilerinin çözümlenip çözümlenmeyeceğini belirtir. False ise, alttaki sözlük {"path": path, "bytes": bytes} biçiminde döndürülür.

Deneysel. Yapı dosyasından makromoleküler yapıları okumak için BioStructure Feature.

Yapı dosyası, bir molekülün atomlarının üç boyutlu koordinatlarını, zincirler ve kalıntılar halinde gruplandırılmış olarak içerir. PDB ve mmCIF aynı nesneleri tanımlar ve yalnızca kullanılan ayrıştırıcıda farklılık gösterir; bu nedenle format türü değil, ayrıştırıcıyı seçer.

Girdi: BioStructure özelliği girdi olarak şunları kabul eder:

  • A str: Yapı dosyasına mutlak yol (yani rastgele erişime izin verilir).

  • A pathlib.Path: yapı dosyasına giden yol (yani rastgele erişime izin verilir).

  • Şu anahtarlara sahip bir dict:

    • path: Veri seti deposundaki yapı dosyasının göreli yolunu içeren String.
    • bytes: Yapı dosyasının baytları. Bu, ardışık erişimle çalışan arşivlenmiş dosyalar için kullanışlıdır.
  • A Bio.PDB.Structure.Structure: biopython yapısı.

Örnekler:

>>> 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

< >

( storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray] ) → pa.StructArray

Parametreler

  • storage (Union[pa.StringArray, pa.StructArray]) — Dönüştürülecek PyArrow dizisi.

Dönüş değeri

pa.StructArray

BioStructure arrow depolama türündeki dizi, yani pa.struct({"bytes": pa.binary(), "path": pa.string()}).

Bir Arrow dizisini BioStructure arrow depolama türüne dönüştürür. BioStructure pyarrow depolama türüne dönüştürülebilen Arrow türleri şunlardır:

  • pa.string() - “path” verisi içermelidir
  • pa.binary() - dosya baytlarını içermelidir
  • pa.struct({"bytes": pa.binary()})
  • pa.struct({"path": pa.string()})
  • pa.struct({"bytes": pa.binary(), "path": pa.string()}) - sıra önemli değildir

decode_example

< >

( value: dicttoken_per_repo_id = None )

Parametreler

  • value (str veya dict) — Mutlak dosya yolunu içeren bir dize veya şu anahtarlara sahip bir sözlük:
    • path: Mutlak veya göreli dosya yolu içeren bir String.
    • bytes: Dosyanın baytları.
  • token_per_repo_id (dict, isteğe bağlı) — Hub'daki özel depolardaki dosyalara erişmek ve çözümlemek için, repo_id (str) -> token (bool veya str) biçiminde bir sözlük geçebilirsiniz.

Decode örnek yapı dosyasını bir biopython yapısına dönüştürün.

embed_storage

< >

( storage: StructArraytoken_per_repo_id = Nonelocal_files: bool = Trueremote_files: bool = True ) → pa.StructArray

Parametreler

  • storage (pa.StructArray) — Gömülecek PyArrow dizisi.
  • token_per_repo_id (dict, isteğe bağlı) — Dosya baytlarını almak için repo_id -> token sözlüğü.
  • local_files (bool, varsayılan True) — Dizide yerel dosya verilerinin gömülüp gömülmemesi.
  • remote_files (bool, varsayılan True) — Dizide uzaktaki dosya verilerini gömülecek mi?

Dönüş değeri

pa.StructArray

BioStructure arrow depolama türündeki dizi.

Yapı dosyalarını Arrow dizisine gömün.

encode_example

< >

( value: typing.Union[str, bytes, bytearray, dict, ForwardRef('Structure')] )

Parametreler

  • value (str, bytes, Bio.PDB.Structure.Structure veya dict) — BioStructure özelliğine girdi olarak geçirilen veri.

Örneği Arrow için bir formata kodlayın.

flatten

< >

( )

Çözülebilir durumda ise özelliğin kendisini, aksi halde özelliği bir sözlüğe düzleştirerek döndürür.

Dosya Sistemleri

datasets.filesystems.is_remote_filesystem

< >

( fs: AbstractFileSystem )

Parametreler

  • fs (fsspec.spec.AbstractFileSystem) — Pythonik dosya sistemleri için soyut süper sınıf, örn. fsspec.filesystem('file') veya s3fs.S3FileSystem.

fs'in uzak bir dosya sistemi olup olmadığını kontrol eder.

Parmak izi

sınıf datasets.fingerprint.Hasher

< >

( )

Girdi olarak Python nesnelerini kabul eden Hasher.

Update on GitHub