‫Pekala.
‫Artık resimlerimizi ön işleme tabi tutacak, yani onları zamanlara dönüştürecek bir fonksiyonumuz var.
‫Artık bundan sonra ne yapmamız gerektiğini bulmaya başlayabiliriz.
‫Bu yüzden verileri hazırlayıp zaman kiplerine dönüştürmeliyiz.
‫Bir model seçin.
‫Hmm.
‫Bunu tam olarak yapamıyoruz.
‫Eğer geri dönersek, TensorFlow'da görüntüleri öğrenme konusunda biraz daha fazla şey okuyacağız.
‫TensorFlow'un olayları bir veri yığını şeklinde görmeyi sevdiğini anlardık. k. bir görüntü örneği veya bir veri
‫örneği içeren bir tensör.
‫Unutmayın, bu veri agnostiktir.
‫Pratik örneğimiz olarak sadece görselleri kullanıyoruz.
‫Yani bana bir veri parçası verin ve birleşik bir tensör olarak etiketleyin, böylece onları gerçekten hızlı bir şekilde işleyebileyim
‫şeklinde seviyor.
‫Batch'in ne olduğunu merak ediyorsanız, buna mini batch de deniyor ve verilerinizin küçük bir bölümünü
‫oluşturuyor.
‫Şimdi, genel olarak, iyi bir yığın boyutunun ne olduğunu veya ne kadarının küçük bir bölüm olduğunu merak ediyorsanız, 32 genellikle
‫çoğu derin öğrenme modelinde varsayılan yığın boyutudur.
‫Ve size birçok şeyi bu şekilde çözdüğümü göstereceğim.
‫Yan Liqun'un parti büyüklüğüne gidiyoruz ve Yan Liqun'un kim olduğunu merak ediyor olabilirsiniz.
‫Parti büyüklüğü nedir?
‫Tüm bunlar benim için yeni şeyler.
‫Diyelim ki makine öğrenimi ya da derin öğrenme alanında bir figür olan birini bulduğunuzda ya da duyduğunuzda
‫size küçük bir numara göstermek istiyorum.
‫Belirli bir konu hakkında ne düşündüklerini anlamak için kullandığım yapay zeka hilesi, isimlerini Google'da aratmak ve aradığım
‫kavramı Google'da aratmaktır.
‫Bir diğeri de Jeremy Howard.
‫John Larkin ve Jeremy Howard, Jeremy Howard'ı Google'da aratabilirsiniz, ben sadece bu iki kişiyi aklımda kaldığı kadarıyla söylüyorum,
‫Josh McCown'ı araştırmanıza izin vereceğim, ancak kendisi konvolüsyonel sinir
‫ağlarının kurucularından biridir, ki bu da görüntülerimizi işlemek için kullanacağımız şeydir.
‫Ama Yan Liqun'un parti büyüklüğünü Google'da aratırsak burada saparız.
‫Ve sonra Twitter'a, aslında bir şeyleri anlamak için harika bir kaynak olan şeye geliyoruz.
‫Bakın, büyük mini partilerle yapılan bu eğitim sağlığınız için kötü.
‫Daha da önemlisi, test hatanız için kötüdür.
‫Arkadaşlar, arkadaşlarının 32'den büyük mini partiler kullanmasına izin vermez.
‫O zaman burada farklı parti büyüklükleri ile ilgili bir makalemiz var.
‫Bunu araştırmana izin vereceğim.
‫Bu tweet'i kaynaklar bölümünde linkleyeceğim, böylece o makaleye göz atabilirsiniz.
‫Ama bunun için çalışacağız.
‫Verilerimizi 32 büyüklüğünde yığınlara dönüştüreceğiz.
‫Böylece TensorFlow'da gerçekten verimli bir şekilde işlenirler.
‫O halde verileri gruplara dönüştürerek küçük bir başlık açalım.
‫Ve bu küçük bilgiler, az önce size gösterdiğim, birinin adını aramak gibi, bu tür şeylerin önemli
‫olduğunu düşünüyorum, değil mi?
‫Ben size söylemesem ya da siz rastlamasanız bunu nereden bileceksiniz?
‫Bunu bulmamın tek yolu, "Hey, insanların paylaştığı bir sürü harika
‫bilgi var.
‫Sık sık ve tekrar nasıl buluyorum, yolum mükemmel değil ama yardımcı oluyor.
‫Birinin adını ve hakkında daha fazla bilgi edinmek istediğim belirli bir kavramı Google'da aratıyorum.
‫Bu nedenle, değerli bir şey bulduğunuzda çalışmanızı paylaşmanız önemlidir.
‫Tamam.
‫Bir kez daha dikkatim dağıldı.
‫Ama neden şimdi bir şeyi partilere dönüştürelim ki?
‫Şey, diyelim ki.
‫Neden verilerimizi toplu işlere dönüştürüyoruz?
‫Ve hala toplu işlerde kafanız karıştıysa, sadece küçük bir bölümünü, 32 görüntüyü alıyoruz ve bu 32 görüntü
‫üzerinde tek seferde hesaplama yapıyoruz.
‫Ve bir sonraki döngüde, bir sonraki eğitim seansında bir sonraki 32'yi hesaplarız.
‫Çünkü 10.000 resmin hepsindeki desenleri hesaplamaya çalışsaydık.
‫Diyelim ki tek seferde 10.000'den fazla görüntüyü işlemeye çalışıyorsunuz.
‫Hepsi hafızaya sığmayabilir.
‫Bununla kastettiğim şey, bir CPU'nun gerçekten hızlı işlem yapmasına rağmen, yine de sınırlı miktarda belleğe
‫sahip olmasıdır.
‫Bilgisayarım 16 gigabayt RAM'e sahipken GPU desteği sekiz gigabayt RAM'e sahip olabilir.
‫Yani elimizde 10.000'den fazla görüntü varsa ve bunların üzerindeki desenleri tek seferde işlemeye çalışıyorsak, bu
‫sekiz gigabayttan fazla olabilir ve bu da eğitim sürecimizi yavaşlatacaktır.
‫Bu her şeyi bozacak.
‫Bu yüzden bir seferde 32 tane yapıyoruz.
‫Bu yüzden bir seferde yaklaşık 32 resim çekiyoruz.
‫32 görüntü, toplu boyut yapabilirsiniz.
‫İşte burası.
‫Bu parti büyüklüğüdür.
‫Gerekirse parti boyutunu manuel olarak ayarlayabilirsiniz.
‫Pekala, konuşarak yeterince zaman geçirdik.
‫Biraz kod yazmaya başlayalım.
‫Neye ihtiyacımız var?
‫O zaman buraya yaz.
‫TensorFlow'u etkin bir şekilde kullanabilmek için verilerimizin tensor tuple'ları şeklinde olması
‫gerekir.
‫Yani bir tensör ve etiket şeklinde görüntü.
‫Yani çift olarak.
‫Daha sonra bunların 32'sini bir seferde makine öğrenimi modelimize aktarırız ve model bu görüntüdeki
‫bu etiketle ilgili kalıpları bulur ve bunu 10.000'den fazla görüntünün tamamına
‫ulaşana kadar bir tür döngü şeklinde yapar.
‫Tamam.
‫Biraz işlevsellik oluşturalım.
‫Ama önce tuple'ları almak için bir yola ihtiyacımız var.
‫Dolayısıyla, bunları 32'lik gruplar haline getirmeden önce şuna benzer bir tuple elde etmemiz gerekir.
‫Öyleyse küçük bir fonksiyon yazalım.
‫Bu yüzden bir tuple döndürmek için basit bir fonksiyon oluşturun, dilden güzelce yuvarlanan bir zaman tuple'ı.
‫Bu yüzden def get image etiketine gitmek istiyoruz.
‫Çünkü burada resmimizi döndürecek bir fonksiyonumuz var.
‫Yani tek yapmak istediğimiz, bu fonksiyona ilettiğimiz yolla ilişkili etiketi almak.
‫Bu yüzden buraya görüntü yoluna gidiyoruz.
‫Ve şimdi bu fonksiyonun ne kadar basit olduğu konusunda bana gerçekten güleceksiniz, çünkü
‫tek yaptığımız görüntü yolunu geçmek.
‫Gerçek etiket ve az önce yazdığımız görüntü ön işleme işlevi.
‫Bu yüzden görüntüyü, görüntü yolunu işleyin ve ardından görüntü etiketini döndürmek istiyoruz.
‫Şuna bak.
‫Bu ne kadar basit?
‫So, bir görüntü dosyası yolu adı alır ve eklediği etiket görüntüyü işler ve görüntü etiketinin bir tablosunu
‫döndürür.
‫Doküman dizisi işlevden daha uzun.
‫Çok güzel.
‫O çizgiye ihtiyacımız bile yoktu.
‫Hepsini yapabilirdik.
‫Buraya dön.
‫Şimdi hızlıca bir örnek verelim.
‫Bunun tam olarak neye benzeyeceğini görelim.
‫İşlem, görüntü.
‫Dosya isimlerini istiyoruz.
‫En sevdiğimiz sayı olan 40'a gelelim.
‫Neymiş o?
‫Adı ne?
‫Bull Lane.
‫Etiketler.
‫Sadece X ve Y'yi kullanabiliriz, değil mi?
‫Bu muhtemelen biraz daha iyi.
‫X.
‫Neden?
‫42.
‫Yukarıdakilerin demosu.
‫Çok güzel.
‫Yani bu bir tuple içinde.
‫Görüntümüz bir tensör içinde çünkü onu görüntü işlemeye geçiriyoruz, ancak etiketimiz henüz bir tensör içinde değil.
‫Ama sorun değil.
‫Sadece TF Sabit'e giderek onu bir tensöre dönüştürebiliriz.
‫İşte oldu.
‫Şimdi elimizde bir resim ve etiket çifti var.
‫Zaman kipleri şeklinde.
‫Şimdi verilerimizi hazır hale getirme konusunda iyi bir ilerleme kaydediyoruz.
‫Şimdi, makine öğreniminin büyük bir kısmının verilerinizi makine öğrenimi modeline uygun bir formatta önceden işlemekten ibaret
‫olduğunu söylediğimi hatırlıyor musunuz?
‫Burada yaptığımız şey de bu.
‫Ve şimdi, yine, bu süreç, verilerimizi birkaç zamanda veri etiketi formatına sokmaktı,
‫kullandığınız verilerden bağımsızdır.
‫Yani resim kullanmıyorsanız, metin gibi bir şey kullanıyorsanız, bu ön işleme yönteminiz dışında
‫çok benzer bir süreç olacaktır.
‫Metin resimden farklı olacaktır.
‫Hâlâ zaman kiplerine sokmak zorundasınız.
‫Tamam.
‫Bu yüzden resim ve etiket çiftlerini tuple şeklinde almak için küçük bir fonksiyonumuz var.
‫Bir sonraki videoda görüntü ve etiket çiftlerimizi yığınlara dönüştürmek için bir fonksiyon yazacağız.
‫Görüntülerimizin eğitim, doğrulama ve test gruplarında olmasına bağlı olarak
‫dikkat etmemiz gereken birkaç küçük ayrıntı vardır.
‫Ama bunu bir sonraki videoda göreceğiz.