‫Şimdi tam eğitim veri kümesi, yani 10.000 görüntü üzerinde tamamen eğitilmiş bir modelimiz var çünkü X'e
‫bakarsak.
‫Elimizde 10.000 resim ve etiket var.
‫Şimdi tamamen eğitilmiş modelimizi bazı tahminler yapmak için kullanalım.
‫Test veri setinde de yaklaşık 10.000 görüntü bulunmaktadır.
‫Birazdan buna bir göz atacağız.
‫Ama Kaggle'a gelelim ve nasıl olduğunu görelim.
‫Tahminlerimizin görünmesini istiyorlar.
‫Dolayısıyla, test setindeki her görüntü için bir gönderim dosyası, farklı ırkların her biri için bir olasılık tahmin
‫etmeniz gerekir.
‫Dosya bir başlık içermeli ve aşağıdaki formata sahip olmalıdır.
‫Bu yüzden kimlikli bir köpek cinsine ihtiyacımız var.
‫Bunu bir kez daha telaffuz etmeye çalışacakmışım gibi bile yapmayacağım, Afgan tazısı, Yorkshire
‫teriyeri ve ardından tüm bunlar için tahmin olasılıkları.
‫Tamam.
‫Şimdi çok sınıflı günlük kaybı diyor.
‫Bu sadece her bir köpek ırkı için tahmin olasılıklarıdır.
‫Test veri seti üzerinde tahminler yapan başka bir başlık bölümü oluşturun.
‫Şimdi kodun üzerinden geçmeden önce bir düşünmenizi istiyorum.
‫Modelimizi eğitim görüntüleri üzerinde eğitmek için ne yapmamız gerekiyordu?
‫Yine, bunun veri agnostik olduğunu varsayın.
‫Metin, ses, görüntü, video ya da buna benzer hangi veriyle çalışıyorsanız çalışın.
‫Bir makine öğrenimi modeliyle kullanmadan önce kuralımız nedir?
‫Ya da bizim durumumuzda, derin öğrenen bir sinir ağı.
‫Bunu sayılara dönüştürmeliyiz.
‫Yani yapmamız gereken şey, modelimizin eğitildiği veri türünün aynısını kullanmaktır.
‫Buradaki veri yığını, görüntülerin veri yığını, test görüntülerinden bir tane oluşturmamız gerekiyor,
‫böylece bu görüntüler üzerinde tahminler yapabiliriz.
‫Modelimiz onlarca yığın halindeki görüntüler üzerinde eğitildiği için kendimize küçük bir not yazacağız.
‫Test verileri üzerinde tahminler yapmak.
‫Aynı formata getirmemiz gerekecek.
‫Grafiğimize ve açılış konuşmamıza geri dönecek olursak, her zaman girdilere odaklandığımızı söylediğimi hatırlıyorum.
‫Yani verilerimizi makine öğrenimi algoritmamız için doğru şekle sokmak ve ardından çıktıların doğru olduğundan
‫emin olmak.
‫Başlangıçta odaklandığımız şey budur.
‫Bu bizim için zaten oldukça büyük bir şekilde uygulandı.
‫Daha derine indikçe, daha fazla projeye girdikçe, o zaman buna dalmaya başlamak isteyebilirsiniz.
‫Ancak şu an için ve şu anda yaptığımız gibi ilk projelerinize yaklaşırken, girdiler
‫ve çıktılara odaklanacaksınız.
‫Şimdi, burada küçük bir haber, yine işlevimiz işe yarıyor.
‫Neyse ki, daha önce girdi olarak dosya adlarının bir listesini alabilen veri grupları oluşturduk.
‫Hatırlamıyorsanız, veri yığınları oluşturduğumuz ve bunları tensör yığınlarına dönüştürdüğümüz yere geri dönün.
‫Peki test verileri üzerinde tahminlerde bulunmak için hangi adımları atmamız gerekiyor?
‫Test verileri üzerinde tahminler yapmak için bunları yazalım.
‫Pek çok projemde yaptığım şey kendi kendime konuşmak, kendi kendime konuşmaktır.
‫Lastik ördek tekniği.
‫Test görüntü dosyası adlarını alın.
‫Bu, daha önce yaptığımız gibi sadece küçük bir liste yazmamızı içerecektir.
‫Teste erişmek için, buradaki tüm dosyaları gözden geçirin ve dosya adlarını bir tür listeye kaydedin.
‫Evet, bunu yapabiliriz.
‫Daha sonra veri grupları oluştur seçeneğini kullanarak dosya adlarını test veri gruplarına dönüştürmeliyiz.
‫Ve ortam.
‫Test verileri.
‫Veri yığınları oluşturmak için nasıl parametreler oluşturduğumuzu hatırlıyor musunuz?
‫Eğer istemiyorsan, sorun değil.
‫İkinci bir parametrede true değerini göreceğiz çünkü neden?
‫Test verilerimizin eğitim verilerimizden farkı nedir?
‫Test verilerinde etiket yok.
‫Test verilerinin etiketleri olmadığından ve son olarak test verisi yığınlarını predict'e geçirerek bir
‫predictions, bir predictions dizisi oluşturuyoruz.
‫Modelimiz üzerinde çağrılan yöntem.
‫Woo!
‫Orada üç adımımız var.
‫Ama bunları yapabiliriz.
‫Onları teker teker ele alabiliriz.
‫İlkiyle başlamaya ne dersiniz?
‫Bu oldukça mantıklı.
‫Test görüntü dosyası adlarını yükleyin.
‫Ne yapabiliriz ki?
‫Dosya isimlerini test edebiliriz.
‫Güzel ve basit eşitlikler.
‫Aslında, test yolunu ayarlayabilirsiniz.
‫Bunu yapsak nasıl olur?
‫Test yolu eşittir.
‫İki kez yazmamak için buraya kopyalayacağız.
‫Kopyalama yolu.
‫Bu küçük kullanışlı bir ipucu.
‫Bunu yapabilirsin.
‫Yapıştırabilirsin.
‫İçeriğe ihtiyacımız yok.
‫İstersek orada tutabiliriz ama ben kaldıracağım.
‫Yani sahip olduğumuz diğer yollarla tutarlı.
‫Bunu da buraya koyacağım.
‫İşte bu benim test klasörüne giden yolum.
‫Şimdi gidip küçük bir liste oluşturacağız.
‫Kavrama eşittir test yolu artı f adı o'nun nokta listesindeki f adı için dosya adı dir.
‫Test yolu.
‫Bunu daha önce orijinal eğitim dosyası adlarını yeniden oluştururken görmüştük, ancak şimdi kendimize ne yaptığını
‫hatırlatalım.
‫Yani O'nun nokta listesi sadece bu dizin üzerinden gidiyor.
‫Kısaltması bu.
‫Sadece, Hey, Python, bana bu klasördeki tüm dosya adlarını getir diyor ve sonra test yolunu
‫ekleyen bir liste oluşturuyoruz, bu da test yolu artı içindeki her bir dosya adını bir araya
‫getiriyor.
‫Test klasörü.
‫Bir göz atalım.
‫Şüpheniz varsa kodu çalıştırın.
‫Harika.
‫Şimdi test verilerimize yönelik dosya adlarını aldık.
‫Onu çıkarabiliriz.
‫Yeşil kene emojisini çıkar.
‫Bu defter sonuna kadar onlarla dolacak.
‫Tamam, şimdi anladık.
‫Bir sonraki adımımız ne olacak?
‫Veri yığınları oluştur seçeneğini kullanarak dosya adlarını test veri yığınlarına dönüştürün.
‫Oh, orada randevu demiştim.
‫Bu yanlış.
‫İşte oldu.
‫Tamir et.
‫Öncelikle, test dosyamızın adında küçük bir uzunluk kontrolü yapalım ve kaç tane görüntümüz olduğunu görelim.
‫10,357.
‫Harika.
‫Şimdi bir veri yığını oluşturmak oldukça basit.
‫Sadece işlevimizi getiriyoruz.
‫Test verilerine gidiyoruz.
‫Başlamadan önce buraya bir yorum yazacağız.
‫Bu yüzden test verileri oluşturun.
‫Parti.
‫Ve gidip veri grupları oluşturacağız.
‫Oh, ne hakkında konuştuğumuzu biliyor ve sonra ona test dosyası adlarını ileteceğiz.
‫Ayrıca test veri düzlemimizi de göreceğiz.
‫Bu yüzden test verisi eşittir doğru diyoruz.
‫Ve bunu yayınlayacağız.
‫Harika.
‫Test veri gruplarının oluşturulduğunu söyleyen küçük bir çıktı alıyoruz.
‫Yazdığımız harika bir işlev.
‫Buraya gelelim ve tekrar bakalım.
‫Verilerimizi gruplara dönüştürmek.
‫Dolayısıyla, veri yığını oluşturma veya veri yığınları oluşturma işlevimiz var.
‫Test verisi ise ne yapar, ki öyledir, bu küçük ifadeyi yazdırır ve sonra şöyle devam
‫eder: Hey, dosya adlarımızı zamanlara dönüştürün ve sonra onlarca dilimden yararlanarak bir tensör veri kümesine dönüştürün
‫ve ardından işlem görüntüsü işlevini eşleyerek bir veri yığını oluşturun.
‫Unutmayın, test veri setinde etiket olmadığı için get image etiketini test veri setine aktarmıyoruz.
‫Bu yüzden görüntülerimizi tıpkı eğitim verilerinde yaptığımız gibi işliyoruz ve ardından
‫GPU'muzla gerçekten hızlı bir şekilde hesaplanabilmesi için bizim durumumuzda 32 boyutlu bir yığına dönüştürüyoruz.
‫Şimdi kaldığımız yere geri dönelim.
‫Elimizde olan bu.
‫Ve eğer test verilerine gidersek.
‫Şekillerin kötü bir veri seti.
‫Yani burada etiket yok.
‫Bunlar sadece TensorFlow float türündeki renk kanalları için 2'ye 4'e 2'ye 4'e 3'lük görüntülerdir.
‫Çok güzel.
‫Test verilerimizi tensör yığınları şeklinde aldık.
‫Biz de bunun peşindeyiz.
‫Ve şimdi final, buraya gelebiliriz, başlangıçta fonksiyonlarımızı yazmanın bize ne kadar yardımcı olduğunu görebiliriz.
‫Bir form modeli oluşturduk, bir vuruşta bir veri yığını oluşturduk.
‫Şimdi bir tahminler dizisi oluşturacağız.
‫Peki bunu nasıl yapabiliriz?
‫Yüklenen tam modeli kullanarak test verileri yığını üzerinde tahminler yapın.
‫Tamam.
‫Tahminleri test edin.
‫Yüklenen tam model nokta tahminine eşittir.
‫Test verileri.
‫Bunu dört yay eşittir bir olarak ayarlayacağız.
‫Mükemmel.
‫Şimdi, bunun oldukça uzun süreceği konusunda sizi uyarmak zorundayım.
‫Bunun nedeni, bu hücre notu aramasını çalıştırmadan önce buraya küçük bir not koyalım.
‫Bir CPU üzerinde çalışıyor olsak bile.
‫Bu tıpkı telefon modelimizi eğitmek gibidir.
‫Yani tam modelimiz üzerinde tahmin çağrısı yapıyor ve onu geçiriyoruz.
‫Test verisi toplu işinin çalışması uzun zaman alacaktır.
‫Ve sonra yaklaşık bir saat gibi bir şey olacak.
‫Sadece bir saat sürecek.
‫Ben de öyle buldum zaten.
‫Bunun nedeni, burada 10.000 resmimiz daha olması.
‫Yapmamız gereken şey, yüklü dört modelimizi almak.
‫Yani yüklenen tam modelimizin eğitim veri setinde öğrendiği tüm kalıplar.
‫Bu süreçlerden geçmesi gerekiyor.
‫Test dosyası adlarımızdaki 10.000 görüntü veya test veri grubumuz.
‫Ve sonra bu test verilerinde bulduğu kalıplara dayanarak bunlar hakkında tahminlerde bulunur.
‫Bu yüzden verbose değerini bire eşitledik, böylece bunu çalıştırdığımızda, neler olup bittiği hakkında bizi bilgilendirmek
‫için bize küçük bir zaman adımı daha verecek.
‫Daha fazla uzatmadan şunu çalıştıralım.
‫Yüklenmesini bekleyin ve sonra aynı şeyi tekrar yapın.
‫Hepsi videoyu hızlandırır, böylece sizin için anında yüklenmiş gibi olur.
‫Gerçekte, bu hücreyi çalıştırmanız biraz zaman alacaktır.
‫Gerçekte, bu hücreyi çalıştırmam biraz zaman alacak.
‫Ama bunu sadece sana göstermek için yapıyorum.
‫Yükleme, bir ETA mesajı oluşturma ve ardından test verileri üzerinde bazı tahminler yapma.
‫O yüzden biraz bekleyeceğiz.
‫Bu yükselecek.
‫İşte oldu.
‫Tahmini varış süresi 38 dakika.
‫324 partiden geçmesi gerekiyor.
‫Çünkü 10.357'yi 32'ye böldüğünüzde
‫324'e yuvarlayacak.
‫Bu sayı oradan geliyor.
‫Tamam.
‫Bu yüzden bunun geçmesini bekleyeceğim.
‫Geçmesi için de beklemeniz gerekebilir.
‫Aslında beklemenize gerek yok.
‫Birkaç saniye içinde geri döneceğim, bu yüzden videomu burada duraklatacağım ve üç, iki, bir
‫içinde geri döneceğim ve geri döndük.
‫Şimdi, burada biraz arsızca bir şey yaptım.
‫Gördüğünüz gibi, yaklaşık bir saatimiz kaldı, ama burada oturup bunu beklememi tercih edeceğinizi düşündüm.
‫Aslında, her iyi şefin yaptığı gibi.
‫Daha önce bir yemek hazırlamıştım, bu yüzden aslında bu süreçten geçtim ve geçmesi için tam bir saat
‫bekledim.
‫Ve şimdi seninkinin geçmesini bekleyebilirsin.
‫Ancak test tahminlerinin önceden hazırlanmış bir CSV'sini indirmek isterseniz, bunu kaynak bölümüne ekleyeceğim, böylece geçmek
‫için tam bir saat beklemenize gerek kalmayacak.
‫Muhtemelen bunu size bu hücreyi çalıştırmadan önce söylemeliydim, ancak ayaklarınızı ıslatmak ve daha sonra
‫işleri yapmanın daha iyi bir yolunu bulmak iyi bir şeydir.
‫Bunun test tahminlerini çalıştıktan sonra bir CSV dosyasına kaydetmesini istersek, çünkü bunun geçmesi için tam bir saat beklersek
‫ve sonra bir şekilde çalışma zamanımızın bağlantısı kesilirse ve kaydetmezse, bu oldukça hayal kırıklığı
‫yaratır.
‫Yapabileceğimiz şey, kaydetmek için buradaki np save text fonksiyonunu kullanmaktır.
‫Bu çalışırken bir docstring yükleyecek mi?
‫Olacağını sanmıyorum.
‫Ancak bunun ne yapacağını, bu yayılma dizisini unuttuk.
‫Diyelim ki bu iş bitti.
‫Eğer bu hücreyi ondan sonra çalıştırırsam, test tahminlerini kaydedecektir.
‫Dolayısıyla, bu numpy dizisi, bu dosyaya virgül dört, virgülle ayrılmış değerlerle bir CSV olarak bir tahmin
‫olasılıkları dizisidir.
‫Ve kaydedildikten sonra, görünecektir.
‫Dosyalarımızda bir üretici olarak, bir CSV, çünkü verdiğimiz dosya adı bu ve daha sonra geri yüklemek için
‫NP load text'i kullanabiliriz.
‫Peki ne yapacağız?
‫Bunun bitmesini beklemek yerine, size bunu uygulamalı olarak göstereceğim.
‫Yani bunlar geçmişte tam bir modelle yaptığım bazı tahmin olasılıkları.
‫Bir saat kala bunu durduracağım.
‫Yani yine, yaklaşık bir saat süreceği yönündeki tahminim yanlış.
‫Yani klavye kesildi.
‫İşte oldu.
‫Bunu çalıştırmayacağız çünkü zaten bunu basın dizisine kaydetmiştim, ancak bunu çalıştıracağım.
‫Bu hücre tamamlandıktan sonra bunu çalıştırdığımı varsayalım.
‫Yani bu ETA sıfıra ulaştı.
‫Bu diziyi bir CSV dosyasından yükleyeceğim.
‫Çok güzel.
‫Şimdi ilk on tanesine bir göz atalım.
‫İşte oldu.
‫Yani bunların hepsi 10.000 görüntü için tahmin olasılıklarıdır.
‫Şimdi test tahminlerinin şekline bir göz atalım.
‫10,357.
‫İşte elimizde bu kadar test görüntüsü var.
‫Ve her birinin 120 farklı tahmin olasılığı vardır.
‫Bu değerleri daha önce de görmüştük.
‫Unutmayın, bunu aldım, sonuna kadar çalışmasına izin verdim, CSV'yi daha önce yaptığım bir dosyaya kaydettim,
‫sanki daha önce bir şey pişirmişiz gibi ve sonra onu buraya yeniden yükledim.
‫Çalışma zamanımın bağlantısı kesilirse, bu dosyanın daha sonra erişebileceğim bir yere kaydedilmesini isterim.
‫Peki bir sonraki görevimiz ne?
‫Bu tahmin dizisini Kaggle'a göndermek isteseydik, nasıl görünmesi gerekirdi?
‫Örnek başvuru burada.
‫Bir şeyler ters gitti.
‫Verilerinize izin veriyorsunuz.
‫Bu hiç eğlenceli değil.
‫Ama neyse ki, bu dosya köpek görüşümde.
‫Bu da aynı şekilde.
‫Bu yüzden tek yaptığım onu indirmek ve Google sayfalarında açmak oldu.
‫İşte böyle görünüyor.
‫Bu, tahminler dizimizi bunun gibi bir şeye dönüştürmek için ihtiyacımız olan örnek gönderimdir.
‫Yani bir kimlik sütunu ve ardından farklı köpek ırklarının her biri için bir sütun ve ardından tahmin olasılıkları.
‫Bir sonraki videoda bunun için çalışacağız.
‫Köpek görüşü için tahmin olasılıkları dizimizi alacağız veya aslında Kaggle köpek cinsi tanımlama formatına
‫geri dönüyoruz.
‫Bu şekilde ayarlayacağız, böylece tahminlerimizle Kaggle'a bir gönderimde bulunabileceğiz.