Transformers documentation

Omurga Modelleri

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Omurga Modelleri

Nesne tespiti veya görüntü segmentasyonu gibi üst düzey bilgisayarla görme görevleri, bir tahmin üretmek için birden fazla modeli birlikte kullanır. backbone, neck ve head için ayrı birer model kullanılır. Backbone, girdi görüntüsünden faydalı özellikleri çıkararak bir özellik haritası oluşturur; neck, özellik haritalarını birleştirir ve işler; head ise bunları kullanarak bir tahmin yapar.

Bir omurgayı from_pretrained() ile yükleyin ve out_indices parametresini kullanarak, indeksle belirtilen katmandan özellik haritası çıkarılacak katmanı belirleyin.

from transformers import AutoBackbone

model = AutoBackbone.from_pretrained("microsoft/swin-tiny-patch4-window7-224", out_indices=(1,))

Bu kılavuz, omurga sınıfını, timm kütüphanesinden omurgaları ve bunlarla özellik çıkarma yöntemini açıklar.

Backbone sınıfları

İki omurga sınıfı vardır.

  • ~transformers.utils.BackboneMixin, bir backbone yüklemenizi sağlar ve config'den özellik haritalarını ve indeksleri çıkarmak için işlevler içerir.
  • ~transformers.utils.BackboneConfigMixin, bir backbone yapılandırmasının özellik haritasını ve dizinlerini ayarlamanıza, hizalamanıza ve doğrulamanıza olanak tanır.

Hangi modellerin bir backbone desteklediğini kontrol etmek için Backbone API dokümantasyonuna başvurun.

Transformers omurgasını yüklemenin iki yolu vardır: AutoBackbone ve modele özgü omurga sınıfı.

AutoBackbone
model-specific omurga

AutoClass API, destekleniyorsa, önceden eğitilmiş bir görme modelini from_pretrained() ile bir omurga olarak otomatik yükler.

out_indices parametresini, özellik haritasını almak istediğiniz katmana ayarlayın. Katmanın adını biliyorsanız, out_features parametresini de kullanabilirsiniz. Bu parametreler birbirinin yerine kullanılabilir; ancak her ikisini birden kullanırsanız, aynı katmana atıfta bulunduklarından emin olun.

out_indices veya out_features kullanılmadığında, backbone son katmandan gelen özellik haritasını döndürür. Aşağıdaki örnek kod, ilk katmandan gelen özellik haritasını almak için out_indices=(1,) kullanır.

from transformers import AutoImageProcessor, AutoBackbone

model = AutoBackbone.from_pretrained("microsoft/swin-tiny-patch4-window7-224", out_indices=(1,))

timm omurgaları

timm, eğitim ve çıkarım için bir görme modeli koleksiyonudur. Transformers, TimmBackbone ve TimmBackboneConfig sınıflarıyla timm modellerini omurga (backbone) olarak destekler. Rastgele başlatılmış ağırlıklara sahip bir Timm omurgalı model oluşturmak için gerekli omurga kontrol noktasını backbone içinde ayarlayın.

from transformers import MaskFormerConfig, MaskFormerForInstanceSegmentation, TimmBackboneConfig

backbone_config = TimmBackboneConfig(backbone="resnet50", out_indices=[-1])
config = MaskFormerConfig(backbone_config=backbone_config)
model = MaskFormerForInstanceSegmentation(config)

Ayrıca, önceden eğitilmiş bir timm backbone yüklemek ve oluşturmak için TimmBackboneConfig sınıfını açıkça çağırabilirsiniz.

from transformers import TimmBackboneConfig

backbone_config = TimmBackboneConfig("resnet50")

Backbone yapılandırmasını model yapılandırmasına iletin ve model başını, MaskFormerForInstanceSegmentation, backbone ile örnekleyin.

from transformers import MaskFormerConfig, MaskFormerForInstanceSegmentation

config = MaskFormerConfig(backbone_config=backbone_config)
model = MaskFormerForInstanceSegmentation(config)

Özellik çıkarımı

Backbone, görüntü özelliklerini çıkarmak için kullanılır. Görüntüyü backbone üzerinden geçirerek özellik haritalarını elde edin.

Bir görüntüyü yükleyip ön işleme tabi tutun ve onu omurga mimarisine (backbone) iletin. Aşağıdaki örnek, ilk katmandan özellik haritalarını (feature maps) çıkarır.

from transformers import AutoImageProcessor, AutoBackbone
import torch
from PIL import Image
import requests

model = AutoBackbone.from_pretrained("microsoft/swin-tiny-patch4-window7-224", out_indices=(1,))
processor = AutoImageProcessor.from_pretrained("microsoft/swin-tiny-patch4-window7-224")

url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)

inputs = processor(image, return_tensors="pt")
outputs = model(**inputs)

Özellikler, feature_maps özniteliğindeki çıktılardan saklanır ve erişilir.

feature_maps = outputs.feature_maps
list(feature_maps[0].shape)
[1, 96, 56, 56]
Update on GitHub