Torchvision, PyTorch ile el ele giden bir Bilgisayar Görüşü kütüphanesidir. Verimli Görüntü ve Video dönüşümleri için yardımcı programlara, yaygın olarak kullanılan bazı önceden eğitilmiş modellere ve bazı veri kümelerine sahiptir (
torchvisionbirlikte gelmez
PyTorch, ayrı olarak yüklemeniz gerekir.)
Bu makale serisi, size
torchvision kütüphaneyi nelerin oluşturduğuna dair bir anlayış sağlar - ve ayrıca bu işlevlerin nasıl uygulanacağına bakar.
Biz versiyonunu kullanacak olan
0.8.2bir
torchvision
Bölüm 1 , size aşağıdaki özelliklerin genel bir görünümünü verir:
torchvision
In Part 2 biz görüntü dönüşümü işlevlerinden bazılarını uygulanması için kod kapsayacaktır ( ). Bölüm 2'nin bağlantısı aşağıda verilmiştir -
transforms
In Part3 biz bir örnek görüntü sınıflandırma projeyi alıp PyTorch kullanarak modeli oluşturmak için torchvision işlevlerini kullanır.
conda install torchvision -c pytorch (eğer conda kullanıyorsanız)
pip install torchvision (pip kurulumu için)
CIFAR10,
CelebAvs.), yaygın olarak kullanılan bazı ön eğitimli modelleri (
ResNet18,
maskRCNN_resnet50tipik AI / Yapay Öğrenme Sorunları bazıları için vs) ve hatta örnek marş kodları (Görüntü Sınıflandırma, Semantik Segmentasyon, Önemli noktalar algılama vs.) - tümü kendi kütüphanesine dahil edilmiştir
Her bir bileşenin üzerinden geçelim -
torchvision, en sık kullanılan veri kümelerini kolayca indirme seçeneğiyle birlikte gelir - bu, uygulamalarınızın çoğuna başlamanız için fazlasıyla yeterlidir. Veri setlerini yerel sisteminize indirir (yalnızca ilk seferde) ve sonra buradan - onu referans vererek programınızda doğrudan kullanabilirsiniz.
Desteklenen veri kümelerinden bazıları -
Transfer öğrenmeyi kolaylaştırmak için, meşale vizyonunun Görüntü sınıflandırması, Nesne Algılama, Örnek bölümleme ve hatta Video Sınıflandırma için önceden eğitilmiş özel modelleri vardır. Modelleri yerel sisteminize indirir (yalnızca ilk seferde).
bu önceden eğitilmiş modellerden bazıları şunlardır:
Dönüştürmeler, Görüntü Büyütmeler ve dönüştürmeler için kullanılan kitaplık içinde kolayca çağrılabilir modüllerdir. Aşağıdaki resimde 3 örnek dönüşüm gösterilmektedir -
Diğer yaygın / önemli dönüşümlerden bazıları
ToTensor()- Görüntü veri kümelerini Tensörlere dönüştürün
CenterCrop()- Merkezi sabitlenmiş mahsuller
Normalize()- Piksel değerlerini, kullandığınız veri kümesinin değerine göre normalleştirin
Pad()- dolgu veya kenarlık vermek için
# Step 1 - define your transformation pipeline my_transform = transforms.Compose([ transforms.Grayscale(1), transforms.RandomHorizontalFlip(p=0.5) transforms.ToTensor(), ]) # Step 2 - use that to load your data my_data = torch.utils.data.DataLoader(train_set, batch_size=128, transform = my_transform)
Video Dönüşümleri için İpucu:
torchvideo(https://torchvideo.readthedocs.io )
Bu modül, Video ve Görüntü Girişlerinin verimli okunması ve yazılması için işlevlerden oluşur. (Daha fazla ayrıntı 2. Bölümde anlatılmaktadır)
Bu, dataloader / dataset / transforms modülünü kullanmak zorunda kalmadan bazı Görüntü dönüşümleri yapmayı planlıyorsanız kullanmak için iyi bir modüldür.
io Modüldeki bazı işlevler -
read_video()video dosyalarını video ve ses tensörleri olarak okumak için
write_video()video Tensörlerini bir video dosyasına yazmak için
read_image()ham görüntü dosyasını okumak ve Tensörlere dönüştürmek için
write_jpeg() / write_png()tensörleri jpg / png görüntülerine yazma
Bu modül, bilgisayar görüşü (yerel C ++ üzerine inşa edilmiş) ve python bağlamaları için çok özel operatörler içerir.
örneğin: ROI (İlgi Bölgesi) hizalama operatörleri gibi Maske R-CNN için özel olarak kullanılan işlevler. İlerleyen kısımlarda bir örnekle daha derine ineceğiz.
Bu modül, bazı standart AI problemlerinin uygulanması için uçtan uca örnek eğitim komut dosyalarını içerir - örneğin: görüntü sınıflandırma
nesne algılama, anahtar nokta algılama, örnek bölümleme vb.
Öğreticilerini kullanarak torchvision kullanarak bazı örnek AI problemlerini çözmeye başlayabilirsiniz.
https://pytorch.org/tutorials/intermediate/torchvision_tutorial.html
In Bölüm 2 , bazı kod yazmak ve keşfederek deneylere bazı eller yapmak
transforms torchvision içinde, yani Görüntü dönüşüm işlevleri.
İşte 2. Bölümün Bağlantısı -PyTorch için torchvision işlevlerini anlama - Bölüm 2 - dönüştürmeler
Etrafımızdaki dünya gibi, dil de sürekli değişiyor. Önceki dönemlerde dil değişiklikleri yıllar hatta on yıllar içinde meydana gelirken, artık günler hatta saatler içinde gerçekleşebilir.
Bu metodolojinin beni büyülediğini söylemeliyim, çünkü kadınların güçlendirilmesi kadar özel ve jenerik, günümüzde maruz kaldıkları toplumsal cinsiyete dayalı şiddet kadar ciddi bir sorun bize sunulduğunda, bize böyle bir çözüm sundu. fütüristik ama aynı zamanda gerçek ve yapılabilir. 1- Hadi işe koyulalım. İlk iş iyi bir masa başı araştırması yapmak ama ifade etmekti.
Torchvision kitaplığının sezgisel bir şekilde anlaşılması - 14 görsel dönüşüm örneğiyle (Bölüm 2/3) Bölüm 1 için (torchvision'daki modüllere giriş), lütfen aşağıdaki bağlantıyı ziyaret edin. Bu makalede, veri kümesi (görüntüler) yüklendikten hemen sonra bir dizi halinde gerçekleştirilebilen basit görüntü dönüştürme işlevlerini deneyeceğiz.
Grafik Sinir Ağları (GNN'ler), grafik verilerinden öğrenmek için standart bir araç kutusu olarak ortaya çıktı. GNN'ler, içerik önerisi veya ilaç keşfi gibi farklı alanlarda yüksek etkili sorunlar için iyileştirmeler sağlayabilir.
Bir önceki yazımda, blob algılama ve bağlantılı bileşenlere dayalı olarak ilgilenilen nesneleri nasıl tanımlayacağımızı öğrendik. Bununla birlikte, belirli ilgi çekici nesneleri görüntülerimizden ayırmamız gereken zamanlar olacaktır.
Softmax'ın ince kardeşi. Motivasyon Son zamanlarda birkaç doğadan esinlenen meta-sezgisel algoritmalarla (genetik algoritmaları, benzetilmiş tavlamayı vb. Düşünün.