Gıda tanıma yapay zekasının nasıl oluşturulacağını size öğretin: Xiaobai'nin kullanımı kolaydır, popülerdir ve Demo ile övülür

Copper Spirit Derleyin ve düzenleyin

Qubit Üretildi | Genel Hesap QbitAI

Derin öğrenme görevlerinin karmaşık ve anlaşılmasının zor olduğunu kim söyledi?

Aslında Xiao Bai kolayca öğrenip eğlenceli ve faydalı işler yapabilir.

Son zamanlarda, mühendisler Nidhin Pattaniyil ve Reshama Shaikh, gıda tanıma yapay zekasının bir web uygulaması sürümünü sıfırdan oluşturmayla ilgili bir eğitim yazdı. Verileri, öğreticileri ve demoları var. Anlaşılması basit ve kolay. Çok sayıda Twitter kullanıcısı kazandı.

Fast.ai'nin kurucusu bile, Kaggle'ın eski başkanı ve baş bilim adamı Jeremy Howard övdü ve tavsiye etti:

İşte ayrıntılı adımlar:

ısınmak

Bu görevi genel olarak anlamak için, web ve cep telefonlarında gıda görseli sınıflandırıcıları oluşturmak için derin öğrenme yöntemlerini kullanacağız.

Bu projeyi tamamladıktan sonra aşağıdaki becerileri edineceksiniz:

  • Yemek fotoğraflarını sınıflandırmak için bir derin öğrenme modeli eğitmek için fastai kitaplığını kullanın
  • Bu modeli web ve mobil cihazlara dağıtmak için Heroku ve Flask'ı kullanın

Bu eğitim üç bölüme ayrılmıştır, içerikleri aşağıdaki gibidir:

ilk kısım : Sınıflandırıcıyı eğitin

ikinci kısım : Modeli web'e dağıtın

üçüncü bölüm : Modeli mobil terminale dağıtın

Söyleyecek pek bir şey yok, belirli adımlar aşağıda resmi olarak açıklanacak.

Sınıflandırıcıyı eğitin

Böylesine eğlenceli bir uygulama oluşturmak için, Model ağırlık dosyası , Herhangi bir derin öğrenme kitaplığında edinebilirsiniz, iki yazar fastai kitaplığını kullanır.

Aşağıdaki GitHub deposunu açın, Jupyter Not Defterindeki kod, modeli eğitmenize yardımcı olabilir.

adres:

https://github.com/npatta01/web-deep-learning-classifier

Ayrıca model eğitimi için ilgili yazılımı da hazırlamanız gerekmektedir.İki kardeş şunları kullanır:

  • fastai: sürüm 1.0.42
  • PyTorch: sürüm 1.0.0
  • Python: sürüm 3.6

Derin öğrenme fastai kitaplığının 1.0 sürümü mevcut ve PyTorch üzerinde çalıştırılması gerekiyor. Fastai'nin işleyişine aşina değilseniz, işte öğrenebileceğiniz bir dizi fastai kursu:

https://docs.fast.ai/

Kullandığımız veriler Google bulut platformunda alınır ve analiz edilir.Tabii ki herhangi bir bulut platformunu (Amazon, Paperspce) vb. Seçebilirsiniz.

GPU çalışma ortamını fastai üzerine kurmak için talimatları bulabilirsiniz.Bu projede iki kardeşin kullandığı ekipman NVIDIA Tesla P100 ve 100GB sabit disktir.

Brother ayrıca eğlenceli bir yiyecek sınıflandırma veri seti önerdi: Yiyecek-101.

Gıda-101 veri setinde 101 gıda kategorisi bulunmaktadır.Toplamda 101k (yani 101000) görsel bulunmaktadır.Her kategoride 250'si test görüntüsü ve 750'si eğitim görüntüsü olmak üzere 1000 görsel bulunmaktadır.

Ancak, bu veri setindeki eğitim görüntülerinin temiz olmadığı, ayrıca bazı gürültü verileri içerdiği ve bazı etiketlerin yanlış olduğu unutulmamalıdır.

