Yazar: MOHD SANAD ZAKI RIZVI
Çeviri: Wu Jindi
Redaksiyon: Ding Nanya
Bu makale hakkında 5500 kelime 15 dakika okumanız tavsiye edilir.
Bu makale ilk olarak TensorFlow.js ve bileşenlerinin önemini tanıtmakta ve tarayıcıda makine öğrenimi modelleri oluşturmak için bunu kullanma yöntemini tanıtmaktadır. Ardından, vücut duruşunu algılamak için bilgisayarın web kamerasını kullanan bir uygulama oluşturun.
Makine öğrenimi modelleri yazmak için en çok hangi aracı kullanmayı seviyorsunuz? Veri bilimciler bu ebedi soruya çeşitli cevaplar verecekler. Bazı insanlar RStudio'yu sever, diğerleri Jupyter Notebook'ları tercih eder. Ben kesinlikle ikincisine aitim.
Bu yüzden, TensorFlow.js (daha önce deeplearn.js) ile ilk karşılaştığımda kalbim patladı. Tarayıcıda bir makine öğrenimi modeli mi oluşturuyorsunuz? JavaScript kullanıyor musunuz? Gerçek olamayacak kadar iyi geliyor!
4,3 milyardan fazla insan bir web tarayıcısı kullanıyor - dünya nüfusunun yaklaşık% 55'i. -Wikipedia (Mart 2019)
Google'ın TensorFlow.js'si yalnızca makine öğrenimini tarayıcıya tanıtmak ve makine öğrenimini demokratikleştirmekle kalmaz, aynı zamanda JavaScript kullanan geliştiriciler için mükemmel bir makine öğrenimi portalıdır.
Web tarayıcımız en erişilebilir platformlardan biridir. Bu nedenle, yalnızca makine öğrenimi modellerini eğitmekle kalmayan, aynı zamanda tarayıcının kendisinde "öğrenen" veya "öğrenmeyi aktaran" uygulamalar oluşturmak mantıklıdır.
Bu yazıda, önce TensorFlow.js ve diğer farklı bileşenleri kullanmanın önemini anlayacağız. Ardından, tarayıcıda kendi makine öğrenimi modelimizi oluşturmak için TensorFlow.js kullanarak derinlemesine tartışacağız. Ardından, vücut duruşunuzu tespit etmek için bilgisayarın web kamerasını kullanacak bir uygulama geliştireceğiz!
TensorFlow'da yeniyseniz, aşağıdaki makaleden daha fazla bilgi edinebilirsiniz:
1. TensorFlow.js'yi neden kullanmalısınız?
1.1 Tarayıcıdaki resimleri sınıflandırmak için web kamerasını kullanın
1.2 TensorFlow.js'nin Özellikleri
İkinci olarak, tarayıcıdaki makine öğrenimini anlayın
2.1 Core API: Tensörlerle Çalışma
2.2 Katman API: Keras gibi modeller oluşturun
3. Google'ın eğitim öncesi modelini kullanın: PoseNet
Bu soruyu cevaplamak için benzersiz bir yöntem kullanacağım. TensorFlow.js'nin teorik yönlerini araştırmayacağım veya neden bu kadar inanılmaz bir araç olduğunu listelemeyeceğim.
Bunun yerine, TensorFlow.js'yi kullanmazsanız neyi özleyeceğinizi size göstereceğim. Öyleyse, web kameranızı görüntüleri sınıflandırmak için kullanmak üzere 5 dakika içinde bir uygulama oluşturalım. Doğru, doğrudan kod kısmına gideceğiz!
Bu en iyi kısım - bunu yapmak için herhangi bir şey yüklemenize gerek yok! Tek ihtiyacınız olan bir metin editörü ve bir web tarayıcısıdır. Aşağıdaki animasyon, oluşturacağımız uygulamayı göstermektedir:
Bu ne kadar harika! Tarayıcıda birkaç dakika içinde bitirdim. Öyleyse, bir web tarayıcısında kendi görüntü sınıflandırma modelinizi oluşturmanıza yardımcı olacak adımlara ve koda bir göz atalım.
1.1 Tarayıcıda bir görüntü sınıflandırma modeli oluşturmak için bir web kamerası kullanın
İstediğiniz bir metin düzenleyiciyi açın ve index.html dosyasını oluşturun. Aşağıdaki kodu bu dosyaya kaydedin:
< ! DOCTYPE html > < html > < baş > < meta karakter kümesi = "UTF-8" > < meta http-equiv = "X-UA-Uyumlu" content = "IE = kenar" > < meta name = "görünüm alanı" content = "genişlik = cihaz genişliği, ilk ölçek = 1" > < ! - sayfanın başlığı - > < Başlık > image_classification < /Başlık > < ! - yükleme işlem kütüphanesi - > < script src = "https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.8.0/p5.min.js" > < /senaryo > < script src = "https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.8.0/addons/p5.dom.min.js" > < /senaryo > < ! - ml5.js yükle - > < script src = "https://unpkg.com/ml5@0.1.1/dist/ml5.min.js" > < /senaryo > < ! - index.js yükle - > < script src = "index.js" > < /senaryo > < / kafa > < vücut > < ! - videonun gösterileceği yer burasıdır - > < video id = "video" > < /video > < /vücut > < / html >Ardından, başka bir index.js dosyası oluşturun ve içine aşağıdaki kodu yazın:
mobilenet olsun; hadi video; let etiket = ''; // model hazır olduğunda tahminlerde bulunun function modelReady () { console.log ('Model hazır !!!'); mobilenet.predict (gotResults); } function gotResults (hata, sonuçlar) { if (hata) { console.error (hata); } Başka { label = results.className; // kendini çağırarak çıkarımı döngüye sok mobilenet.predict (gotResults); } } // kurulum işlevi function setup () { createCanvas (640, 550); // video çekimi oluşturmak için ml5 video = createCapture (VIDEO); video.hide (); arkaplan (0); // MobileNet'i yükleyin ve video beslemesine uygulayın mobilenet = ml5.imageClassifier ('MobileNet', video, modelReady); } function draw () { arkaplan (0); // videoyu göster görüntü (video, 0, 0); doldurma (255); textSize (32); // tahmin etiketini göster metin (etiket, 10, yükseklik-20); }Bu iki dosyayı kaydedin ve ardından index.html dosyasını Google Chrome veya Mozilla Firefox gibi bir tarayıcıda açın. Bu kadar! Artık, web kameranızı, görüntüleri tarayıcının kendisinde gerçek zamanlı olarak sınıflandırmak için kullanabilen bir uygulama oluşturdunuz! Bilgisayarımda şöyle görünüyor:
Video bağlantısı:
https://s3-ap-south-1.amazonaws.com/av-blog-media/wp-content/uploads/2019/05/mobilenet_demo.mp4?_=1Bu örnekte dikkat edilmesi gereken noktalar:
Bilgisayara herhangi bir şey yüklememe gerek yok. Bu örnek, Linux, Windows veya MacOS olsun, herhangi bir modern sistem için geçerli olmalıdır - bu, web üzerinde modeller oluşturmak için JavaScript kullanmanın gücüdür.
Şimdi, TensorFlow.js tarafından sağlanan güçlü özelliklere ve tarayıcıda makine öğrenimi modellerini dağıtmak için bunların nasıl kullanılacağına bakalım.
1.2 TensorFlow.js'nin Özellikleri
TensorFlow.js, JavaScript geliştirme ve makine öğrenimi modellerinin eğitimi için kullanılan ve tarayıcı veya Node.js üzerinde dağıtılan bir kitaplıktır.
TensorFlow.js, kullanmamız için birçok işlev sağlar.
İnternette kullandığımız hemen hemen tüm web sitelerinin, tarayıcıların veya uygulama mantığının arkasındaki programlama dili olan JavaScript'te TensorFlow'un bir uzantısıdır. JavaScript, Python kadar çok yönlüdür, bu nedenle onu makine öğrenimi modelleri geliştirmek için kullanmak bize birçok avantaj sağlar:
TensorFlow.js, mevcut biçiminde aşağıdaki ana işlevleri sağlar:
Bu yazıda ilk iki işleve odaklanacağız. Bu dizinin ikinci bölümünde (çok yakında!), Öğrenmeyi nasıl aktaracağımızı ve modellerimizi Python'a nasıl yerleştireceğimizi tartışacağız.
TensorFlow.js, modeli eğitmek için iki yöntem sağlar (TensorFlow'a çok benzer):
Bu iki yöntemi birkaç örnekle anlayalım. Sonuçta, bir kavramı öğrenmenin en iyi yolu onu uygulamaya koymaktır!
İlk önce HTML dosyanızı ayarlayın:
Bilgisayarınızda yeni bir index.html dosyası oluşturun ve içine aşağıdaki kodu yazın:
< html lang = "en" > < baş > < meta karakter kümesi = "UTF-8" > < meta name = "görünüm alanı" content = "genişlik = cihaz genişliği, ilk ölçek = 1.0" > < meta http-equiv = "X-UA-Uyumlu" içerik = "ie = kenar" > < ! - Tensorflow.js yükle - > < script src = "https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@1.0.0/dist/tf.min.js" > < /senaryo > < / kafa > < vücut > < h1 > Tensorflow.js Core API < / h1 > < ! - < script src = "index.js" > < /senaryo > - > < script type = "text / javascript" > < /senaryo > < /vücut > < / html >Temel bir HTML sayfası oluşturduk ve Tensorflow.js'yi bulut URL'sinden (satır 7) yükledik.
TensorFlow.js'yi (deeplearn.js) yükleme talimatları:
TensorFlow.js tarayıcılar için tasarlandığından, TensorFlow.js'yi kurmanın ve kullanmanın en kolay yolu onu hiç kurmamaktır. Bunu HTML'deki URL'den kolayca yükleyebilirsiniz.
Ya yerel olarak çalışmak istersen? Aslında, normalde Python veya R'de yaptığınız gibi, Jupyter Notebook'ta TensorFlow.js'yi kullanabilirsiniz. Bu herkes için bir çözüm!
Bu yerel yöntem biraz daha uzundur ve biraz zaman alır, bu nedenle bu makale onu kullanmayacaktır. Gerçekten nasıl yapılacağını öğrenmek istiyorsanız, Jupyter için ijavascript çekirdeğini kurarak başlayabilirsiniz. Aşağıda Jupyter Not Defterimin bir ekran görüntüsü var:
Şimdi, TensorFlow.js'yi kullanmanın önerilen yolu, onu doğrudan kütüphanenin resmi URL'sini kullanarak yüklemektir. HTML dosyasına yalnızca aşağıdaki satırı eklemeniz gerekir:
< scriptsrc = "https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@1.0.0/dist/tf.min.js" > < /senaryo >bitti! Gerçekten çok basit.
2.1 Core API: Tensörlerle Çalışma
Core API, TensorFlowCore'a çok benzer, modelleri tanımlamak için düşük seviyeli tensör işlemlerini ve doğrusal cebiri kullanabiliriz.
Özel bir model oluşturmak istiyorsak veya sıfırdan bir sinir ağı kurmak istiyorsak bu çok kullanışlıdır. Tarayıcıda tensör kullanımına bir örnek verelim.
İndex.html dosyasında ilk < senaryo > < /senaryo > Aşağıdaki kodu etiketlerin arasına ekleyin:
const a = tf.tensor (); const b = tf.tensor (); const y = a.add (b); // tf.add (a, b) ile eşdeğerdir const z = a.mul (b); y.print (); z.print ();< senaryo > Etiketi temelde JavaScript anlamına gelir. Bu etiketler arasında yazdığımız her şey JavaScript kodu olarak çalıştırılacaktır. İşte index.html şu anda nasıl görünüyor:
< html lang = "en" > < baş > < meta karakter kümesi = "UTF-8" > < meta name = "görünüm alanı" content = "genişlik = cihaz genişliği, ilk ölçek = 1.0" > < meta http-equiv = "X-UA-Uyumlu" içerik = "ie = kenar" > < ! - Tensorflow.js yükle - > < script src = "https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@1.0.0/dist/tf.min.js" > < /senaryo > < / kafa > < vücut > < h1 > Tensorflow.js Core API < / h1 > < ! - < script src = "index.js" > < /senaryo > - > < script type = "text / javascript" > const a = tf.tensor (); const b = tf.tensor (); const y = a.add (b); // tf.add (a, b) ile eşdeğerdir const z = a.mul (b); // tf.mul (a, b) ile eşdeğerdir y.print (); z.print (); < /senaryo > < /vücut > < / html >Yukarıdaki kodda, iki tensör a ve b üzerinde temel toplama ve çarpma işlemlerini gerçekleştiriyoruz ve sonuçları tarayıcıda yazdırıyoruz. Şimdi terminale gidin, proje klasörünü açın ve aşağıdaki komutla Python sunucusunu başlatın:
python3 -m http.serverArdından tarayıcınızda aşağıdaki adresi açın:
http: // localhost: 8000 /"Tensorflow.js Core API" yazan bir sayfa gördüğünüzde, konsolu açmak için Ctrl + Shift + I tuşlarını kullanın. Bu hem Chrome hem de Firefox'ta çalışmalıdır. Konsolda yukarıdaki işlemin çıktısını alıyoruz:
Core API hakkında daha fazlasını derinlemesine okumak istiyorsanız, resmi CoreAPI belgelerini okumanızı öneririm.
CoreAPI belgeleri:
https://www.tensorflow.org/js/guide/tensors_operations2.2 Katman API: Keras gibi modeller oluşturun
Layers API, Python'daki Keras'a çok benzer. Keras gibi, modelleri oluşturmak için sıralı ve işlevsel yöntemler kullanabilirsiniz.
Sıra yöntemine bir örnek aracılığıyla daha yakından bakalım. Regresyon modelini şu veri noktaları üzerinde eğiteceğiz:
Burada, X ve Y'nin doğrusal bir ilişkisi vardır - her Y, X + i'ye karşılık gelir (burada i, 0, 1, 2, 3 ... n + 1'dir). Bu veri seti üzerinde temel bir regresyon modeli eğitelim. İndex.html dosyasında yapabilirsiniz < senaryo > < /senaryo > Aşağıdaki kodu etiketlerin arasına yazın:
const callbacks = { onEpochEnd: eşzamansız (dönem, günlükler) = > { console.log ("epoch:" + epoch + JSON.stringify (günlükler)) } }; // Eğitim için bazı sentetik veriler oluşturun. const xs = tf.tensor2d (,); const ys = tf.tensor2d (,); // Modeli oluşturun ve derleyin. async function basicRegression () { // Sıralı bir model oluşturun const model = tf.sequential (); model.add (tf.layers.dense ({units: 1, inputShape:})); model.add (tf.layers.dense ({units: 1, inputShape:})); model.compile ({iyileştirici: 'sgd', kayıp: 'meanSquaredError'}); // Modeli fit () ile eğitin. model.fit (xs, ys, {epochs: 100, validationSplit: 0.1, geri aramalar: geri aramalar}); // tahmin () ile çıkarım çalıştırın. model.predict (tf.tensor2d (,)). print (); } // Temel bir regresyon modeli oluşturun basicRegression ();Meraklı okuyucular, Python'da sıralı modeller oluşturmak için yukarıdaki sözdiziminin Keras sözdizimine çok benzer olduğunu fark etmiş olmalıdır. Tarayıcı konsoluna geri döndüğümüzde tahminler alıyoruz.
Basit regresyon modelimiz, beklenen 8 değerine çok yakın olan 7.556'yı öngörür. Bu temel bir örnektir, ancak doğrudan tarayıcıda makine öğrenimi modelleri oluşturmanın ne kadar kolay ve yararlı olduğunu açıkça görebiliriz.
TensorFlow.js, tarayıcıda makine öğrenimi ve derin öğrenme modelleri oluşturabilir. Ayrıca, sistem modeli eğitiminiz sırasında mevcutsa, GPU'ların gücünü otomatik olarak kullanır.
Aşağıda, TensorFlow.js kullanılarak bazı standart veri kümeleri üzerinde eğitilmiş derin öğrenme modellerine ilişkin bazı örnekler verilmiştir:
Bu örneklere tfjs-samples deposunda göz atabilirsiniz.
tfjs-örnekler deposu:
https://github.com/tensorflow/tfjs-examplesTensorFlow.js, hedef algılama, konuşma tanıma, görüntü segmentasyonu vb. Gibi birçok yararlı görev için Google'dan çok sayıda önceden eğitilmiş model sağlar. Önceden eğitilmiş modellerin avantajı, bunları herhangi bir büyük bağımlılık veya kurulum olmadan kullanabilmemiz ve kutudan çıkarılmadan kullanılabilmeleridir.
Google'ın önümüzdeki aylarda daha fazla model sunması bekleniyor. Mevcut önceden eğitilmiş modelleri aşağıdaki bağlantıdan görüntüleyebilirsiniz:
İlgili Bağlantılar:
https://www.tensorflow.org/js/modelsBu yazıda PoseNet kullanacağız. PoseNet, insan vücudunun kilit eklemlerinin konumlarını tahmin ederek bir kişinin bir görüntü veya videodaki pozunu tahmin edebilen görsel bir modeldir.
PoseNet nasıl çalışır?
Bu büyüleyici bir kavram. Poz tahmini, görüntüleri ve videolardaki insanları tespit etmek için kullanılan bir bilgisayarla görme teknolojisidir. Örneğin bu, bir kişinin dirseğinin resimde nerede göründüğünü belirlememize yardımcı olabilir.
Açıkça ifade etmek gerekirse, bir görüntüde kimin olduğunu belirlemekle ilgili değildir. Algoritma basitçe temel vücut eklemlerinin konumunu tahmin eder.
Tespit edilen anahtar noktalar "Parça" ve "Kimlik" dizinlerine ayarlanır ve güvenirlik puanı 0,0 ile 1,0 arasındadır (en yüksek değer 1,0'dır).
Aşağıda, PoseNet tarafından verilen çıktı türünün bir örneği verilmiştir:
İnanılmaz, değil mi? ! PoseNet'i kullanmak için ml5.js kütüphanesini kullanacağız. ml5.js, TensorFlow.js ve p5.js tabanlı bir kitaplıktır. p5.js, tarayıcıda web kamerasına erişmenizi kolaylaştıran başka bir kitaplıktır.
ml5.js, makine öğrenimini sanatçılar, yaratıcı kodlayıcılar ve öğrenciler için erişilebilir hale getirmeyi amaçlamaktadır. Kitaplık TensorFlow.js tabanlıdır ve basit bir sözdizimi aracılığıyla tarayıcıdaki makine öğrenimi algoritmalarına ve modellerine erişim sağlar.
Örneğin, aşağıda gösterildiği gibi 5 satır kodda MobileNet kullanarak bir görüntü sınıflandırma modeli oluşturmak için ml5.js kullanabilirsiniz:
Tarayıcıda hızlı prototipleme için çok uygun kılan Ml5.js'nin basitliğidir, bu yüzden projelerimizde kullanıyoruz.
PoseNet'e dönelim. Yeni bir index.html dosyası oluşturun ve aşağıdaki kodu ekleyin:
< html lang = "en" > < baş > < meta karakter kümesi = "UTF-8" > < meta name = "görünüm alanı" content = "genişlik = cihaz genişliği, ilk ölçek = 1.0" > < meta http-equiv = "X-UA-Uyumlu" içerik = "ie = kenar" > < ! - p5.js yükle - > < script src = "https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.7.3/p5.min.js" > < /senaryo > < script src = "https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.7.3/addons/p5.dom.min.js" > < /senaryo > < ! - ml5.js yükle - > < script src = "https://unpkg.com/ml5@0.2.3/dist/ml5.min.js" type = "text / javascript" > < /senaryo > < ! - videoyu tarayıcının merkezinde tutun - > < stil türü = "metin / css" > vücut{ metin hizalama: merkez; } < / stil > < / kafa > < vücut > < h1 > Ml5.js ile PoseNet demosu < / h1 > < p id = "durum" > Model Yükleniyor ... < / p > < div id = "videoContainer" > < / div > < ! - posenet.js dosyasını yükleyin - > < script src = "posenet.js" > < /senaryo > < /vücut > < / html >Bu, temel bir HTML sayfası oluşturacak ve gerekli dosyaları yükleyecektir.
Şimdi, PoseNet'i kullanmak için JavaScript kodu yazacağız. İndex.html ile aynı klasörde yeni bir posenet.js dosyası oluşturun. Bu görevi tamamlamak için gereken adımlar şunlardır:
İlk adımla başlayalım.
Adım 1: PoseNet modelini yükleyin ve web kamerasından video yakalayın
PoseNet'i yüklemek için ml5.js kullanacağız. Aynı zamanda, p5.js bir web kamerasından birkaç satır kodla video çekmemize olanak tanır:
hadi video; poseNet edelim; hadi pozlar =; function setup () { const canvas = createCanvas (640, 480); canvas.parent ('videoContainer'); // Video yakalama video = createCapture (VIDEO); video.size (genişlik, yükseklik); // Tek bir algılama ile yeni bir poseNet yöntemi oluşturun poseNet = ml5.poseNet (video, modelReady); // Bu, genel değişken "pozlar" ı dolduran bir olay oluşturur // her yeni poz algılandığında bir dizi ile poseNet.on ('poz', function (sonuçlar) { pozlar = sonuçlar; }); function modelReady () { select ('# durum']. html ('model Yüklendi') }Yukarıdaki kod bloklarından en önemlileri şunlardır:
2. Adım: Vücut eklemlerinin kilit noktalarını kontrol edin
Bir sonraki adım, duruşu tespit etmektir. Önceki adımlarda, tespit edilen her bir pozu, poseNet.on () 'u çağırarak poz değişkenine kaydettiğimizi fark etmiş olabilirsiniz. Bu işlev arka planda sürekli olarak çalışır. Yeni bir poz bulunduğunda, vücut eklemlerinin konumunu aşağıdaki formatta verecektir:
Bu bölüm için kod yazmak zorunda değiliz çünkü otomatik olarak üretiliyor.
3. Adım: Tespit edilen insan eklemlerini görüntüleyin
Tespit edilen insan eklemlerini ve x ve y konumlarını biliyoruz. Şimdi, tespit edilen insan eklemlerini göstermek için onları videoya çizmemiz gerekiyor. PoseNet'in tespit edilen insan eklemlerinin bir listesini ve her eklemin güven skorunu ve x ve y konumunu verdiğini gördük.
% 20 eşik kullanacağız (keypoint.score > 0.2) Kilit noktayı çizmek için güven puanı. Bunu başarmak için gereken kod:
// Algılanan anahtar noktaların üzerine üç nokta çizen bir işlev function drawKeypoints () { // Algılanan tüm pozlarda döngü yapın for (let i = 0; i < poses.length; i ++) { // Algılanan her poz için tüm temel noktalarda döngü yapın bırak poz = pozlar .poz; for (let j = 0; j < poz.keypoints.length; j ++) { // Bir anahtar nokta, bir vücut bölümünü tanımlayan bir nesnedir (rightArm veya leftShoulder gibi) let keypoint = poz.keypoints; // Poz olasılığı 0.2'den büyükse sadece bir elips çizin eğer (keypoint.score > 0.2) { doldurma (255, 0, 0); noStroke (); elips (keypoint.position.x, keypoint.position.y, 10, 10); } } } }4. Adım: Tahmini vücut iskeletini çizin
PoseNet, kilit noktalara veya vücut eklemlerine ek olarak tahmini vücut iskeletlerini de algılayabilir. İskeleti çizmek için poz değişkenini kullanabiliriz:
// İskeletleri çizmek için bir işlev function drawSkeleton () { // Tespit edilen tüm iskeletler arasında döngü yapın for (let i = 0; i < poses.length; i ++) { iskelet = pozlar olsun . iskelet; // Her iskelet için tüm vücut bağlantılarını dolaşın for (let j = 0; j < skeleton.length; j ++) { partA = iskelet olsun; partB = iskelet olsun; vuruş (255, 0, 0); satır (bölümA konumu.x, bölümA konumu.y, bölümB konumu.x, bölümB konumu.y); } } }Burada, tespit edilen iskeletin üzerinden geçerek kilit noktaları birleştiren çizgiler oluşturuyoruz. Kod hala oldukça basit.
Şimdi, son adım, art arda drawSkeleton () ve drawKeypoints () işlevlerini ve web kamerasından yakaladığımız video kaynağını çağırmaktır. Bunu başarmak için p5.js'nin draw () işlevini kullanabiliriz, bu, setup () 'dan hemen sonra çağrılır ve tekrar tekrar çalıştırılır:
function draw () { resim (video, 0, 0, genişlik, yükseklik); // Tüm anahtar noktaları ve iskeletleri çizmek için her iki işlevi de çağırabiliriz drawKeypoints (); drawSkeleton (); }Ardından, terminal penceresine gidin, proje klasörüne girin ve Python sunucusunu başlatın:
python3 -m http.serverArdından tarayıcınıza gidin ve aşağıdaki adresi açın:
http: // localhost: 8000 /Bak! PoseNet'iniz vücut duruşunuzu iyi algılamalıdır (tüm adımları doğru bir şekilde izlediyseniz). Aşağıdaki modelimin durumu:
TensorFlow.js'yi neden sevdiğimi anlayabilirsiniz. Çok verimlidir ve bir model oluştururken karmaşık kurulum adımları hakkında endişelenmenizi bile gerektirmez.
TensorFlow.js, makine öğrenimini tarayıcıya getirerek makine öğrenimini daha erişilebilir hale getirmek için pek çok olasılık sergiliyor. Aynı zamanda veri gizliliği ve etkileşim gibi avantajları da vardır. Bu kombinasyon, özellikle makine öğrenimi uygulamalarınızı dağıtmak istiyorsanız, onu veri bilimcinin araç kutusunda çok güçlü bir araç haline getirir.
Sonraki makalede, tarayıcıda aktarım öğrenmenin nasıl uygulanacağını keşfedeceğiz ve TensorFlow.js kullanarak makine öğrenimi veya derin öğrenme modellerini dağıtacağız.
PoseNet ile projemiz bir adım daha ileri gidebilir ve başka bir sınıflandırıcıyı eğiterek bir jest tanıma uygulaması oluşturabilir. Denemenizi tavsiye ederim!
Orjinal başlık:
Tarayıcınızda TensorFlow.js ve Python kullanarak bir Makine Öğrenimi Modeli oluşturun
Orijinal bağlantı:
https://www.analyticsvidhya.com/blog/2019/06/build-machine-learning-model-in-your-browser-tensorflow-js-deeplearn-js/Çevirmen Profili
Wu Jindi , Syracuse Üniversitesi Bilgisayar Bilimleri Yüksek Lisansının ilk yılı. Zorluklarla yüzleşmek benim için en rahat durumdur, yapamadığım şeylere katlanmaya meyilliyim. Amacım erken yatıp erken kalkan bir Havalı Kız olmak.
Tsinghua-Qingdao Veri Bilimi Enstitüsü'nün resmi WeChat kamu platformunu takip edin " THU Veri Pastası "Ve kız kardeş numarası" Veri Pastası THU "Daha fazla ders avantajı ve kaliteli içerik elde edin.