timm documentation
Veriler
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-sizeparametresinin kare kısayoludur.--in-chansgiriş kanallarını ayarlar.--interpolationyeniden boyutlandırma interpolasyonunu ayarlar.--meannormalizasyon ortalamasını ayarlar.--stdnormalizasyon standart sapmasını ayarlar.--crop-pctdeğerlendirme kırpma oranını ayarlar.
Veri seti oluşturma (create_dataset) ve hedef ayarları:
--datasetveri setini ve okuyucuyu seçer.--data-dirveri seti kök dizinini ayarlar.--train-spliteğitim bölmesini seçer.--val-splitdoğrulama bölmesini seçer.--class-mapsınıf eşlemesini sağlar.--input-img-modegörüntü renk dönüşüm modunu ayarlar.--input-keygörüntü alanını seçer.--target-keyetiket alanını veya alanlarını seçer.--target-formatsınıf endekslerini veya yoğun çoklu-sıcak hedefleri seçer.
Yükleme ve artırma seçenekleri (create_loader) şunları içerir:
--aaotomatik artırma politikasını seçer.--reprobrastgele silme olasılığını ayarlar.--remoderastgele silme doldurma modunu seçer.--scalerastgele yeniden boyutlandırılmış kırpma ölçek aralığını ayarlar.--ratiorastgele yeniden boyutlandırılmış kırpma en-boy oranı aralığını ayarlar.--hflipyatay çevirme olasılığını ayarlar.--color-jitterrenk titremesi gücünü ayarlar.--train-interpolation, eğitim yeniden boyutlandırma interpolasyonunu ayarlar.--workersyükleyici işçi sayısını belirler.--no-prefetcherön yükleyiciyi devre dışı bırakır.
Mixup ve CutMix (Mixup):
--mixupMixup alfasını ayarlar.--cutmix, CutMix alfasını ayarlar.--cutmix-minmax, CutMix kutu boyutu aralığını ayarlar.--mixup-probkarış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-modebatch, pair veya element-wise karıştırmayı seçer.--smoothingetiket 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).
| Anahtar | args anahtarları | Açıklama | Varsayılan |
|---|---|---|---|
input_size | input_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) |
interpolation | interpolation | Yeniden boyutlandırma interpolasyonu, bilinear, bicubic, … | bicubic |
mean, std | mean, std | Normalization, her kanal için tek bir değer tekrarlanır | ImageNet ortalama / std |
crop_pct | crop_pct | Eval 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_mode | crop_mode | Değerlendirme kırpma modu, center, squash veya border | center |
Çıktı size ve scale_size = floor(size / crop_pct) için değerlendirme kırpma modları:
crop_mode | Davranış |
|---|---|
center | En kısa kenarı scale_size boyutuna yeniden boyutlandırın (en-boy oranı korunur), ardından size boyutunda ortadan kırpın |
squash | Her iki kenarı scale_size boyutuna yeniden boyutlandırın (en-boy oranı korunmaz), ardından size boyutuna ortadan kırpın |
border | En 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çintrain.pyvarsayılanı) her görsel için bilineer veya bikübik seçer.no_aug=Trueeğitim sürecini yalnızca yeniden boyutlandırma ve merkezden kırpma işlemlerine indirger.
auto_augment | Artırma |
|---|---|
rand-m9-mstd0.5-inc1 | RandAugment ile rand_augment_transform |
augmix-m5-w4-d2 | AugMix, augment_and_mix_transform ile |
original, originalr, v0, v0r, 3a | AutoAugment politikası, auto_augment_transform ile |
RandAugment seçenek belirteçleri:
mbü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).mstdbü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).wgenişliği ayarlar (varsayılan 3).dderinliği ayarlar (varsayılan -1, rastgele 1-3).b1karışık artırma (blended augmentation) etkinleştirir.mstdbü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_augmentayarlandığında renk sapması devre dışı bırakılır, ancak dize3aiçermediği sürece.RandomErasing(re_prob,re_count) normalize edilmiş tensör üzerinde çalışır.re_modesıfırlarla doldurur (const, varsayılan), bölge başına rastgele normal bir renk (rand) veya rastgele normal pikseller (pixel,train.pyvarsayılanı).use_prefetcher=True, dönüştürmeyiuint8tensörüyle sonlandırır; normalizasyon ve rastgele silme işlemleri ardından yükleyici tarafından cihaz üzerinde yapılır.create_transformvecreate_loader, modelin değerleri yerine varsayılan olarakbilinearinterpolasyon 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:
name | Veri seti | root | Gereksinimler |
|---|---|---|---|
'' veya önek yok | ImageDataset, 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şturur | TFDS veri dizini | tensorflow, 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:
splitveri seti bölmesini seçer (varsayılanvalidation). 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ümelerininrootiçindesplitadlı 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,.jpgve.jpeg) ekler.class_map, bir sözlük, bir.txt(satır başına bir sınıf) veya bir.pkldosyası kullanarak sınıf adlarını indekslere yeniden eşler.
Yinelenebilir veri kümeleri (hfids, tfds, wds) ayrıca şunları alır:
is_trainingkarış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 (hfidsbölünme bilgisi olmadan) zorunlu olan örnek sayısını ayarlar.seedrastgele 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 olarakimage,wdsiçinjpg,pngveyawebpgörüntüsü).target_key, etiket alanını seçer (varsayılan olaraklabel,wdsiçin.clsdosyası veyatarget_keyile adlandırılan bir.jsonyan 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çinMultiLabelTargetparametresinedense=Trueiletin.
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ümesiuint8tensörleri üretir, partilerdevice(varsayılancuda, CUDA için yan bir akışta) üzerine taşınır,img_dtypetürüne dönüştürülür, normalize edilir ve orada rastgele silme (erasing) uygulanır.devicedeğerini eğitim cihazına ayarlayın veya normalize edilmiş tensörlerden oluşan düz birDataLoaderiçinuse_prefetcher=Falsekullanın. - Dağıtık.
distributed=True, map tarzı eğitim veri kümeleri içinDistributedSampler(veyanum_aug_repeatsile 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 ilefast_collate, olmadandefault_collate) yerine geçer, örneğinFastCollateMixupile. - Artırma bölümleri. JSD kaybı ile AugMix için (
--aug-splits), veri setiniAugMixDataset(dataset, num_splits=n)ile sarmalayın venum_aug_splits=nparametresini iletin. Her batch, temiz bir bölüm ven - 1artı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 birprogressivezaman ç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 > 0Mixup'ı etkinleştirir.cutmix_alpha > 0CutMix'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.probkarıştırma olasılığını belirler.mode, parametreleribatchbaşına bir kez,pair(çift) başına veyaelem(öğ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 = Falsekarıştırmayı kapatır, örneğin son dönemler için (--mixup-off-epoch).FastCollateMixupiç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,
NaFlexMapDatasetWrapperile sarılır (yalnızca map-style veri kümeleri için); bu sarmalayıcı her batch içintrain_seq_lenslistesinden 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_probsile birlikte), destekleyen modeller için patch boyutunu da batch başına değiştirir. - Değerlendirme. Görseller, verilen
patch_sizeile (değerlendirme için zorunludur)max_seq_lenyamaya sığacak şekilde yeniden boyutlandırılır vemax_seq_lendeğerine kadar dolgu yapılır. - Mixup.
mixup_fnolarakNaFlexMixupgeçirin; bu, her batch içinde karıştırma yapar vemodeveyacutmix_minmaxparametrelerini desteklemez.
train.py seçenekleri şunlardır:
--naflex-loaderNaFlex yükleyicisini etkinleştirir.--naflex-train-seq-lenseğitim dizisi uzunluklarını ayarlar.--naflex-max-seq-lenen 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,sqrtveyalinear).
API
Veri yapılandırması
timm.data.resolve_data_config
< source >( args = Nonepretrained_cfg = Nonemodel = Noneuse_test_size = Falseverbose = False )
timm.data.resolve_model_data_config
< source >( 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
< source >( 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
< source >( 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
< source >( 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
< source >( 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
< source >( 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
< source >( 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
< source >( 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/valgibi 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
< source >( rootreader = Nonesplit = 'train'class_map = Noneload_bytes = Falseinput_img_mode = 'RGB'transform = Nonetarget_transform = Noneadditional_features = None**kwargs )
sınıf timm.data.IterableImageDataset
< source >( 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 )
AugMix veya diğer temiz/artırma karışımlarını gerçekleştirmek için veri seti sarmalayıcısı
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
< source >( 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_workerssı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_sizekullanı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,
constantveyaprogressive. - 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
< source >( 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
< source >( 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
< source >( 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_workerssı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ıştakiPatchifybileş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
< source >( 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.
DataLoader işçileri tarafından okunan, çok işlemci güvenli epoch değerini ayarlayın.
sınıf timm.data.NaFlexMixup
< source >( 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ı.
Verilen epoch için mixup durumunu günceller.