timm documentation

Veriler

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Veriler

Bu sayfa, timm.data alt paketinin API referans belgelerini ve sağladığı giriş hattının genel bakışını içerir: bir modelin ön işleme yapılandırmasını çözümleme, dönüşümleri oluşturma, veri kümeleri ve yükleyiciler oluşturma, Mixup / CutMix ve NaFlex değişken çözümleme yükleyicisi.

Kullanım

Bir pipeline dört adımda oluşturulur: resolve_model_data_config modelin ön işleme yapılandırmasını okur, create_transform eğitim veya değerlendirme dönüşümünü oluşturur, create_dataset ad ve kök üzerinden bir veri seti oluşturur ve create_loader bir veri seti için dönüşümü ve veri yükleyiciyi oluşturur.

import os
import tempfile

import torch
from PIL import Image

import timm
from timm.data import create_dataset, create_loader, create_transform, resolve_model_data_config

model = timm.create_model('resnet50', pretrained=False).eval()

# Preprocessing config from the model's pretrained_cfg, the default pretrained tag's config is attached to the model
# with or without pretrained weights.
data_config = resolve_model_data_config(model)
print(data_config)
# {'input_size': (3, 224, 224), 'interpolation': 'bicubic', 'mean': (0.485, 0.456, 0.406),
#  'std': (0.229, 0.224, 0.225), 'crop_pct': 0.95, 'crop_mode': 'center'}

# Eval transform for a PIL image, resize to 224 / crop_pct, center crop 224, to tensor and normalize.
transform = create_transform(**data_config, is_training=False)
img = Image.new('RGB', (320, 240), color=(200, 120, 40))
with torch.no_grad():
    output = model(transform(img).unsqueeze(0))  # (1, 1000)

# A folder dataset, <root>/<split>/<class>/<image>, two classes w/ four generated images each.
root = tempfile.mkdtemp()
for i, cls in enumerate(('cat', 'dog')):
    os.makedirs(os.path.join(root, 'validation', cls))
    for j in range(4):
        path = os.path.join(root, 'validation', cls, f'{j}.jpg')
        Image.new('RGB', (300, 200), color=(60 * i, 40 * j, 128)).save(path)

dataset = create_dataset('', root=root, split='validation')  # finds the 'validation' sub-folder
print(len(dataset), dataset.reader.class_to_idx)  # 8 {'cat': 0, 'dog': 1}

# The loader creates the transform from the same config and assigns it to the dataset.
loader = create_loader(dataset, **data_config, batch_size=4, use_prefetcher=False, num_workers=0)
with torch.no_grad():
    for images, targets in loader:
        output = model(images)  # images (4, 3, 224, 224), targets (4,)

Hızlı başlangıç, çıkarım için yapılandırma ve dönüştürme adımlarını adım adım açıklar.

Eğitim betiği (train.py), hattın her bölümü için bu seçenekleri sunar.

Girdi yapılandırması geçersiz kılma (resolve_input_data_config):

  • --input-size, giriş biçimini (C, H, W) olarak ayarlar.
  • --img-size, modelin kanal sayısını koruyarak --input-size parametresinin kare kısayoludur.
  • --in-chans giriş kanallarını ayarlar.
  • --interpolation yeniden boyutlandırma interpolasyonunu ayarlar.
  • --mean normalizasyon ortalamasını ayarlar.
  • --std normalizasyon standart sapmasını ayarlar.
  • --crop-pct değerlendirme kırpma oranını ayarlar.

Veri seti oluşturma (create_dataset) ve hedef ayarları:

  • --dataset veri setini ve okuyucuyu seçer.
  • --data-dir veri seti kök dizinini ayarlar.
  • --train-split eğitim bölmesini seçer.
  • --val-split doğrulama bölmesini seçer.
  • --class-map sınıf eşlemesini sağlar.
  • --input-img-mode görüntü renk dönüşüm modunu ayarlar.
  • --input-key görüntü alanını seçer.
  • --target-key etiket alanını veya alanlarını seçer.
  • --target-format sınıf endekslerini veya yoğun çoklu-sıcak hedefleri seçer.

Yükleme ve artırma seçenekleri (create_loader) şunları içerir:

  • --aa otomatik artırma politikasını seçer.
  • --reprob rastgele silme olasılığını ayarlar.
  • --remode rastgele silme doldurma modunu seçer.
  • --scale rastgele yeniden boyutlandırılmış kırpma ölçek aralığını ayarlar.
  • --ratio rastgele yeniden boyutlandırılmış kırpma en-boy oranı aralığını ayarlar.
  • --hflip yatay çevirme olasılığını ayarlar.
  • --color-jitter renk titremesi gücünü ayarlar.
  • --train-interpolation, eğitim yeniden boyutlandırma interpolasyonunu ayarlar.
  • --workers yükleyici işçi sayısını belirler.
  • --no-prefetcher ön yükleyiciyi devre dışı bırakır.

Mixup ve CutMix (Mixup):

  • --mixup Mixup alfasını ayarlar.
  • --cutmix, CutMix alfasını ayarlar.
  • --cutmix-minmax, CutMix kutu boyutu aralığını ayarlar.
  • --mixup-prob karıştırma olasılığını ayarlar.
  • --mixup-switch-prob, her iki yöntem etkinleştirildiğinde CutMix'in seçilme olasılığını belirler.
  • --mixup-mode batch, pair veya element-wise karıştırmayı seçer.
  • --smoothing etiket yumuşatmasını ayarlar.

Örnekler için Scripts bölümüne bakın.

Veri yapılandırması

resolve_data_config, aşağıdaki anahtarlara sahip bir dict döndürür; bu anahtarlar create_transform ve create_loader argümanlarıyla eşleşir. args (örneğin ayrıştırılmış komut satırı argümanlarının vars(args) ifadesiyle elde edilen bir dict) içinde ayarlanan değerler, varsayılan olarak model.pretrained_cfg olan pretrained_cfg argümanına göre önceliklidir. resolve_model_data_config, modelin ilk argüman olarak geçtiği aynı işlevi görür.

Her ikisi de, kaynak kontrol noktasını tanımlayan, farklı bir img_size veya in_chans kullanmak üzere oluşturulmuş veya değiştirilmiş bir modeli değil, önceden eğitilmiş cfg'den giriş boyutunu ve kanalları okur. Eğitim, doğrulama ve çıkarım betiklerinde kullanılan resolve_input_data_config, bunun yerine modelin mevcut girdisine göre çözümleme yapar: sabit giriş boyutuna sahip bir model her zaman mevcut boyutunu alır, modelin kanalları veya sabit boyutuyla çelişen açık args bir hata yükseltir ve kanal sayısıyla eşleşmeyen bir ortalama / standart sapma, ortalama değeriyle değiştirilir (bir uyarıyla birlikte).