Bu veri setinde, tüm resimler 512 piksel maksimum kenar uzunluğu ile yeniden boyutlandırılmıştır. Veri setinin toplam boyutu 5 GB'dir ve aşağıdaki kodla alınabilir:

Tar.gz dosyasını aşağıdaki kod bloğuyla açın:

Yazılım ve donanım hazır ve veri seti de hazır, artık eğitime başlayabilirsiniz. Küçük erkek kardeş, modeli eğitmeye başlamak için Resnet-34 CNN mimarisini kullandı ve Google bulut platformundaki çalışma süresi yaklaşık bir saatti.

Modeli eğitmek için kod aşağıdaki adreste bulunabilir:

https://github.com/npatta01/web-deep-learning-classifier

Bu görüntüleri okumak için ImageDataBunch'ı kullanın:

Bu veriler resnet34 üzerinde önceden eğitilmiştir ve şimdi yalnızca en iyi öğrenme oranını belirlemek için doğrudan çalıştırılması gerekir.

Bu durumda, öğrenme oranı = 0.01 olduğunda en iyi sonucu verir:

Araştırmacılar ayrıca daha karmaşık mimariler de çalıştırdılar. 101 veri kategorisi ve GPU işlem süresi ve depolama koşulları olduğunu göz önünde bulundurarak, sonunda basit bir Resnet34 mimarisi seçtiler.

Daha sonra 8 iterasyon için 0.01 öğrenme oranıyla hata oranı% 28.9'a düşürüldü.

Daha sonra, küçük kardeş ağın son birkaç katmanını çözerek yeni bir öğrenme hızı arar.

5 yinelemeden sonra, hata oranı% 28.9'dan% 28.1'e düştü.

Karışıklık matrisi, aşağıdaki gıda kategorilerinin genellikle yanlış sınıflandırıldığını göstermektedir:

Çıktı derin öğrenme modeli

Bu derin öğrenme modelinin çıktısına model.pth (veya final.pth) adında bir ağırlık dosyası eşlik eder. Eğitmek için bu öğreticiyi takip ederseniz, modelin depolama konumu model kod bloğundadır.

Final.pth dosyası Jupyter'den bilgisayarınıza indirilebilir.

Model.pth dosyası git commit'e sığmayacak kadar büyük olabilir. İşte bazı çözümler:

1. Google Drive'da saklayın

2. GitHub sürümlerinde depolandı

3. Buluttaki bir kovada depolandı

İki yabancı kardeş, modellerini adresteki GitHub sürümlerinde sakladı:

https://github.com/npatta01/web-deep-learning-classifier/releases

Web üzerinden dağıtın

Model eğitildikten sonra, dağıtım aşaması nihayet başlayabilir. Brother bu depoyu şablon olarak kullanır:

https://github.com/npatta01/web-deep-learning-classifier

Ve Heroku uygulamasının girdisi olarak model.pth sınıflandırıcı algoritmasının çıktısını kullanın.

Gerekli dosya güncellemesi

Bu web tarafı uygulamayı çalıştırmak istiyorsanız, önce aşağıdakileri yapmanız gerekir:

1. Bu içerikleri src / config.yaml dosyasında güncelleyin:

  • Başlık
  • açıklama
  • hakkında
  • kodu
  • sampleImages

2. docs / 2_heroku_app.md dosyasındaki uygulama adını APP_NAME = food-img-classifier olarak değiştirin.

Heroku'yu yükleyin

Bir Heroku hesabınız yoksa, lütfen kaydolun (www.heroku.com).

Kodunuzda APP_NAME uygulamasını güncellemeyi unutmayın:

Not: 15 dakika içinde herhangi bir işlem yapılmazsa Heroku askıya alınacak, web uygulaması tekrar uyandığında Heroku tekrar uyanacaktır.

Modeli mobil cihaza dağıtın

Önce depo adresini gönderin:

https://github.com/npatta01/mobile-deep-learning-classifier

Gerekli dosya güncellemesi

