Yazılımlar / Diğer Programlar
Derin Öğrenme İle Yapılan Çalışmanın Uyarlanması?
Derin Öğrenme İle Yapılan Çalışmanın Uyarlanması?
-
Hocalar yl derin öğrenme dersi alıyorum, aklıma takılan bi soru var; diyelim ki ben hidden layerları falan bi güzel ayarladım, %99 doğruluk ile öğrettim ve python ile görüntü işliyorum. Bunu python ile yazarak test ettim.
Bu yaptığım çalışmayı nasıl bir yere implemente edeceğim? Yani telefon uygulamaları var object detection diye. Bunlar direkt olarak benim işlemcimi kullanıp detect ediyorlar. Bunları yaparken yazdığım kod sonucu, yazılımın öğrendiğini bir yere çıktı alarak mı bunu implemente ediyorum? Bu benim aklıma yatmadı, bunun hakkında bilgisi olan bir hocamız bir aydınlatabilir mi? İnternete baktım da pek bir sonuç bulamadım. Ben neyi kullanarak gerçek hayatta bir şeylerin sonucunu alacağım?
Bunu telefona değil de raspberry e gömmek veya bir işlemciye gömmek mümkün mü? Yani kullanım esnasında yine güçlü gpu lar gerektiriyor mu?
-
derin ğrenme, yapay zeka, artifişıl intelıcınt hakkında sıfır sıfır sıfır bilgiye sahip olarak bir soru sormak istiyorum
öğrettiğin zaman o öğrenme verisini bir kenara koyup sonraki görüntüyü onunla karşılaştırmıyor musun?
YZ'ye birşeyler öğrettin. YZ, bunları bir kağıda yazıp kenara koyuyor, sonraki gördüğü şeyi o kağıtla karşılaştırıp "haa tamam buymuş" demiyor mu? O kağıdı saklasan, telefondur, raspberry'dir nerde çalıştıracaksan hayvancığın yanına "bak bu senin notların. yeni resim gördüğünde buradan bakıp karar ver" desen olmaz mı?
Bana sanki o kağıdı hazırlarken yüksek GPU, TPU ihtiyacı var da karşılaştırırken o kadar da güce ihtiyaç yok gibi geliyor. Karşılaştırmadaki hızı da senin algoritmanı optimize etmenden geçiyordur diye tahmin ediyorum. Dediğim gibi bilgim sıfır^sıfır kere sıfır eşittir sıfır seviyesinden yukarda değil.
bir sıfır eksik yazmışım. sıfır.
-
; un yazdigi dogru inference trainden cok daha hizli yani train ederken kullandigin guclu gpu lara gerek yok ama yine de realtime isler yapcaksan iyi bi gpu lazim. raspi ya da mobil icin mobilenetv3 guzel modeldir goruntu islemede.
senin soruna gelince deploying deep learning models desen bir suru sonuc cikar, bence onnx olarak export alip hedef makina da onnxruntime yukleyip calistirmak tercih edilen yontem.
-
piyasadakilerin bir kismi remote server'a pushluyor datayi, bu da aklinda bulunsun.
-
Elde edeceğin şey temelde bir denklem. Kaç giriş parametresi var ise o kadar değişkene sahip bir fonksiyon. Ama denklemi çıkarmak öyle kolay iş değil. O denklemi çıkardıktan sonra istediğin platforma tanımlarsın. Layer ayarlayarak %99 öğrenme sağlasan bile, yaptığın öğrenmenin gerçekte öğrenmemi yoksa ezber mi olduğunu iyi analiz etmen gerekir. Bunun için çeşitli teknikler var sana tavsiyem bu işlerin yabancı kaynaklı akademik kitaplarını okuyarak temelden öğrenmek.
-
Vallaha telefonda çok fazla opencv kullandım. Tensorflow da kullandım. Genelde c++ ile yazdım ama ffi kullanarak Python kodunu mobilde çalıştırabilirsin. Fakat burada Python dilinin opencv kullanımında bir takım kütüphanelere ihtiyaç duyuyor. Orayı nasıl çözersin bilmiyorum.
Python dili ile genelde daha büyük işler yapılıyor endin dediği gibi. Client dan datayı alıyorsun modellerin hep backend de duruyor orda işleyip sonucu son kullanıcıya gönderiyorsun. Ama burda işi ne kadar çok client da yaparsan o kadar fazla verim alırsın. Yani görüntüyü client de işlersin sonra verileri text haline getirip sonucu backend de alırsın.
Misal face recognition yapacaksın. Matris client da elde et matrisi backend e gönder orda işle. Direkt görüntüyü backende upload edip bir de matrisi backend de bulma. Bu işi client de yapabilir. Performans olarak da ciddi fark olur. Amelelik client de baba iş backend gibi düşün. Mobil tarafta hep c++ kullandım ben bugüne kadar. C++ kullanılarak yazılan hazır kütüphaneler var Java veya Swift için. Ama örnek vs bulmak zor. C++ da daha kolay kaynak fazla.
Edit :mobil olduğum için ekler mekler birbirine girmiş. Düzeltmeye üşendim :D KB.
MhmdAlmz tarafından 08/Mar/22 23:59 tarihinde düzenlenmiştir -
eğer ki prediction yapacağın veri kvkk ya da herhangi bir gizlilik sözleşmesini ihlal etmiyorsa; tavsiyem cloud üzerinde bir yerlere deploy etmen olur hocam. predictionların ne kadar kaynak tüketeceği senin modeli nasıl train ettiğin ile doğrudan alakalı. mesela sen elindeki görüntüyü renk kanallarına bölüp, 3-4 kanal şeklinde modeli eğittiysen bu kez predictionda da gelen görüntüyü o kadar kanala bölmen gerekecek ve bunu telefonda yapacaksın. bununla birlikte tabi yine prediction anında eğitilmiş modelin eğer daha önceden ram'de açılmadıysa, ram'e açılacak ve bu doğrudan ram'den yiyecek. gpu olursa onun ram'ini kullanırsın, dahili ram şişmemiş olur.
basitçe şöyle bir demo hazırlanabilir. trainingler bittikten sonra modelini bir yere kaydet. yine python (örneğin: flask) ile bir tane API hazırla. istersen frontend'ini de yapabilirsin böylece uygulama dışında web üzerinden de hizmet veren bir servisin olur. sonrasında ister gallery olsun, ister anlık çekilmiş fotoğraf olsun bunu yazdığın API'ye yönlendir ve yanıtlarını da telefona döndür. burada yapacağın iş spesifik olarak ne ise ona göre hareket etmekte fayda var. örneğin object localization ile uğraşıyorsan, API sadece koordinatları döndürsün sen telefonda bunları inputun üzerine giydir. durduk yere işaretlenmiş fotoğrafı geri yollayıp megabyte mertebesinde trafik yaratmak yerine byte mertebesinde işi çözmüş ol.
özetle bu biraz senin ihtiyaçlarına göre şekillenecek hocam.
-
Sağolun hocalar kafamda bayağı canlandı. Teşekkürler bilgiler için