Anahtarargs anahtarlarıAçıklamaVarsayılan
input_sizeinput_size, img_size, in_chans(C, H, W) giriş boyutu. use_test_size=True kullanıldığında, yapılandırmanın test_input_size değeri varsa o kullanılır(3, 224, 224)
interpolationinterpolationYeniden boyutlandırma interpolasyonu, bilinear, bicubic, …bicubic
mean, stdmean, stdNormalization, her kanal için tek bir değer tekrarlanırImageNet ortalama / std
crop_pctcrop_pctEval crop, görüntü size boyutuna kırpılmadan önce size / crop_pct boyutuna yeniden boyutlandırılır (use_test_size=True ile test_crop_pct)0.875
crop_modecrop_modeDeğerlendirme kırpma modu, center, squash veya bordercenter

Çıktı size ve scale_size = floor(size / crop_pct) için değerlendirme kırpma modları:

crop_modeDavranış
centerEn kısa kenarı scale_size boyutuna yeniden boyutlandırın (en-boy oranı korunur), ardından size boyutunda ortadan kırpın
squashHer iki kenarı scale_size boyutuna yeniden boyutlandırın (en-boy oranı korunmaz), ardından size boyutuna ortadan kırpın
borderEn uzun kenarı scale_size boyutuna yeniden boyutlandırın, ortadan kırpın ve ortalama renkle doldurun; tüm görüntü crop_pct=1.0 olarak korunur

Dönüşümler

create_transform, torchvision Compose nesnesi döndürür. Değerlendirme dönüştürme işlemi, yukarıda belirtildiği gibi yeniden boyutlandırma ve kırpma yapar, ardından girdiyi tensöre dönüştürüp normalleştirir. Eğitim dönüştürme işlemi ise rastgele yeniden boyutlandırılmış kırpma (varsayılan olarak scale=(0.08, 1.0), ratio=(3/4, 4/3)), yatay çevirme (hflip=0.5), renk sapması (color_jitter=0.4), isteğe bağlı auto_augment politikası, tensör dönüşümü ve normalleştirme ile rastgele silme işlemlerini içerir.

  • train_crop_mode='rkrc' veya 'rkrr', rastgele yeniden boyutlandırılmış kırpma yerine en-boy oranını koruyan bir rastgele yeniden boyutlandırmayı, ardından merkezden (rkrc) veya rastgele (rkrr) kırpma veya dolgu işlemini uygular.
  • interpolation='random' (eğitim için train.py varsayılanı) her görsel için bilineer veya bikübik seçer.
  • no_aug=True eğitim sürecini yalnızca yeniden boyutlandırma ve merkezden kırpma işlemlerine indirger.
auto_augmentArtırma
rand-m9-mstd0.5-inc1RandAugment ile rand_augment_transform
augmix-m5-w4-d2AugMix, augment_and_mix_transform ile
original, originalr, v0, v0r, 3aAutoAugment politikası, auto_augment_transform ile

RandAugment seçenek belirteçleri:

  • m büyüklüğü ayarlar (varsayılan 10).
  • n, görüntü başına işlem sayısını belirler (varsayılan 2).
  • p, işlem başına olasılığı ayarlar (varsayılan 0.5).
  • mstd büyüklük gürültüsü standart sapmasını ayarlar.
  • inc1, büyüklükle birlikte şiddeti artan işlemleri seçer.
  • t<name>, op set'ini seçer (weights, 3a, 3aw).

AugMix seçenek jetonları:

  • m önem derecesini ayarlar (varsayılan 3).
  • w genişliği ayarlar (varsayılan 3).
  • d derinliği ayarlar (varsayılan -1, rastgele 1-3).
  • b1 karışık artırma (blended augmentation) etkinleştirir.
  • mstd büyüklük gürültüsü standart sapmasını ayarlar.

AutoAugment, mstd değerlerini kabul eder, örneğin original-mstd0.5.

Dönüştür davranışı:

  • auto_augment ayarlandığında renk sapması devre dışı bırakılır, ancak dize 3a içermediği sürece.
  • RandomErasing (re_prob, re_count) normalize edilmiş tensör üzerinde çalışır. re_mode sıfırlarla doldurur (const, varsayılan), bölge başına rastgele normal bir renk (rand) veya rastgele normal pikseller (pixel, train.py varsayılanı).
  • use_prefetcher=True, dönüştürmeyi uint8 tensörüyle sonlandırır; normalizasyon ve rastgele silme işlemleri ardından yükleyici tarafından cihaz üzerinde yapılır.
  • create_transform ve create_loader, modelin değerleri yerine varsayılan olarak bilinear interpolasyon ve ImageNet ortalama / standart sapma değerlerini kullanır. Modelin ön eğitimiyle eşleşmesi için çözümlenmiş veri yapılandırmasını iletin.

Veri Setleri

create_dataset, name önekininden veri seti uygulamasını ve okuyucuyu seçer:

nameVeri setirootGereksinimler
'' veya önek yokImageDataset, sınıf alt klasörlerindeki görüntüler (özyinelemeli olarak aranır, yaprak klasör adı sınıfı belirtir) veya aynı yapıya sahip tek bir .tar dosyasıVeri kümesi klasörü veya .tar dosyası
torch/<name>torchvision cifar10, cifar100, mnist, kmnist, fashion_mnist, qmnist, inaturalist (inat), places365, imagenet veya image_folder (folder)torchvision veri seti kökü
hfds/<name>Hugging Face Hub veri setinde (veya yerel yolda) datasets.load_dataset ile ImageDatasetÖnbellek dizini (isteğe bağlı)datasets
hfids/<name>IterableImageDataset, Hugging Face veri seti, akış olarak veya download=True ile önce indirilip hazırlanarakÖnbellek dizini (isteğe bağlı)datasets
tfds/<name>TensorFlow Datasets'te IterableImageDataset, download=True ile indirir ve oluştururTFDS veri dizinitensorflow, tensorflow-datasets
wds/<name>WebDataset tar shard'larında IterableImageDataset_info.json (veya info.json) içeren, bölümleri (splits) açıklayan Shard klasörüwebdataset

Veri seti seçenekleri:

  • split veri seti bölmesini seçer (varsayılan validation). WebDataset için örnek sayısı içeren bir shard deseni de olabilir: 'imagenet-train-{0000..1023}.tar|1281167'.
  • search_split=True (varsayılan), klasör veri kümelerinin root içinde split adlı alt klasörü aramasını sağlar; bu bulunamazsa, bir eğitim (train, training) veya değerlendirme (val, valid, validation, eval, evaluation) bölümünün eş anlamlısını arar.
  • add_img_extensions, varsayılan görüntü uzantılarına (.png, .jpg ve .jpeg) ekler.
  • class_map, bir sözlük, bir .txt (satır başına bir sınıf) veya bir .pkl dosyası kullanarak sınıf adlarını indekslere yeniden eşler.

Yinelenebilir veri kümeleri (hfids, tfds, wds) ayrıca şunları alır:

  • is_training karıştırma işlevini etkinleştirir.
  • batch_size, eğitim sırasında her işçinin örnek payını tam partilere yuvarlar.
  • num_samples, okuyucunun örnek sayısını belirleyemediği durumlarda (hfids bölünme bilgisi olmadan) zorunlu olan örnek sayısını ayarlar.
  • seed rastgele tohumu ayarlar.
  • repeats, epoch başına örnek sayısını çarpar; okuyucular verinin üzerinden o kadar kez geçer.