Bu uygulamayı telefonunuzda çalıştırmak istiyorsanız, aşağıdakileri yapmanız gerekir:

Config.js dosyasında, aşağıdaki kod bloğunu güncelleyin:

  • AppConfig
  • başlığı güncelle
  • ana bilgisayarı heroku uygulama url'sine yönlendir
  • açıklama

Küçük kardeş aynı zamanda cep telefonuna yiyecek sınıflandırma uygulamasının demosunu da koydu:

https://www.youtube.com/watch?reload=9v=7d2qFLeYvRc

Maliyet tahmini

Son olarak, bu işlemleri tamamlamak için gereken ekonomik maliyetleri tahmin ettim:

1. Apple mağazası geliştirici hesabı kayıt ücreti: 100 ABD doları

2. Android Google Play kayıt ücreti: 30 ABD doları

Pekala ~ Bu ayrıntılı öğreticinin sonu ve başlayabilirsiniz.

Portal

Orijinal eğitim:

https://reshamas.github.io/deploying-deep-learning-models-on-web-and-mobile/

Web sürümü Demo adresi:

https://food-img-classifier.herokuapp.com/

İOS sürümünün demo adresi:

https://itunes.apple.com/us/app/food-classifier/id1445356461?mt=8

Demo adresinin Android sürümü:

https://play.google.com/store/apps/details?id=com.rsnp.foodclassifier

- Bitiş -

Samimi işe alım

Qubit, editörleri / muhabirleri işe alıyor ve merkezi Pekin, Zhongguancun'da bulunuyor. Yetenekli ve hevesli öğrencilerin bize katılmasını dört gözle bekliyoruz! Ayrıntılar için, lütfen QbitAI diyalog arayüzünde "işe alım" kelimesiyle yanıt verin.

Qubit QbitAI · Toutiao İmzalayan Yazar

' ' Yapay zeka teknolojisi ve ürünlerindeki yeni eğilimleri takip edin

Uzun yıllar koştuktan sonra neden iyileşmedi?
önceki
World of Warcraft nostaljik hizmeti ne kadar önemli? Biletleri atlamamak için 5 BUG Blizzard düzeltmek için 200 tasarımcı kullandı!
Sonraki
Sonuçlar milli futbolu kıskandırıyor! Beş maçta sadece Doğu Timor'u kazandı ancak Asya Oyunları'nın ilk dördüne başarıyla ulaştı
Li Xiaolai, GitHub trend listesinde birinci sırada yer aldı ve% 37 "sert çekirdekli tavuk çorbası" ile size kendi kendine öğrenen programlama öğretir
Oyunu oynamak için ne kadar çalışıyorsun? Lise öğrencileri aslında sınıfta, cep telefonlarını ve klavyelerini kullanarak LOL sıralamalarını oynuyorlar!
Asya Oyunları'nın bir numaralı aşırı yaş oyuncusu, kaptan Sun Xingmin "ölümsüz altın madalya" kazanmak üzere olduğunu gösteriyor.
Telefonun kilidini açan fotoğraflara katlanamıyor musunuz? Canlı algılama için OpenCV'yi kullanmayı öğretin | Kod var
192 jin şişman adamdan Malezya'daki PB229 tanrısına: gelin ve Chen Long ile tanışın!
Japon pazarına girmek için Tencent mücadele ediyor! King Glory'nin üst düzey versiyonu Japonlar için özel olarak özelleştirildi!
Başaramazsan asker olacaksın! Sun Xingmin bugün büyük bir sınavla karşı karşıya ve Asya Oyunları çeyrek finallerini durdurabilir.
"Alexa, bana çilek besle": Robot hizmetçi ortaya çıkar, yemek pişirip besleyebilir
Prestijli bir okuldan mezun, mimar, maraton PB246 ... Onun için bu yeterli değil!
DOTA2'nin patlamasının arkasında, aslında küçük bir kitap mı? Tencent hemen görüyor ve öğreniyor!
Manken yıldızı maçtan sonra fazla mesai yapmak için spor salonuna gidiyor.Serie A sadece an meselesi.
To Top