‫Tamam, harika.
‫Şimdi sadece görüntülerimizi zaman kipleri şeklinde bize döndürmekle kalmayan küçük bir yardımcı fonksiyonumuz var, süreçleri, bizim için
‫görüntüleri alıyoruz, ama aynı zamanda etiketi de döndürüyor, böylece onu bir tuple formunda geri alabiliyoruz.
‫Şimdi bunu kullanarak verilerimizi, tüm verilerimizi dönüştürecek başka bir fonksiyon yazalım,
‫çünkü bu sadece bir örnekleme yapıyor.
‫Tüm verilerimizi, yani X ve Y'lerimizi, verilerimizi ve etiketlerimizi büyüklükte yığınlara dönüştürmek için bir yola ihtiyacımız var.
‫32.
‫Pekala, şimdi bunu yazalım.
‫Verilerimizi zaman kiplerine dönüştürmenin bir yolunu not defterlerinde kendimize iletmeye çalıştığımızı
‫unutmayın.
‫Ve formda buraya gidiyoruz.
‫Resim etiketi.
‫Tüm verilerimizi dönüştürmek için bir fonksiyon yapalım.
‫X ve Y'yi gruplara ayırın.
‫Tamam.
‫Harika.
‫Şimdi, tüm bunların nereden geldiğini merak ediyorsanız, her türlü veri yüklemesi için harika bir
‫yer, belgeleri okumaktır.
‫Bazen biraz sıkıcı olabildiğini biliyorum, ama bana güvenin, ilk seferde anlamasanız bile
‫okuyun.
‫İlk seferinde anlamamıştım.
‫Okuyun.
‫Dene bakalım.
‫Tekrar deneyin ve nasıl gittiğine bakın.
‫Bu olacak.
‫Büyük bir işlev köpeği.
‫Köpek görüşü üzerinde çalıştığımız için bu uygun, ancak daha sonra bize çok
‫zaman kazandıracak.
‫O zaman yapalım.
‫Bu yüzden parti boyutunu tanımlamamız gerekir.
‫Yani 32 iyi bir başlangıç.
‫TensorFlow'un varsayılan değerinin 32 olduğunu unutmayın.
‫Yani bir yere ayarlamazsanız, muhtemelen varsayılan olarak 32 olacaktır.
‫Ama biz yine de tanımlayacağız.
‫Verileri toplu işlere dönüştürmek için bir fonksiyon oluşturalım ve şimdi bu fonksiyon aracılığıyla birlikte yazacağız.
‫Ve bir eğitim verisi yığını, bir doğrulama verisi yığını veya bir test verisi yığını isteyip istemediğimize
‫bağlı olarak birkaç küçük şeyi farklı şekilde yapacaktır.
‫Çünkü unutmayın, bunlar bizim üç setimiz.
‫İşte bunlar bizim üç setimiz.
‫Yani elimizde bir eğitim seti var.
‫Bunu bir eğitim yığınına, bir doğrulama yığınına ve bir test yığınına dönüştüreceğiz.
‫Tamam.
‫Bu yüzden veri grupları oluşturmak istiyoruz.
‫Bir X ve bir Y almasını istiyoruz.
‫Ve aslında neden hiç olmayabilir.
‫Şimdi nedenini düşünmenizi istiyorum.
‫Neden hiç olmayabilir.
‫Çünkü neden etiketlerimiz?
‫Bu muhtemelen birazdan anlamlı hale gelecektir.
‫Ancak neden etiketsiz bir veri grubu oluşturmak isteyebileceğimizi bir düşünün.
‫Geçerli veriler yanlışa eşittir ve test verileri yanlışa eşittir.
‫Ve burada kendimize küçük bir doküman bırakacağız.
‫Ron adında bir meslektaşım vardı ve bana lastik ördek tekniğini anlatmıştı.
‫Benden çok daha iyi bir yazılımcıydı ve dedi ki, "Eğer sorun yaşıyorsan.
‫Kodda bir şeyi nasıl yapacağınızı bulmak için, önce dilde yazın veya lastik bir ördekle konuşuyormuş
‫gibi kendi kendinize dilde söyleyin.
‫Ve lastik ördekler İngilizceyi çok iyi anlamazlar, bu yüzden bunu çok açık bir şekilde ifade etmeniz gerekir.
‫Ron'dan harika bir ipucu.
‫Teşekkürler, Ron.
‫Dolayısıyla bu işlev, görüntü X ve etiket y çiftlerinden veri yığınları oluşturur.
‫Eğitim verisiyse verileri karıştırır, yani verileri karıştırır çünkü indirdiğimiz eğitim dosyasında doğal
‫bir düzen olsaydı, muhtemelen olmazdı çünkü bunlar oldukça karışık görünüyor.
‫Modelimizin bu sırayı hatırlamasını istemiyoruz.
‫Hangi düzende ve görüntüde olursa olsun mümkün olduğunca uyarlanabilir olmasını istiyoruz.
‫Ancak eğitim verisi ise karıştırılır ancak doğrulama verisi ise karıştırılmaz.
‫Şimdi, doğrulama verisi ise neden karıştırılmayabileceği hakkında düşünmenizi istiyorum.
‫Merak etmeyin, bunu da ele alacağız, ancak bu arada bir düşünün.
‫Ayrıca test verilerini girdi olarak kabul eder.
‫İşte nedeni.
‫Neden hiç olmayabilir.
‫Çünkü test verilerinin elbette etiketleri yoktur.
‫Şimdi.
‫Yapmak istediğimiz şey, aynı şeyi yapan ancak geçerli veri veya test verisi olması durumunda bazı if cümleleri veya elif
‫cümleleri içeren bir işlev oluşturmaktır.
‫Yani ne yapmak istediğimizi biliyoruz.
‫Ve burada geçerli veya test verisi olup olmadığına dair bazı koşullarımız var.
‫Test verileriyle başlayalım çünkü bence en az şey bu kadar.
‫Yani veriler bir test veri seti ise.
‫Muhtemelen bilmiyoruz.
‫Yazmak üzereydim, eğer bu bir test veri setiyse kesinlikle etiketlerimiz yoktu.
‫Bu yüzden test verilerine bakacağız.
‫Yazdır.
‫Kendimize küçük bir uyarı verelim.
‫Kendime küçük bir uyarı vermeyi seviyorum.
‫Neler oluyor?
‫Test verisi toplu işi oluşturmak, daha sonra, hey, belki bazı veri toplu işleri yapıyoruz ve
‫test verisine yanlışlıkla yanlış bir parametre geçirdik ve test verisi için farklı şekilde yapıyor.
‫Bunu istemiyoruz.
‫Test partileri hazırladığını bilmek istiyoruz.
‫Yani veri, TFTP veri veri setine eşittir.
‫Yani bu, TensorFlow verilerindeki modüldür.
‫Esasen bir toplu veri seti oluşturuyoruz ve burada tensör dilimlerinden biraz ilginç bir
‫tane yapacağız.
‫Böylece bir veri kümesi oluşturur, a. k. a. sadece elemanları verilen zamanların dilimleri olan bir TensorFlow veri kümesi.
‫Yani temel olarak bunun söylediği şey, bana bazı zaman kipleri iletmek ve ben de bundan bir veri kümesi oluşturacağım.
‫Biraz kafa karıştırıcı, biliyorum, ancak TensorFlow tf constant x'te bu şekilde yapılır.
‫Yani temel olarak bunun söylediği şey, bir TensorFlow veri kümesi oluşturacağım.
‫En yoğun dilimlerden.
‫X ve X'i T sabitine geçirdiğimiz için, X'i bir tensöre dönüştürür.
‫Yani bu sadece dosya yollarıdır.
‫Etiket yok.
‫Tamam.
‫Ve şimdi veriler geri geldi.
‫İşte TensorFlow veri setimizi dönüştürdüğümüz yer burasıdır, çünkü şu anda bu, tüm X'i bir veri setine dönüştürecektir.
‫Bunu 32'lik bir parti boyutuna dönüştürmemiz gerekiyor.
‫Yani veri formatına eşittir.
‫Görüntüyü işlememiz gerekiyor.
‫Ve bunu bir toplu parti boyutuna dönüştürmemiz gerekiyor.
‫Vay be.
‫Burada bir sürü şey oluyor.
‫Daniel, neler oluyor?
‫Yukarıdaki satırdan bahsettik, ancak bu satırın söylediği tek şey, temel olarak X'ten oluşan bir TensorFlow
‫veri kümesi olan bu verileri almaktır.
‫Bu da sadece zaman kipleri biçimindeki dosya adlarıdır ve ardından işlem görüntüsü işlevimizi eşleştirir.
‫İşte bu yüzden onu bir fonksiyon haline getirdik, böylece ona process image diyebiliyoruz.
‫Dosya adlarımız üzerinde tüm bu adımları uygulayacaktır.
‫Bu yüzden onları içe aktaracak, normalleştirilmiş zamanlara dönüştürecek ve ardından toplu iş boyutunda bir toplu işe dönüştürecektir.
‫Şuraya gidelim.
‫Yani TensorFlow veri yığını.
‫Bu, her baktığımda kullandığım iş akışıdır.
‫Bir fonksiyon.
‫Yani eğer geri dönersek.
‫İşte oldu.
‫Parti.
‫Bu veri kümesinin ardışık öğelerini gruplar halinde birleştirir.
‫İşte oldu.
‫Yani ona sekizlik bir aralık iletirsek ve bunun üçlük bir grup olmasını istersek, sekizi
‫üç gruba ayıracaktır.
‫Yani bu tam olarak neden yeni bir sekmede?
‫Burada da aynı şeyi yapacak, ancak 32 beden hariç.
‫Harika.
‫İşte test verileri.
‫Şimdi yapmak istediğimiz, eğer veri geçerli bir veri kümesiyse, onu karıştırmamıza gerek yok.
‫Şimdi tekrar düşünmenizi istiyorum, neden karıştırmamız gerekmesin?
‫Tam olarak emin değilseniz sorun değil.
‫Bu konuda ben de birçok kez yakayı ele verdim.
‫Bu yüzden buraya küçük bir ilerleme bildirimi yazdıracağız ve sonra bunun aynısını yapacağız.
‫Bunu kopyalayabiliriz ama yazarak pratik yapacağız.
‫TFF Verileri.
‫Veri seti.
‫Tensör dilimleri.
‫İşte burası.
‫Çünkü doğrulama setimizde etiketler vardır.
‫Ona bir çift X ve TF sabiti y geçireceğiz.
‫Yani sadece dosya adlarımızı ve etiketlerimizi zamanlara dönüştürüyoruz.
‫Ve burada dosya yolları var.
‫Etiketler.
‫Artık bir TensorFlow veri setimiz var.
‫Bir doğrulama veri seti olduğu için görüntü dosyası kapları ve etiketleri.
‫Doğrulama veri setinin etiketleri vardır ve bunu yukarıdaki gibi bir veri yığınına eşittir veri haritasına dönüştüreceğiz.
‫Görüntüyü işleyin ve parti boyutunda bir partiye dönüştürün.
‫Oh.
‫Tetiği çekiyorum.
‫Harika.
‫Ve sonra veri yığınını döndürün.
‫Ve son olarak, bunların hiçbiri iyi çalışmazsa, geçerli veriler yanlışsa ve test verileri de yanlışsa, bunun bir eğitim
‫grubu olacağı açıktır.
‫Bu yüzden eğitim veri grupları oluşturacağız.
‫Bom, bom, bom.
‫Ve gidelim.
‫Yani eğer bu bir eğitim veri setiyse, onu karıştırmak istiyoruz.
‫Buradaki tek fark bu.
‫Bu yüzden dosya yollarını ve etiketleri zamanlara dönüştürmek istiyoruz.
‫Doğrulamada yaptığımız gibi, bunu da kopyalayabiliriz.
‫Şimdi, muhtemelen aynı işlevi gören bu işlevi yazmanın daha etkili bir yolu
‫vardır, ancak neler olup bittiğini oldukça anlaşılır bir şekilde yazmaya çalıştım.
‫Sabit X ve söylediğim gibi bunun oldukça anlaşılabilir olduğunu söyleyebilirdim.
‫Ancak böyle bir şeyle ilk kez karşılaşıyorsanız, inanın bana, ben karşılaştığımda kafam karışmıştı.
‫Ama adım adım ilerlediğimde, bir fonksiyonu parçalara ayırma tekniğimizi hatırlıyor musunuz?
‫Satır satır yazın ve ardından her satırda ne yaptığını kontrol edin.
‫Bu yüzden eşlemeden önce yol adlarını ve etiketleri karıştırmak istiyoruz.
‫Görüntü işlemci işlevini eşlemenin görüntüleri karıştırmaktan daha hızlı olması konusuna birazdan değineceğiz.
‫Kodu yazayım da konuşalım.
‫Ama veri karışıklığı.
‫Buffer iç çekiyor.
‫Yani tampon boyutu sadece kaç tane değişkeni karıştırmak istediğimizi ifade eder?
‫Hepsini karıştırmak istiyoruz.
‫Burada çok şey oluyor.
‫Bunun tek söylediği, hey, bu verileri alın, bu veriler bir TensorFlow veri kümesidir, yani dosya
‫adları ve etiketler ve sonra karıştırın ve örnek sayısını karıştırmak istiyoruz.
‫Eğer sadece 100 tanesini karıştırsaydık, X ve Y'nin ilk 100 örneğini alır ve karıştırırdı.
‫Ama hayır, hepsini karıştırmak istiyoruz.
‫Bunun nedeni, harita işlevini çalıştırdıktan sonra diğer eğitimlerin daha sonra karıştırıldığını görebilirsiniz.
‫Veri haritası.
‫Süreç.
‫Resim.
‫Bu nedenle, görüntüyü zaten işledikten sonra karıştırma işlemi yaptıysanız, tam bir görüntüyü karıştırmak sadece
‫dosya adına göre çok daha uzun sürer.
‫Dediğim gibi, unutmayın, deneyler arasındaki süreyi en aza indirmeye çalışıyoruz.
‫Bu yüzden elimizden geldiğince hızlanmaya çalışmak istiyoruz.
‫Burada küçük bir hata yaptığımızı fark ettim.
‫Doğrulama veri setimizde var çünkü.
‫Resimler ve etiketler.
‫Görüntümüzü de işleyen get image label fonksiyonunu eşlememiz gerekiyor.
‫Test veri setimiz için ise etiketimiz olmadığı için doğrudan işlenmiş görüntü fonksiyonunu çalıştırabiliriz.
‫Şimdi bu get image etiketini değiştirelim ve aynı olsun.
‫Bizim için.
‫Eğitim veri kümesi, böylece görüntü etiketi harika olsun.
‫Ve bunun ne yaptığını küçük, küçük bir yorumla yazabilir.
‫Bu yüzden görüntü etiketi küpleri oluşturun.
‫Bu aynı zamanda görüntü yolunu önceden işlenmiş bir görüntüye dönüştürür.
‫Eğer yapabilirsen.
‫Verilerinizi en küçük formatındayken karıştırın, a. k. a bizim durumumuzda tam görüntüler yerine dosya adları.
‫Ve şimdi son olarak, eğitim verilerini yığınlara dönüştürmek istiyoruz.
‫Yani veri yığını, veri yığınına eşittir.
‫Bash iç çekiyor.
‫Sonra da buraya çıkacağız.
‫Geri dön.
‫Data Bash.
‫Wolf, bu biraz devasa bir işlev.
‫Ama dediğim gibi, bu bize daha sonra çok zaman kazandıracak ve bunu göreceksiniz.
‫Unutmayın, bu, düşünmeye başlamanızı istediğim türden bir geliştirme çalışması tarzıdır.
‫Hey, daha sonra bazı işlevleri yeniden mi kullanacağım?
‫Eğer öyleyse, bunu bir fonksiyona yazacağım.
‫Ve muhtemelen bunu zaten biliyorsunuz çünkü benden çok daha zeki bir geliştiricisiniz.
‫Eskiden sadece telaşlanır ve her şeyi satır satır yazardım.
‫Şimdi eğitim ve doğrulama veri grupları oluşturarak fonksiyonumuzu test edelim.
‫Bu yüzden verileri eğiteceğiz.
‫Hemen yukarıdaki big dog fonksiyonumuzu kullanacağız.
‫Eğitim verisi için X train ve doğrulama verisi için Y train vereceğiz ve ihtiyacımız olan tek
‫şey bu.
‫Ardından VO verileri için veri grupları oluşturabiliriz.
‫X Val.
‫Y Val geçerli veri mi?
‫Eşittir doğru.
‫Ve şimdi, parmaklar çapraz.
‫Görmeliyiz.
‫Baskı ilerleme mesajlarımız.
‫Evet.
‫Bu inanılmaz.
‫Tamam.
‫Şimdi, veri eşleşmelerimizin farklı niteliklerini kontrol edelim.
‫Yani verileri denersek, artık TensorFlow'un tercih ettiği işleme yöntemi olan bir veri yığını biçimindedir.
‫İşte oldu.
‫Bu bizim eğitim verimiz, buradaki ilk veri.
‫Ne diyor bu?
‫Yani şeklin var.
‫Yok.
‫İki, iki, dört, iki, iki, dört, üç.
‫Bu bizim imajımız.
‫Hiçbiri parti büyüklüğü için değildir.
‫Bunu 32'ye kadar söylediğimizi biliyorum, ancak hiçbiri olarak kalacak çünkü parti büyüklüğü, unutmayın, esnektir.
‫Görüntülerimiz şu anda 32'lik gruplar halinde ve iki, iki, dört, iki, iki, dört, üç
‫şeklinde.
‫Yükseklik, genişlik, iki tip renk kanalı, float 32.
‫Ve burada etiketimizin bir tuple'ı var.
‫Yani bunlar zaman kipleri şeklindeki görüntü etiketi çiftleridir ve etiketlerimiz de hiçbiri şeklinde bir yığın şekline sahiptir
‫çünkü yığın boyutu esnektir.
‫Ve 120'lik bir boyuta sahipler, çünkü eğer gidersek, neden sıfır?
‫120 farklı köpek ırkı var ve doğrulama verileri için de aynı durum söz konusu.
‫Çok güzel.
‫Bu oldukça derinlemesine bir çalışmaydı.
‫Videosu bittiğinde, ki birkaç saniye içinde bitecek, geri dönüp bu işlevde neler
‫olup bittiğini okuyacağım.
‫Tam olarak emin değilseniz, görüntülerin ön işleme verilerini yükleme eğitimine bakıp bir göz
‫atın derim.
‫Öğrenmenin en iyi yolu da bunu gerçekten yazmaktır.
‫Fonksiyonu parçalara ayırın ve satır satır çalıştırmayı deneyin.
‫Kendim için bazı şeyleri bu şekilde ayırıyorum.
‫Ancak verilerimizin şu anki hali, eğer toplu iş kavramına yeniyseniz anlaması hala biraz
‫zor.
‫Muhtemelen anlaşılması çok zor bir kavram.
‫Şu anda neler olup bittiğini bilmemekte bir sorun yok.
‫Bu nedenle, veri yığınlarımızda ne olduğunu kontrol etmeye çalışırken bu saçma sapan şeyi yazdırmak
‫yerine anlamamıza yardımcı olmak için, neler olup bittiğini görselleştirmemize yardımcı
‫olacak bir işlev yazalım.
‫Bir sonraki videoda yapacağımız şey bu.