Her epoch'ta yeniden karıştırmak için dataset.set_epoch() çağrısı yapın.

Diğer anahtar kelime argümanları okuyucuya aktarılır. Hugging Face, TFDS ve WebDataset okuyucuları için:

  • input_key, görüntü alanını seçer (varsayılan olarak image, wds için jpg, png veya webp görüntüsü).
  • target_key, etiket alanını seçer (varsayılan olarak label, wds için .cls dosyası veya target_key ile adlandırılan bir .json yan dosya alanı). Virgülle ayrılmış bir değer, sınıf başına bir ikili alan okur.
  • target_format='multihot', çok etiketli verilerde sınıf endeksleri listeleri yerine yoğun çoklu-sıcak (multi-hot) vektörleri okur.
  • target_transform=MultiLabelTarget(num_classes), hedefleri float çoklu-sıcak tensörler olarak kodlar. Çoklu-sıcak alanlar için MultiLabelTarget parametresine dense=True iletin.

Klasör ve tar okuyucuları tek sınıf dizinleri üretir. Ayrıntılar için çok etiketli sınıflandırma bölümüne bakın.

Yükleyiciler

create_loader, kendi argümanlarından create_transform ile dönüştürmeyi oluşturur, bunu dataset.transform olarak atar (mevcut bir dönüştürme varsa onu değiştirir) ve bir DataLoader döndürür. Eğitim yükleyicileri (is_training=True) karıştırır ve son eksik batch'i atar.

  • Önden yükleyici (Prefetcher). use_prefetcher=True (varsayılan) olduğunda veri kümesi uint8 tensörleri üretir, partiler device (varsayılan cuda, CUDA için yan bir akışta) üzerine taşınır, img_dtype türüne dönüştürülür, normalize edilir ve orada rastgele silme (erasing) uygulanır. device değerini eğitim cihazına ayarlayın veya normalize edilmiş tensörlerden oluşan düz bir DataLoader için use_prefetcher=False kullanın.
  • Dağıtık. distributed=True, map tarzı eğitim veri kümeleri için DistributedSampler (veya num_aug_repeats ile tekrarlı artırma örnekleyici) ve her işlemi aynı örnek sayısına yastıklayan, doğrulama sonuçlarını hafifçe değiştirebilen sıralı bir örnekleyici kullanır. İteratif veri kümeleri, kendilerini işlemler ve işçiler arasında paylaştırır.
  • Collate. collate_fn, varsayılanı (prefetcher ile fast_collate, olmadan default_collate) yerine geçer, örneğin FastCollateMixup ile.
  • Artırma bölümleri. JSD kaybı ile AugMix için (--aug-splits), veri setini AugMixDataset(dataset, num_splits=n) ile sarmalayın ve num_aug_splits=n parametresini iletin. Her batch, temiz bir bölüm ve n - 1 artırılmış bölüm içerir; bunlar prefetcher tarafından batch boyutu boyunca birleştirilir.
  • Planlı çözünürlük. input_size_choices (--train-img-sizes), her batch için giriş boyutunu seçer; isteğe bağlı olarak her seçim için bir batch boyutu (batch_size_choices) ve ilk seçimden son seçime kadar bir progressive zaman çizelgesi ile.

Mixup ve CutMix

Mixup, yükleyiciden sonra cihazda normalize edilmiş görüntü partisini karıştırır. FastCollateMixup aynı argümanları alır ve yükleyici işçilerinde birleştirme sırasında uint8 görüntüleri karıştırır; bunun için ön yükleyici (prefetcher) gereklidir. Her ikisi de timm.loss.SoftTargetCrossEntropy gibi yumuşak hedef kaybı ile kullanılmak üzere, label_smoothing (varsayılan 0.1) uygulanmış yoğun (batch_size, num_classes) hedefleri döndürür ve çift sayı bir parti boyutu gerektirir.

from timm.data import Mixup, FastCollateMixup

# Continuing the example above.
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
mixup_args = dict(mixup_alpha=0.8, cutmix_alpha=1.0, label_smoothing=0.1, num_classes=1000)

# Prefetcher enabled (default), mixed in the loader's collate.
loader = create_loader(
    dataset,
    **data_config,
    batch_size=4,
    is_training=True,
    collate_fn=FastCollateMixup(**mixup_args),
    device=device,
)
for images, targets in loader:
    ...  # images normalized on device, targets (4, 1000)

# Prefetcher disabled, mixed in the training loop.
loader = create_loader(dataset, **data_config, batch_size=4, is_training=True, use_prefetcher=False)
mixup_fn = Mixup(**mixup_args)
for images, targets in loader:
    images, targets = mixup_fn(images.to(device), targets.to(device))

Mixup ve CutMix kontrolleri:

  • mixup_alpha > 0 Mixup'ı etkinleştirir.
  • cutmix_alpha > 0 CutMix'i etkinleştirir.
  • cutmix_minmax, bir kutu boyutu aralığı ile CutMix'i etkinleştirir.
  • switch_prob, her iki yöntem etkinleştirildiğinde CutMix'in seçilme olasılığını belirler.
  • prob karıştırma olasılığını belirler.
  • mode, parametreleri batch başına bir kez, pair (çift) başına veya elem (öğe) başına çizer.
  • multi_label=True, yoğun çok etiketli hedefleri karıştırır ve her etiketi 0.5'e doğru yumuşatır.
  • mixup_enabled = False karıştırmayı kapatır, örneğin son dönemler için (--mixup-off-epoch). FastCollateMixup için bu değer işçi süreçlerinde okunur; kalıcı işçiler, başladıkları değeri korur.

NaFlex değişken çözünürlük

