Buckets:
UNet1DModel
UNet modeli, Ronneberger ve arkadaşları tarafından biyomedikal görüntü segmentasyonu için ilk olarak tanıtılmıştır; ancak girdi ile aynı boyutta görüntüler ürettiği için 🤗 Diffusers'ta da yaygın olarak kullanılır. Gerçek difüzyon sürecini kolaylaştırdığı için bir difüzyon sisteminin en önemli bileşenlerinden biridir. 🤗 Diffusers'ta, boyut sayısı ve koşullu bir model olup olmadığına bağlı olarak UNet modelinin çeşitli varyantları bulunur. Bu, 1D bir UNet modelidir.
Makalenin özeti şudur:
Derin ağların başarılı bir şekilde eğitilmesinin binlerce etiketli eğitim örneği gerektirdiği konusunda geniş bir uzlaşı vardır. Bu makalede, mevcut etiketli örneklerin daha verimli kullanılmasını sağlayan, veri artırımının güçlü kullanımına dayanan bir ağ ve eğitim stratejisi sunuyoruz. Mimari, bağlamı yakalamak için daralan bir yol ve hassas konumlandırmayı mümkün kılan simetrik bir genişleyen yoldan oluşmaktadır. Böyle bir ağın çok az sayıda görüntüden uçtan uca eğitilebildiğini ve sinirsel yapıların elektron mikroskobik yığınlarındaki segmentasyonu için ISBI yarışmasında önceki en iyi yöntemi (kayan pencere konvolüsyonel ağ) geride bıraktığını gösteriyoruz. Aynı ağ, iletilen ışık mikroskobu görüntüleri (faz kontrastı ve DIC) üzerinde eğitilerek, bu kategorilerde ISBI hücre takibi yarışması 2015'i büyük bir farkla kazandık. Üstelik ağ hızlıdır. 512x512 boyutundaki bir görüntünün segmentasyonu, güncel bir GPU'da bir saniyeden az sürmektedir. Tam uygulama (Caffe tabanlı) ve eğitilmiş ağlar http://lmb.informatik.uni-freiburg.de/people/ronneber/u-net adresinde mevcuttur.
UNet1DModel[[diffusers.UNet1DModel]]
diffusers.UNet1DModel[[diffusers.UNet1DModel]]
diffusers.UNet1DModel(sample_size: int = 65536, sample_rate: int | None = None, in_channels: int = 2, out_channels: int = 2, extra_in_channels: int = 0, time_embedding_type: str = 'fourier', time_embedding_dim: int | None = None, flip_sin_to_cos: bool = True, use_timestep_embedding: bool = False, freq_shift: float = 0.0, down_block_types: tuple = ('DownBlock1DNoSkip', 'DownBlock1D', 'AttnDownBlock1D'), up_block_types: tuple = ('AttnUpBlock1D', 'UpBlock1D', 'UpBlock1DNoSkip'), mid_block_type: str = 'UNetMidBlock1D', out_block_type: str = None, block_out_channels: tuple = (32, 32, 64), act_fn: str = None, norm_num_groups: int = 8, layers_per_block: int = 1, downsample_each_block: bool = False)
Parametreler:
sample_size (int, isteğe bağlı) : Örnek varsayılan uzunluğu. Çalışma zamanında uyarlanabilir olmalıdır.
in_channels (int, isteğe bağlı, varsayılan 2) : Girdi örneğindeki kanal sayısı.
out_channels (int, isteğe bağlı, varsayılan 2) : Çıktıdaki kanal sayısı.
extra_in_channels (int, isteğe bağlı, varsayılan 0) : İlk aşağı blokun girdisine eklenecek ek kanal sayısı. Girdi verisinin, modelin başlangıçta tasarlandığından daha fazla kanala sahip olduğu durumlarda faydalıdır.
time_embedding_type (str, isteğe bağlı, varsayılan "fourier") : Kullanılacak zaman gömme türü.
freq_shift (float, isteğe bağlı, varsayılan 0.0) : Fourier zaman gömme için frekans kaydırması.
flip_sin_to_cos (bool, isteğe bağlı, varsayılan False) : Fourier zaman gömümünde sin'i cos'a çevirip çevirmeyeceğini belirtir.
down_block_types (tuple[str], isteğe bağlı, varsayılan ("DownBlock1DNoSkip", "DownBlock1D", "AttnDownBlock1D")) : aşağı örneklem bloğu türlerinin bir demeti.
up_block_types (tuple[str], isteğe bağlı, varsayılan ("AttnUpBlock1D", "UpBlock1D", "UpBlock1DNoSkip")) : örnekleme bloğu türlerinin bir demeti.
block_out_channels (tuple[int], isteğe bağlı, varsayılan (32, 32, 64)) : blok çıktı kanalları tuple'ı.
mid_block_type (str, isteğe bağlı, varsayılan "UNetMidBlock1D") : UNet'in orta kısmı için blok türü.
out_block_type (str, isteğe bağlı, varsayılan None) : UNet'in isteğe bağlı çıktı işleme bloğu.
act_fn (str, isteğe bağlı, varsayılan None) : UNet bloklarında isteğe bağlı aktivasyon fonksiyonu.
norm_num_groups (int, isteğe bağlı, varsayılan 8) : Normalizasyon için grup sayısı.
layers_per_block (int, isteğe bağlı, varsayılan 1) : Blok başına katman sayısı.
downsample_each_block (int, isteğe bağlı, varsayılan False) : Upsampling olmadan UNet kullanmak için deneysel özellik.
Gürültülü bir örnek ve bir zaman adımı alır ve örnek biçiminde bir çıktı döndüren 1B UNet modeli.
Bu model ModelMixin sınıfından devralır. Tüm modeller için uygulanan genel yöntemlerini (indirme veya kaydetme gibi) görmek için üst sınıfın belgelendirmesine bakın.
forward[[diffusers.UNet1DModel.forward]]
forward(sample: Tensor, timestep: typing.Union[torch.Tensor, float, int], return_dict: bool = True)
Parametreler:
sample (torch.Tensor) : Şekli (batch_size, num_channels, sample_size) olan gürültülü giriş tensörü.
timestep (torch.Tensor veya float veya int) : Bir girdinin gürültüsünü gidermek için kullanılacak zaman adımı sayısı.
return_dict (bool, isteğe bağlı, varsayılan True) : Düz bir tuple yerine UNet1DOutput döndürülecek mi?
Dönüş: UNet1DOutput veya tuple
return_dict True ise bir UNet1DOutput döndürülür, aksi takdirde ilk öğesi örnek tensörü olan bir tuple döndürülür.
UNet1DModel ileri yöntemi.
UNet1DOutput[[diffusers.models.unets.unet_1d.UNet1DOutput]]
diffusers.models.unets.unet_1d.UNet1DOutput[[diffusers.models.unets.unet_1d.UNet1DOutput]]
diffusers.models.unets.unet_1d.UNet1DOutput(sample: Tensor)
Parametreler:
sample (torch.Tensor, şekli (batch_size, num_channels, sample_size)) : Modelin son katmanından çıkan gizli durumlar.
UNet1DModel'in çıktısı.
Xet Storage Details
- Size:
- 6.88 kB
- Xet hash:
- 7c80da795f47f52de8da771da2dfc8a6dd6355ab67ab8e8e67f488ec60f54890
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.