Kurstaki son projemiz ve biraz eğlenmemizi istiyorum.
Bu güzel ve hızlı olacak ama aynı zamanda makine öğreniminin gücü hakkında heyecanlanmanızı sağlayacak
bir ton eğlence de içerecek.
Şimdi, benim kişisel görüşüm, makine öğreniminin ilerlemesinin çoğunun kendi modellerimizi oluşturmak
veya gerçekten karmaşık matematik ve istatistik yapmakla ilgili olmadığı, bunun yerine iş sorunlarını
çözmek için önceden var olan modelleri kullanma yeteneğimiz olduğu yönünde.
Ve bunu Image A adlı harika bir kütüphane kullanarak göstermek istiyorum. I. Burada da görebileceğiniz gibi, bunu
biraz daha büyütelim.
Bir geliştiricinin kendi kendine yeten bilgisayarla görme yeteneklerine sahip uygulamalar ve sistemler oluşturmasını sağlamak için oluşturulmuş
bir Python kütüphanesidir.
Yani, sıfırdan bir bilgisayarla görme modeli oluşturmak zorunda kalmak yerine, bir sorunu çözmek için bu kütüphane
gibi bir şeyi kullanmak üzere önceden var olan araçları kullanabilir veya belki de bizim için serbestçe erişilebilir olan
bir model etrafında tüm bir iş yaratabiliriz.
Ve size gerçekten harika şeyler yapacak olan bu harika kütüphaneyi göstereceğim.
Bu yüzden bu kaynağa bağlantı vereceğim.
Ancak yapacağımız şey, bir görüntü tanıma uygulaması oluşturmak ve bu uygulamayı bazı fotoğraflarla beslediğimizde
bize bu görüntüde tam olarak ne olduğunu söyleyebilecek.
Bu çok güzel, değil mi?
Hadi başlayalım.
Dolayısıyla, belgeleri okursak, aslında neler yapabileceğimize dair oldukça iyi bir genel bakışa sahip olduğunu görürüz.
Şimdi, burada görebileceğiniz gibi, bizim için birkaç şey yüklememiz gerekiyor.
Şimdi bunu kopyalayalım ve bunlardan bazılarının ne işe yaradığının üzerinden geçeceğim.
Bu yüzden kopyalayıp yapıştıracağız, kurulumunuza bağlı olarak PIP sürüm üç kullandığınızdan emin olun.
TensorFlow ve Cross ile bir görüntü işleme kütüphanesi olan OpenCV'yi kullanıyoruz ve TensorFlow ve tarifeler
çok popüler makine öğrenimi kütüphaneleridir.
Şimdi bunu kuracağız ve bu kurulurken.
Yüklemek için biraz fazla.
Bu yüzden bu kütüphanelerin daha ağır olma eğiliminde olduğu konusunda uyarmak isterim.
Ve sonra Image API kütüphanesini de yüklemek istiyoruz.
Şimdi bunu kopyalayalım ve bunun yapılıp yapılmadığını görelim.
Hayır.
Hâlâ yok.
Biraz zaman ver.
Bunu temizleyelim ve görüntüyü çalıştıralım.
Yükseltiyorum.
Tamam.
Umarım bu kütüphaneleri yüklemişizdir.
Yapabileceğimiz şey ise basit bir görüntü tahminidir.
Burada bir klasör oluşturdum, gerçekten akıllı bir beyin, içinde boş bir python dosyası ve bu derse ekleyeceğim
üç resim var.
Bir zürafa resmimiz, bir Godzilla resmimiz ve bir ev resmimiz var.
Şimdi bu resmi nasıl kullanabileceğimize bakalım.
Bir kütüphane.
Yapabileceğimiz şey, görüntüden I'i kullanacağımızı söylemektir.
Prediction modülünü ve görüntü tahminini içe aktaracağız.
Bir parçası.
Şimdi bu dosyaları da almak istiyoruz, bu yüzden OS kütüphanesinin basit bir içe aktarımını yapacağım, böylece yürütme
yolunu söyleyebilirim.
OWS noktasının mevcut çalışma dizinini almasına eşittir, yani bunu nereden çalıştırıyorsam, hangi dizindeysek
ona ulaşır.
Yani bu sadece mevcut çalışma dizinini söylüyor.
Bizim için şu rehberi al.
Yani yürütme yolu bu.
Ve tahmin görüntüsü tahminini örnekleyebiliriz.
Bunu söyleyerek ithal ettiğimizi.
Görüntü ve bu büyük I olmalıdır.
Bunu biraz daha büyütelim.
O yüzden şöyle diyeceğim.
Örneklendirmek için görüntü tahmini.
Ve burada bazı farklı şeyler yapabiliriz.
Kütüphaneye geri dönersek, burada görüntü tahmini seçeneğini kullanıyoruz.
Bu kütüphanenin aslında gerçekten çok havalı olan nesne algılama veya video nesne
algılama gibi farklı şeyler yapabildiğini unutmayın.
Ancak şimdilik görüntü tahminiyle ilgileniyoruz.
Yani eğer öğretici ve rehbere gidersek.
Tahminleri yapmak için neler yapabileceğimizi tam olarak burada göreceksiniz.
Şimdilik bunu kopyalayalım ve satır satır ne yaptığının üzerinden geçelim.
Tahmin değişkenimiz var ve model türünü belirliyoruz.
Yani, hangi modeli kullanmak istediğimize karar veririz.
Şimdi, bu kütüphanede kullanabileceğimiz birkaç model var ve bunlar zaten önceden oluşturulmuş olan gerçekten popüler modeller.
Örneğin, Google Beyin Ekibi, Facebook I araştırmasını yaratan, görüntü işleme için bu modeli yaratan ve
daha sonra Microsoft tarafından çok ünlü bir model olan Resnick'e sahip.
Şimdi sıkma ağını kullanacağız çünkü gördüğünüz gibi modelin boyutu diğerlerine kıyasla oldukça
küçük.
Bu modellerin dezavantajı budur.
Bazen ağır olabilirler, ancak algoritma ne kadar küçük olursa, tahmin süresi o kadar hızlı olur, ancak doğruluk
o kadar az olur.
Bu yüzden rezonans kullanmak yerine, sıkma ağı kullanalım.
Bu yüzden bunu squeeze net olarak değiştireceğim.
Sırada model yolunu ayarlamak var.
Yani yine, kullanmak istediğimiz modeli bulmak için işletim sistemini kullanıyoruz.
Aslında bu modelleri kullanmak istiyorsak indirmemiz gerekiyor.
Burada görebileceğiniz gibi, üzerine tıkladığımda squeeze net'in küçük bir indirmesini alıyorum.
Yani yine, daha doğru olanları, daha fazla alacağız.
İndirmeniz gereken veri baytları.
Yani bu sana bağlı.
Yine de sıkma ağını kullanacağım.
Şimdi taşıyabileceğim bu dosyayı alıyorum.
Proje klasörümün içine.
O zaman masaüstüne gidelim.
Gerçekten akıllı bir beyne git.
Ve sonra buraya takın.
Yani yine, bu sadece modelimiz olarak kullanabileceğimiz ikili bir dosyadır.
Rezonans yerine dosya yolunu veya adını kopyalayacağım.
Sıkıştırılmış ağ modelini kullanacağız.
Ve son olarak, modeli yüklemek ve ardından bazı tahminler yapmak istiyoruz.
Belgelere geri dönersek, bu kod parçasını kopyalayarak tahminleri yapabiliriz.
Tahminlere ve olasılıklara sahip olduğumuzu görüyoruz.
Bu, modelin tahmininde ne kadar emin olduğunu gösterir.
Ve biz sadece diyoruz ki, hey, görüntüyü tahmin edin.
Bunu biraz daha küçültelim.
Görüntüyü tahmin edin ve bizim durumumuzda test etmek istediğimiz görüntüyü vereceğiz, bir nokta
jpeg yerine zürafa diyeceğiz.
Yani diyelim ki.
Zürafa köpek jpeg.
Ve sonuçları saklayacağız.
Beşe kadar say.
Ve son olarak dört döngü yapacağız.
Her tahmin için, tahminleri ve olasılıkları sıkıştıracağız ve sadece istediğimiz çıktıyı
yazdıracağız.
Bunun ne işe yaradığını gerçekten görelim.
Bunu kaydedip beynimizi çalıştıracağım.
Dot py.
Söylemek zorundayım, piton üç beyin nokta turtası.
Yani aslında cevabı burada buluyoruz.
Ancak karşılaşabileceğiniz bir hatadan bahsetmek istiyorum.
Burada gördüğünüz gibi, kodumda bazı hatalar var.
Ve yine, bu, bunu çalıştırdığınız makineye bağlı olan bir şeydir.
Farklı sorunlarınız olabilir, ancak bunlar çoğunlukla yüklediğimiz kütüphane sürümlerime dayalı uyarılardır.
Yine, bu videoları ne zaman izlediğinize bağlı olarak, bu uyarılardan bazıları,
kullandığımız TensorFlow, açık CV, görüntü yapay zeka kütüphanelerine dayalı olarak size görünebilir.
Ya da yüklediğimiz H beş ikilisinin desteklemediği talimatları desteklemeyen
CPU'mla ilgili sorunlar yaşayabilirim.
Ama sonuçta yine de burada bir cevap alıyoruz.
Bunu biraz daha büyütelim.
Anladık.
İyi görünmüyor.
%28 gibi görünüyor.
Bunun bir orman tavuğu olduğunu düşünüyor.
Bunun ne olduğunu bile bilmiyorum.
Google'da orman tavuğunun resmini bulalım.
Oh, bu gerçekten komik.
Şuna bak.
Bu yüzden görüntünün buna ait olduğunu düşündü ve %28 oranında emin oldu.
Bir çayır tavuğu olabileceğini düşündü.
Bu %10 güven demek.
Bir çita, bir keklik.
Tamam.
Yani gerçekten doğru yapmadı, değil mi?
Bu resim biraz kafa karıştırıcı görünüyor.
Ne yazık ki bu model yeterince doğru değildi.
Ama burada kodun ne yaptığını görebiliyorsunuz, değil mi?
Döngüye girdiğimizde kod diyor ki, hey, beş sonuç istiyorum.
Tahminlerinden.
Ardından tahminleri ve olasılıkları, bu tahminlere duyduğunuz güveni almanızı
istiyorum.
Ve squeeze net her zaman en doğru sonucu vermediği için zürafa görüntüsünü bulamadı.
Peki ya Godzilla?
Bu da zor bir soru.
Godzilla görüntüsü yapalım.
Bunu kaydedip tekrar çalıştırırsam, temizleyelim.
Tekrar.
Bekliyoruz.
Ve işte başlıyoruz.
Amerikan timsahımız var, %46 güven.
Timsaha benziyor mu?
Tamam.
O kadar da kötü değil aslında.
Ayrıca %18 güvenle sıradan iguana da bulduk.
Pekala, sonuncusu.
Hadi eve gidelim.
Eğer burada ev yaparsak.
Kaydet ve koş.
Hey, şuna bak.
Kayıkhaneyi %58'e alıyoruz.
Bu arada, Resonant'ı da yeni indirdim.
Biraz daha doğru olması beklenen model ise yaklaşık 100 megabayttır.
Bu biraz zaman aldı.
Ama isabet oranının artıp artmadığını görmek istiyorum.
Bu yüzden söz konusu model türünü rezonans olarak değiştirdim ve yolu şu şekilde değiştirdim.
Şimdi elimdeki yeni model.
Tamam.
Bunu açmamıza gerek yok, o yüzden bir deneyelim.
Tekrar koşacağım.
Burada daha büyük bir model olduğu için öncekinden biraz daha uzun sürdüğünü görüyorsunuz, ancak bunun bir kilise ya da
kayıkhane olduğunu düşünüyor gibi görünüyor, ancak bunun bir kilise olduğundan oldukça emin.
Tamam.
Kiliseye benziyor.
Peki ya Godzilla görüntüsü?
Hadi yapalım.
Godzilla.
Bakalım bu konuda ne düşünecekler.
Tamam.
Amerikan timsahı olduğundan çok eminim yoksa yine de harika değil.
Peki ya zürafa?
Hadi zürafayı kontrol edelim.
Bunu ateşle.
Aman Tanrım.
Bu da o kadar iyi değil.
Gördüğünüz gibi, vur ya da ıskala.
Buradaki fikir, bunun asla mükemmel olmayacağıdır.
Ancak ideal olarak, bazı iş sonuçları veya olumlu iş sonuçları elde etmek için yeterince faydalı bir model oluşturuyoruz.
Şimdi, bu sadece Python ve makine öğrenimi ile neler yapabileceğinize dair küçük bir tattı.
Gerçek güç, büyük şirketlerin günlük sorunlarımızı veya iş sorunlarımızı çözmek için kullanmamız için önceden oluşturdukları
modelleri birleştirdiğinizde ortaya çıkar.
Python'un bu kadar popüler olmasının nedeni de bu, değil mi?
Bu, geliştirici topluluğunun fikridir.
Python kullanan herkese topluluk tarafından verilen pek çok kütüphane, pek çok araç var.
Python popüler çünkü olasılıklarımız sonsuz.
Gördüğünüz gibi pek çok kariyer fırsatı, yapabileceğiniz pek çok farklı proje var.
Bu yüzden sizi bu kütüphaneyi keşfetmeye, diğer kütüphaneleri keşfetmeye ve Python'u hayatınızı kolaylaştırmak için nasıl kullanabileceğinizi
görmeye teşvik ediyorum.
Bir sonrakinde görüşürüz.
Güle güle.