create_naflex_loader, NaFlex yama girdileri alan modeller (ör. naflexvit_* modelleri) için görüntüleri sabit kare boyutuna yeniden boyutlandırmadan, değişken uzunlukta yama dizileri olarak yükler. Her toplu işlem, patches, patch_coord, patch_valid ve seq_len anahtarlarından oluşan bir sözlüktür ve toplu işlemin dizgi uzunluğuna kadar dolgu yapılır.

  • Eğitim. Veri kümesi, NaFlexMapDatasetWrapper ile sarılır (yalnızca map-style veri kümeleri için); bu sarmalayıcı her batch için train_seq_lens listesinden birini seçer ve her görüntüyü o kadar patch'e sığacak şekilde rastgele yeniden boyutlandırır ve kırpılır. batch_size, en uzun dizi uzunluğu için batch boyutudur; daha kısa uzunluklar, batch başına token sayısının yaklaşık olarak sabit kalması için orantılı olarak daha büyük batch'lere sahip olur (8'in katına yuvarlanır). patch_size_choices (patch_size_choice_probs ile birlikte), destekleyen modeller için patch boyutunu da batch başına değiştirir.
  • Değerlendirme. Görseller, verilen patch_size ile (değerlendirme için zorunludur) max_seq_len yamaya sığacak şekilde yeniden boyutlandırılır ve max_seq_len değerine kadar dolgu yapılır.
  • Mixup. mixup_fn olarak NaFlexMixup geçirin; bu, her batch içinde karıştırma yapar ve mode veya cutmix_minmax parametrelerini desteklemez.

train.py seçenekleri şunlardır:

  • --naflex-loader NaFlex yükleyicisini etkinleştirir.
  • --naflex-train-seq-lens eğitim dizisi uzunluklarını ayarlar.
  • --naflex-max-seq-len en yüksek değerlendirme dizisi uzunluğunu ayarlar.
  • --naflex-patch-sizes, değişken yama boyutlu eğitim için yama boyutlarını ayarlar.
  • --naflex-patch-size-probs, bu yama boyutları için olasılıkları ayarlar.
  • --naflex-loss-scale, parti boyutuna göre kayıp ölçeklemesini seçer (none, sqrt veya linear).

API

Veri yapılandırması

timm.data.resolve_data_config

< >

( args = Nonepretrained_cfg = Nonemodel = Noneuse_test_size = Falseverbose = False )

timm.data.resolve_model_data_config

< >

( modelargs = Nonepretrained_cfg = Noneuse_test_size = Falseverbose = False )

Parametreler

  • model (nn.Module) — model örneği
  • args (dict) — sözlük biçiminde komut satırı argümanları / yapılandırma (pretrained_cfg değerini geçersiz kılar)
  • pretrained_cfg (dict) — önceden eğitilmiş model yapılandırması (modele bağlı olan pretrained_cfg değerini geçersiz kılar)
  • use_test_size (bool) — varsayılan eğitim çözünürlüğü yerine test zamanı giriş çözünürlüğünü (varsa) kullanın
  • verbose (bool) — çözümlenen değerlerin ek günlük kaydını etkinleştirir

Model Veri Yapılandırmasını Çöz Bu, resolve_data_config() ile eşdeğerdir ancak modelin başa alınması için argümanların sırası değiştirilmiştir.

timm.data.resolve_input_data_config

< >

( modelargs: typing.Optional[typing.Dict[str, typing.Any]] = Nonepretrained_cfg: typing.Optional[typing.Dict[str, typing.Any]] = Noneuse_test_size: bool = Falseverbose: bool = False )

Ön işleme işlemlerini, mevcut modelin girdi kısıtlamalarına göre çözümlen.

Sabit boyutlar ve kanallar, açık isteklerle uyumlu olmalıdır. Esnek modeller, üstü yazılmadıkça eğitim/test ön işleme önerilerini korur. Normalizasyon, önceden yükleme yükleyicilerin mevcut kanal uyarlama politikasını kullanır.

Dönüşümler

timm.data.create_transform

< >

( input_size: typing.Union[int, typing.Tuple[int, int], typing.Tuple[int, int, int]] = 224is_training: bool = Falseno_aug: bool = Falsetrain_crop_mode: typing.Optional[str] = Nonescale: typing.Optional[typing.Tuple[float, float]] = Noneratio: typing.Optional[typing.Tuple[float, float]] = Nonehflip: float = 0.5vflip: float = 0.0color_jitter: typing.Union[float, typing.Tuple[float, ...]] = 0.4color_jitter_prob: typing.Optional[float] = Nonegrayscale_prob: float = 0.0gaussian_blur_prob: float = 0.0auto_augment: typing.Optional[str] = Noneinterpolation: str = 'bilinear'mean: typing.Tuple[float, ...] = (0.485, 0.456, 0.406)std: typing.Tuple[float, ...] = (0.229, 0.224, 0.225)re_prob: float = 0.0re_mode: str = 'const're_count: int = 1re_num_splits: int = 0crop_pct: typing.Optional[float] = Nonecrop_mode: typing.Optional[str] = Nonecrop_border_pixels: typing.Optional[int] = Nonetf_preprocessing: bool = Falseuse_prefetcher: bool = Falsenormalize: bool = Trueseparate: bool = Falsenaflex: bool = Falsepatch_size: typing.Union[int, typing.Tuple[int, int]] = 16max_seq_len: int = 576patchify: bool = Falsepatchify_channels_last: bool = Truepatchify_flatten: bool = True )

Parametreler

  • input_size — Hedef giriş boyutu (kanal, yükseklik, genişlik) tuple'ı veya boyut skaleri.
  • is_training — Eğitim (rastgele) dönüşümlerini döndürür.
  • no_aug — Eğitim için artırma işlemini devre dışı bırakır (hata ayıklama için faydalıdır).
  • train_crop_mode — Eğitim rastgele kırpma modu (‘rrc’, ‘rkrc’, ‘rkrr’).
  • scale — Rastgele yeniden boyutlandırma ölçek aralığı (kırpma alanı, < 1.0 => yakınlaştırma).
  • ratio — Rastgele en-boy oranı aralığı (RRC için kırpma oranı, RKR için oran ayarlama faktörü).
  • hflip — Yatay çevirme olasılığı.
  • vflip — Dikey çevirme olasılığı.
  • color_jitter — Rastgele renk sapması bileşen katsayıları (parlaklık, kontrast, doygunluk, ton). Skaler, (scalar,) * 3 olarak uygulanır (ton yok).
  • color_jitter_prob — None değilse, bu olasılıkla renk sapması uygula (SimCLR benzeri artırma için).
  • grayscale_prob — Görüntünün gri tonlamaya dönüştürülme olasılığı (SimCLR benzeri artırmalar için).
  • gaussian_blur_prob — Gaussian bulanıklığı uygulama olasılığı (SimCLR benzeri artırmalar için).
  • auto_augment — Auto augment yapılandırma dizesi (bkz. auto_augment.py).
  • interpolation — Görüntü interpolasyon modu.
  • mean — Görüntü normalizasyonu ortalaması.
  • std — Görüntü normalizasyonu standart sapması.
  • re_prob — Rastgele silme olasılığı.
  • re_mode — Rastgele silme doldurma modu.
  • re_count — Rastgele silme bölgelerinin sayısı.
  • re_num_splits — Toplu işlem boyutu boyunca rastgele silme bölünmesini kontrol eder.
  • crop_pct — Çıkarım kırpma yüzdesi (çıktı boyutu / yeniden boyutlandırma boyutu).
  • crop_mode — Çıkarım kırpma modu. [‘squash’, ‘border’, ‘center’] değerlerinden biri. None ise varsayılan olarak ‘center’ kullanılır.
  • crop_border_pixels — Orijinal görüntünün kenarında, belirtilen # piksel genişliğinde çıkarım kenar boşluğu.
  • tf_preprocessing — Model taşımalarını test etmek için TF 1.0 çıkarım ön işleme kullanın
  • use_prefetcher — Ön yükleyici etkin. Görüntüyü tensöre dönüştürmeyin veya normalize etmeyin.
  • normalize — Verilen ortalama/standart sapma ile normalizasyon tensörü çıktısı (prefetcher kullanılmıyorsa).
  • separate — Çıktı dönüşümlerini 3 aşamalı bir demet olarak üretir.
  • patchify — Prefetcher'e güvenmek yerine çıktıyı parçalara ayırın.
  • patchify_channels_last — Her yama içinde channels-last yerleşimini kullanın.
  • patchify_flatten — Değerlendirme yamalarını vektörlere düzleştirir. Modelin yama boyutu interpolasyonu için uzamsal boyutlarına ihtiyaç duyması durumunda devre dışı bırakın.

timm.data.rand_augment_transform

< >

( config_str: strhparams: typing.Optional[typing.Dict] = Nonetransforms: typing.Union[str, typing.Dict, typing.List, NoneType] = None )

Parametreler

  • config_str (str) — Rastgele artırma yapılandırmasını tanımlayan dize. Tire ('-') ile ayrılmış birden fazla bölümden oluşur. İlk bölüm, rand augment'ın belirli bir varyantını tanımlar (şu anda yalnızca 'rand'). Sıralaması önemli olmayan kalan bölümler şunları belirler:
    • ‘m’ - rand augment'in tam sayı büyüklüğü
    • ‘n’ - katman sayısı (her görüntü için seçilen dönüşüm işlemlerinin sayısı)
    • ‘p’ - her katmanın uygulanma olasılığı (varsayılan 0.5)
    • ‘mstd’ - uygulanan büyüklük gürültüsünün float standart sapması, sonsuz (veya > 100) ise düzgün örneklem
    • ‘mmax’ - büyüklük için üst sınırı, varsayılan olan _LEVEL_DENOM (10) değerinden farklı bir değere ayarlayın
    • ‘inc’ - tamsayı (bool), büyüklükle birlikte şiddeti artan artırma yöntemlerini kullan (varsayılan: 0)
    • ‘t’ - kullanılacak dönüştürme setinin str adı
  • hparams (dict) — RandAugmentation şeması için diğer hparams (kwargs)

Bir RandAugment dönüşümü oluşturun

Örnekler:

  • 'rand-m9-n3-mstd0.5', büyüklüğü 9, 3 katman ve büyüklük standart sapması 0.5 olan RandAugment'tir.
  • 'rand-mstd1-tweights', varsayılan büyüklük 10 ve 2 katman ile, büyüklük std'si 1.0 ve ağırlıklı dönüşüm seçimine sahip RandAugment'tir.

timm.data.auto_augment_transform

< >

( config_str: strhparams: typing.Optional[typing.Dict] = None )

Parametreler

  • config_str — Otomatik artırma yapılandırmasını tanımlayan dize. Tire ('-') ile ayrılan birden fazla bölümden oluşur. İlk bölüm, AutoAugment politikasını (‘v0’, ‘v0r’, ‘original’, ‘originalr’ değerlerinden biri) tanımlar. Kalan bölümler ise diğer argümanları tanımlar
    • ‘mstd’ - uygulanan büyüklük gürültüsünün ortalama standart sapması
  • hparams — AutoAugmentation şeması için diğer hparams (kwargs)

AutoAugment dönüşümü oluşturun

Örnekler:

  • 'original-mstd0.5', orijinal politika ve 0.5 büyüklük standart sapmasına sahip AutoAugment'tir.

timm.data.auto_augment.augment_and_mix_transform

< >

( config_str: strhparams: typing.Optional[typing.Dict] = None )

Parametreler

  • config_str (str) — Rastgele artırma yapılandırmasını tanımlayan dize. Tire ('-') ile ayrılmış birden fazla bölümden oluşur. İlk bölüm, rand augment'in belirli bir varyantını tanımlar (şu anda yalnızca 'rand'). Sıralaması önemli olmayan kalan bölümler şunları belirler: 'm' - artırma karışımının tamsayı büyüklüğü (ağırılığı) (varsayılan: 3) 'w' - artırma zincirinin tamsayı genişliği (varsayılan: 3) 'd' - artırma zincirinin tamsayı derinliği (-1 rastgele [1, 3] aralığıdır, varsayılan: -1) 'b' - tamsayı (bool), zincirin her dalını son karışım olmadan sonuca karıştırır, daha az CPU kullanır (varsayılan: 0) 'mstd' - uygulanan büyüklük gürültüsünün kayan sapma (std deviation) değeri (varsayılan: 0) Ör: 'augmix-m5-w4-d2' ifadesi, 5 ağırılık, 4 zincir genişliği ve 2 zincir derinliğine sahip AugMix sonucunu verir
  • hparams — Augmentation dönüşümleri için diğer hparams (kwargs)

AugMix PyTorch dönüşümü oluşturun

sınıf timm.data.random_erasing.RandomErasing

< >

( probability = 0.5min_area = 0.02max_area = 0.3333333333333333min_aspect = 0.3max_aspect = Nonemode = 'const'min_count = 1max_count = Nonenum_splits = 0device = 'cuda' )

Parametreler

  • probability — Random Erasing işleminin uygulanma olasılığı.
  • min_area — Girdi görüntüsü alanına göre silinen alanın minimum yüzdesi.
  • max_area — Girdi görüntüsü alanına göre silinen alanın maksimum yüzdesi.
  • min_aspect — Silinen alanın minimum en-boy oranı.
  • mode — piksel renk modu, ‘const’, ‘rand’ veya ‘pixel’ değerlerinden biri ‘const’ - silme bloğu, tüm kanallar için 0 sabit rengine sahiptir ‘rand’ - silme bloğu, kanal başına aynı rastgele (normal) rengine sahiptir ‘pixel’ - silme bloğu, piksel başına rastgele (normal) rengine sahiptir

Bir görüntüde rastgele bir dikdörtgen bölge seçer ve piksellerini siler. Zhong ve ark. tarafından ‘Random Erasing Data Augmentation’ Bkz. https://arxiv.org/pdf/1708.04896.pdf

Bu RandomErasing varyantı, veri seti ortalaması ve standart sapması ile normalize edilmiş bir parti veya tek görüntü tensörüne uygulanmak üzere tasarlanmıştır.

max_count: görüntü başına silme bloklarının maksimum sayısı, kutu başına alan count ile ölçeklenir. görüntü başına sayı, 1 ile bu değer arasında rastgele seçilir.

Veri Setleri

timm.data.create_dataset

< >

( name: strroot: typing.Optional[str] = Nonesplit: str = 'validation'search_split: bool = Trueclass_map: dict = Noneload_bytes: bool = Falseis_training: bool = Falsedownload: bool = Falsebatch_size: int = 1num_samples: typing.Optional[int] = Noneseed: int = 42repeats: int = 0input_img_mode: str = 'RGB'trust_remote_code: bool = False**kwargs )

Parametreler

  • name — Veri seti adı, klasör tabanlı veri setleri için boş bırakılabilir. Önek (ör. hfds/) büyük/küçük harf duyarsızdır, torch/ adları hariç olmak üzere kalan kısım olduğu gibi (büyük/küçük harf duyarlı) iletilir.
  • root — Veri setinin kök klasörü (Tümü)
  • split — Veri kümesi bölmesi (Tümü)
  • search_split — Kök dizinden bölüme özgü alt kat aramak için kullanılır; böylece komut satırında / yapılandırmada imagenet/ yazılabilir, /imagenet/val gibi tam yollar yerine. (Klasör, Torch)
  • class_map — Sınıf -> indeks eşlemesini metin dosyası veya sözlük (Folder) ile belirtin
  • load_bytes — Verileri yükler, görüntüleri çözümlenmemiş bayt olarak döndürür (Folder)
  • download — Veri seti mevcut değilse ve destekleniyorsa (HFIDS, TFDS, Torch) indir
  • is_training — Veri setini eğitim modunda oluşturur; bu, split'ten farklıdır. Iterable / TDFS için shuffle'ı etkinleştirir, diğer veri setlerinde (TFDS, WDS, HFIDS) yok sayılır.
  • batch_size — İteratif veri kümeleri (TFDS, WDS, HFIDS) için parti boyutu ipucu
  • seed — İteratif veri kümeleri için tohum (TFDS, WDS, HFIDS)
  • repeats — İterasyon başına veri seti tekrarı, yani epoch (TFDS, WDS, HFIDS)
  • input_img_mode — Giriş görüntüsü renk dönüşüm modu, örn. ‘RGB’, ‘L’ (klasör, TFDS, WDS, HFDS, HFIDS)
  • trust_remote_code — True ise Hugging Face Datasets'teki uzaktan kodlara güven (HFDS, HFIDS)
  • **kwargs — Altta yatan Dataset ve/veya Reader sınıflarına iletilecek diğer argümanlar

Veri seti fabrika metodu

Her argümandan sonra parantez içinde, o argüman için desteklenen veri seti türü yer alır; bunlardan biri şudur:

  • Klasör - varsayılan, timm klasörüne (veya tar dosyasına) dayalı ImageDataset
  • Torch - torchvision tabanlı veri kümeleri
  • HFDS - Hugging Face Veri Setleri
  • HFIDS - Hugging Face Datasets İteratif (akış modu, IterableDataset ile)
  • TFDS - IterableImageDataset üzerinden IterableDataset arayüzünde Tensorflow-datasets sarmalayıcısı
  • WDS - Webdataset
  • Tümü - yukarıdakilerden herhangi biri

sınıf timm.data.ImageDataset

< >

( rootreader = Nonesplit = 'train'class_map = Noneload_bytes = Falseinput_img_mode = 'RGB'transform = Nonetarget_transform = Noneadditional_features = None**kwargs )

sınıf timm.data.IterableImageDataset

< >

( rootreader = Nonesplit = 'train'class_map = Noneis_training = Falsebatch_size = 1num_samples = Noneseed = 42repeats = 0download = Falseinput_img_mode = 'RGB'input_key = Nonetarget_key = Nonetransform = Nonetarget_transform = Nonemax_steps = None**kwargs )

sınıf timm.data.AugMixDataset

< >

( datasetnum_splits = 2 )

AugMix veya diğer temiz/artırma karışımlarını gerçekleştirmek için veri seti sarmalayıcısı

sınıf timm.data.MultiLabelTarget

< >

( num_classes: intdense: bool = False )

num_classes uzunluğunda bir float32 multi-hot tensörü olarak çok etiketli bir hedefi kodlayın.

Varsayılan olarak hedef, pozitif sınıf dizinlerinden oluşan bir dizidir: boş dizi, pozitif etiket bulunmadığını ifade eder; tekrarlar izin verilir; negatif, aralık dışı veya tamsayı olmayan değerler reddedilir. dense=True kullanıldığında hedef, num_classes uzunluğunda, [0, 1] aralığında bool, int veya float değerler içeren bir vektördür; doğrulanır ve yumuşak değerler korunarak float32'ye dönüştürülür.

Yükleyiciler

timm.data.create_loader

< >

( dataset: typing.Union[timm.data.dataset.ImageDataset, timm.data.dataset.IterableImageDataset]input_size: typing.Union[int, typing.Tuple[int, int], typing.Tuple[int, int, int]]batch_size: intis_training: bool = Falseno_aug: bool = Falsere_prob: float = 0.0re_mode: str = 'const're_count: int = 1re_split: bool = Falsetrain_crop_mode: typing.Optional[str] = Nonescale: typing.Optional[typing.Tuple[float, float]] = Noneratio: typing.Optional[typing.Tuple[float, float]] = Nonehflip: float = 0.5vflip: float = 0.0color_jitter: float = 0.4color_jitter_prob: typing.Optional[float] = Nonegrayscale_prob: float = 0.0gaussian_blur_prob: float = 0.0auto_augment: typing.Optional[str] = Nonenum_aug_repeats: int = 0num_aug_splits: int = 0interpolation: str = 'bilinear'mean: typing.Tuple[float, ...] = (0.485, 0.456, 0.406)std: typing.Tuple[float, ...] = (0.229, 0.224, 0.225)num_workers: int = 1distributed: bool = Falsecrop_pct: typing.Optional[float] = Nonecrop_mode: typing.Optional[str] = Nonecrop_border_pixels: typing.Optional[int] = Nonecollate_fn: typing.Optional[typing.Callable] = Nonepin_memory: bool = Falsefp16: bool = Falseimg_dtype: dtype = torch.float32device: device = torch.device()use_prefetcher: bool = Trueuse_multi_epochs_loader: bool = Falsepersistent_workers: bool = Trueworker_seeding: str = 'all'tf_preprocessing: bool = Falseinput_size_choices: typing.Optional[typing.Sequence[typing.Union[int, typing.Tuple[int, int], typing.Tuple[int, int, int]]]] = Nonebatch_size_choices: typing.Optional[typing.Sequence[int]] = Nonebatch_choice_weights: typing.Optional[typing.Sequence[float]] = Nonebatch_choice_seed: int = 0batch_choice_schedule: str = 'constant'batch_schedule_epochs: typing.Optional[int] = Nonebatch_schedule_spread: float = 0.65batch_schedule_random_mix: float = 0.1num_batches: typing.Optional[int] = None )

Parametreler

  • dataset — Yükenecek görüntü veri seti.
  • input_size — Hedef giriş boyutu (kanal, yükseklik, genişlik) tuple'ı veya boyut skaleri.
  • batch_size — Bir partideki örnek sayısı.
  • is_training — Eğitim (rastgele) dönüşümlerini döndürür.
  • no_aug — Eğitim için artırma işlemini devre dışı bırakır (hata ayıklama için faydalıdır).
  • re_prob — Rastgele silme olasılığı.
  • re_mode — Rastgele silme doldurma modu.
  • re_count — Rastgele silme bölgelerinin sayısı.
  • re_split — Rastgele silme işleminin batch boyutu üzerinden bölünmesini kontrol eder.
  • scale — Rastgele yeniden boyutlandırma ölçek aralığı (kırpma alanı, < 1.0 => yakınlaştırma).
  • ratio — Rastgele en-boy oranı aralığı (RRC için kırpma oranı, RKR için oran ayarlama faktörü).
  • hflip — Yatay çevirme olasılığı.
  • vflip — Dikey çevirme olasılığı.
  • color_jitter — Rastgele renk sapması bileşen katsayıları (parlaklık, kontrast, doygunluk, ton). Skaler, (scalar,) * 3 olarak uygulanır (ton yok).
  • color_jitter_prob — None değilse, bu olasılıkla renk sapması uygula (SimCLR benzeri art
  • grayscale_prob — Görüntünün gri tonlamaya dönüştürülme olasılığı (SimCLR benzeri artırmalar için).
  • gaussian_blur_prob — Gaussian bulanıklığı uygulama olasılığı (SimCLR benzeri artırmalar için).
  • auto_augment — Auto augment yapılandırma dizesi (bkz. auto_augment.py).
  • num_aug_repeats — Dağıtık GPU'lar arasında aynı artırmanın tekrarlanmasını sağlayan özel örnekleyiciyi etkinleştirir.
  • num_aug_splits — Artırma işlemlerinin batch içinde bölünebileceği modu etkinleştirir.
  • interpolation — Görüntü interpolasyon modu.
  • mean — Görüntü normalizasyonu ortalaması.
  • std — Görüntü normalizasyonu standart sapması.
  • num_workers — Her DataLoader için işçi süreç sayısı.
  • distributed — Dağıtık eğitim için veri yükleme (dataloader) etkinleştirir.
  • crop_pct — Çıkarım kırpma yüzdesi (çıktı boyutu / yeniden boyutlandırma boyutu).
  • crop_mode — Çıkarım kırpma modu. [‘squash’, ‘border’, ‘center’] değerlerinden biri. None ise varsayılan olarak ‘center’ kullanılır.
  • crop_border_pixels — Orijinal görüntünün kenarında, belirtilen # piksel genişliğinde çıkarım kenar boşluğu.
  • collate_fn — Varsayılan collate_fn'i geçersiz kılın.
  • pin_memory — Cihaz aktarımı için belleği sabitle.
  • fp16 — Yarım hassasiyetli giriş veri tipi için kullanımdan kaldırılan argüman. img_dtype kullanın.
  • img_dtype — Girdi görüntüsü için veri türü.
  • device — Girdilerin ve hedeflerin aktarılacağı cihaz.
  • use_prefetcher — Örnekleri cihaza yüklemek için verimli ön-yükleyici kullanın.
  • use_multi_epochs_loader —
  • persistent_workers — num_workers sıfırdan büyük olduğunda kalıcı işçi süreçlerini etkinleştirir.
  • worker_seeding — Başlatma sırasında işçi rastgele tohumlamasını kontrol edin.
  • tf_preprocessing — Model taşımalarını test etmek için TF 1.0 çıkarım ön işleme kullanın.
  • input_size_choices — Planlanan çözünürlük eğitimi için parti başına giriş boyutu seçenekleri.
  • batch_size_choices — Her giriş boyutu seçeneğine karşılık gelen batch boyutu. Belirtilmediğinde tüm seçenekler için batch_size kullanılır.
  • batch_choice_weights — Girdi boyutu seçimleri için örneklem ağırlıkları. Belirtilmediğinde eşit dağılımlıdır.
  • batch_choice_seed — Parti planını oluşturmak ve karıştırmak için kullanılan rastgele tohum.
  • batch_choice_schedule — Seçim zaman çizelgesi modu, constant veya progressive.
  • batch_schedule_epochs — İlerleyici bir zamanlamanın seçenekleri arasında ilerlediği epoch sayısı.
  • batch_schedule_spread — Kademeli seçim penceresinin standart sapması, seçim-indeks birimlerinde.
  • batch_schedule_random_mix — Artımlık bir zamanlamada, sıfır olmayan ağırlıklı seçenekler üzerinde yapılan düzgün rastgele keşif oranı.
  • num_batches — Her epoch için sabit sayıda loader batch'i. Belirtilmediğinde, kademeli zamanlamalar için zamanlama ortalama batch boyutundan çıkarılır.

Mixup ve CutMix

sınıf timm.data.Mixup

< >

( mixup_alpha = 1.0cutmix_alpha = 0.0cutmix_minmax = Noneprob = 1.0switch_prob = 0.5mode = 'batch'correct_lam = Truelabel_smoothing = 0.1num_classes = 1000multi_label = False )

Parametreler

  • mixup_alpha (float) — mixup alpha değeri, > 0 ise mixup etkinleştirilir.
  • cutmix_alpha (float) — cutmix alfa değeri, > 0 ise cutmix etkinleştirilir.
  • cutmix_minmax (List[float]) — cutmix min/max görüntü oranı, cutmix etkinse ve None değilse alpha yerine bu kullanılır.
  • prob (float) — her batch veya öğe için mixup veya cutmix uygulanma olasılığı
  • switch_prob (float) — her ikisi de etkin olduğunda mixup yerine cutmix'e geçme olasılığı
  • mode (str) — mixup/cutmix parametrelerinin nasıl uygulanacağı (‘batch’ başına, ‘pair’ (element çifti), ‘elem’ (element))
  • correct_lam (bool) — cutmix bbox görüntü sınırları tarafından kırpıldığında lambda düzeltmesi uygular
  • label_smoothing (float) — karışık hedef tensörüne label smoothing uygulayın
  • num_classes (int) — hedef için sınıf sayısı
  • multi_label (bool) — Yoğun çok etiketli hedefleri karıştırır, her etiketi 0.5'e doğru yumuşatır.

Her öğeye veya tüm batch'e farklı parametreler uygulayan Mixup/Cutmix

sınıf timm.data.FastCollateMixup

< >

( mixup_alpha = 1.0cutmix_alpha = 0.0cutmix_minmax = Noneprob = 1.0switch_prob = 0.5mode = 'batch'correct_lam = Truelabel_smoothing = 0.1num_classes = 1000multi_label = False )

Her öğeye veya tüm batch'e farklı parametreler uygulayan, Mixup/Cutmix ile hızlı Collate

Partiler toplanırken (collating) gerçekleştirilen bir Mixup uygulaması.

NaFlex

timm.data.create_naflex_loader

< >

( datasetpatch_size: typing.Union[int, typing.Tuple[int, int], NoneType] = Nonepatch_size_choices: typing.Optional[typing.List[int]] = Nonepatch_size_choice_probs: typing.Optional[typing.List[float]] = Nonetrain_seq_lens: typing.Tuple[int, ...] = (128, 256, 576, 784, 1024)max_seq_len: int = 576batch_size: int = 32is_training: bool = Falsemixup_fn: typing.Optional[typing.Callable] = Noneno_aug: bool = Falsere_prob: float = 0.0re_mode: str = 'const're_count: int = 1re_split: bool = Falsetrain_crop_mode: typing.Optional[str] = Nonescale: typing.Optional[typing.Tuple[float, float]] = Noneratio: typing.Optional[typing.Tuple[float, float]] = Nonehflip: float = 0.5vflip: float = 0.0color_jitter: float = 0.4color_jitter_prob: typing.Optional[float] = Nonegrayscale_prob: float = 0.0gaussian_blur_prob: float = 0.0auto_augment: typing.Optional[str] = Nonenum_aug_repeats: int = 0num_aug_splits: int = 0interpolation: str = 'bilinear'mean: typing.Tuple[float, ...] = (0.485, 0.456, 0.406)std: typing.Tuple[float, ...] = (0.229, 0.224, 0.225)channels: int = 3crop_pct: typing.Optional[float] = Nonecrop_mode: typing.Optional[str] = Nonecrop_border_pixels: typing.Optional[int] = Nonenum_workers: int = 4distributed: bool = Falserank: int = 0world_size: int = 1seed: int = 42epoch: int = 0use_prefetcher: bool = Truepin_memory: bool = Trueimg_dtype: dtype = torch.float32device: typing.Union[str, torch.device] = torch.device()persistent_workers: bool = Trueworker_seeding: str = 'all'patchify_channels_last: bool = True )

Parametreler

  • dataset — Yüklenmesi gereken veri seti.
  • patch_size — Kullanılacak tek yama boyutu.
  • patch_size_choices — Değişken yama boyutlu eğitim için yama boyutu listesi.
  • patch_size_choice_probs — Her yama boyutu seçimi için olasılıklar.
  • train_seq_lens — Dinamik toplu işleme için eğitim dizisi uzunlukları.
  • max_seq_len — Doğrulama için sabit dizi uzunluğu.
  • batch_size — Doğrulama için batch boyutu ve maksimum eğitim dizisi uzunluğu.
  • is_training — Bu işlemin eğitim için olup olmadığı (dinamik toplu işleme etkinleştirir).
  • mixup_fn — İsteğe bağlı mixup işlevi.
  • no_aug — Artırma işlemini devre dışı bırakır.
  • re_prob — Rastgele silme olasılığı.
  • re_mode — Rastgele silme modu.
  • re_count — Silme dikdörtgenlerinin maksimum sayısı.
  • re_split — Rastgele silme bölme bayrağı.
  • train_crop_mode — Eğitim kırpma modu.
  • scale — Rastgele yeniden boyutlandırma kırpma için ölçek aralığı.
  • ratio — Rastgele yeniden boyutlandırma kırpma için en-boy oranı aralığı.
  • hflip — Yatay çevirme olasılığı.
  • vflip — Dikey çevirme olasılığı.
  • color_jitter — Renk sapması faktörü.
  • color_jitter_prob — Renk titremesi olasılığı.
  • grayscale_prob — Grayscale dönüşüm olasılığı.
  • gaussian_blur_prob — Gaussian bulanıklık olasılığı.
  • auto_augment — AutoAugment politikası.
  • num_aug_repeats — Artırma tekrarı sayısı.
  • num_aug_splits — Artırma bölme sayısı.
  • interpolation — İnterpolasyon yöntemi.
  • mean — Normalizasyon ortalama değerleri.
  • std — Normalizasyon standart sapma değerleri.
  • channels — Görüntü kanal sayısı, prefetcher'de kanal başına normalizasyon için kullanılır.
  • crop_pct — Doğrulama için kırpma yüzdesi.
  • crop_mode — Kırpma modu.
  • crop_border_pixels — Kenar piksellerini kırp.
  • num_workers — Veri yükleme işçilerinin sayısı.
  • distributed — Dağıtık eğitim kullanılıp kullanılmadığı.
  • rank — Dağıtık eğitim için işlem sırası.
  • world_size — Toplam süreç sayısı.
  • seed — Rastgele tohum.
  • epoch — Başlangıç epoch'u.
  • use_prefetcher — Ön yükleme kullanılacak mı.
  • pin_memory — Belleğin sabitlenip sabitlenmeyeceği.
  • img_dtype — Görüntü veri türü.
  • device — Tensörlerin taşınacağı cihaz.
  • persistent_workers — num_workers sıfırdan büyükse kalıcı işçilerin (persistent workers) kullanılıp kullanılmayacağını belirtir.
  • worker_seeding — İşçi tohumlama modu.
  • patchify_channels_last — Yama başına düz yerleşim. True (varsayılan): kanal indeksi en hızlı değişir (NaFlex varsayılanı). False: C-P-P (kanallar önce — Gemma4 / HF yerel yerleşimi). Yukarı akıştaki Patchify bileşenine ve ön yükleme biriminin normalizasyon yerleşimine iletilir.

Eğitim için dinamik dizi uzunluğu örneklemesiyle bir veri yükleyici oluşturun.

sınıf timm.data.NaFlexMapDatasetWrapper

< >

( base_dataset: Datasetpatch_size: typing.Union[int, typing.Tuple[int, int], NoneType] = Nonepatch_size_choices: typing.Optional[typing.List[int]] = Nonepatch_size_choice_probs: typing.Optional[typing.List[float]] = Noneseq_lens: typing.Tuple[int, ...] = (128, 256, 576, 784, 1024)max_tokens_per_batch: int = 16384transform_factory: typing.Optional[typing.Callable] = Nonemixup_fn: typing.Optional[typing.Callable] = Noneseed: int = 42shuffle: bool = Truedistributed: bool = Falserank: int = 0world_size: int = 1epoch: int = 0batch_divisor: int = 8patchify_channels_last: bool = True )

Harita tarzı bir temel veri seti için IterableDataset sarmalayıcısı.

Değişken dizi uzunluklarına sahip partiler üretir. Toplam veri seti boyutuna (dağıtım için dolgulu) dayanarak bir kanonik parti zamanlamasını (dizi uzunluğu, parti boyutu çiftleri) bir kez hesaplar. Her çağda, bu kanonik zamanlamanın ve veri seti dizinlerinin sırasını karıştırır. Bu, tüm sıralar arasında çağ başına tutarlı bir parti ve örnek sayısını garanti eder. Dağıtık eğitimi ve çoklu işçileri destekler.

set_epoch

< >

( epoch: int )

Parametreler

  • epoch — Yeni epoch numarası.

DataLoader işçileri tarafından okunan, çok işlemci güvenli epoch değerini ayarlayın.

sınıf timm.data.NaFlexMixup

< >

( num_classes: intmixup_alpha: float = 0.8cutmix_alpha: float = 1.0switch_prob: float = 0.5prob: float = 1.0local_shuffle: int = 4label_smoothing: float = 0.0mixup_off_epoch: int = 0multi_label: bool = False )

Karıştırmayı ve hedef üretimini birleştiren çağrılabilir sarmalayıcı.

set_epoch

< >

( epoch: int )

Verilen epoch için mixup durumunu günceller.

Update on GitHub