Ticaret için ONNX'i öğrenme - sayfa 13

 
GitHub - ptiszai/Object-Detection-yolov7-ML.NET-onnx: Yolov7 ONNX model process with NET 7.0 ML.NET
GitHub - ptiszai/Object-Detection-yolov7-ML.NET-onnx: Yolov7 ONNX model process with NET 7.0 ML.NET
  • ptiszai
  • github.com
Windows 10 64-bit NVIDIA Geforce GTX 960 2 Gbyte RAM Microsoft Visual Studio Community 2022 CUDA Toolkit v11.8: c:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\ Installation Nuget Package : - Yolov5Net, Version="1.0.9 - Microsoft.ML.OnnxRuntime.Gpu, Version="1.13.1" - Microsoft.ML.CpuMath, Version="2.0.0" - Emgu.CV Version="4.6.0.5131...
 
GitHub - duonghb53/YoloOnCSharpGPU
GitHub - duonghb53/YoloOnCSharpGPU
  • duonghb53
  • github.com
A state of the art real-time object detection system for C# (Visual Studio). This project has CPU and GPU support, with GPU the detection works much faster. The primary goal of this project is an easy use of yolo, this package is available on nuget and you must only install two packages to start detection. In the background we are use the...
 
GitHub - duonghb53/YoloOnCSharpGPU
GitHub - duonghb53/YoloOnCSharpGPU
  • duonghb53
  • github.com
A state of the art real-time object detection system for C# (Visual Studio). This project has CPU and GPU support, with GPU the detection works much faster. The primary goal of this project is an easy use of yolo, this package is available on nuget and you must only install two packages to start detection. In the background we are use the...
 

C# ve OpenCVSharp Kullanarak Yüz Algılama - Pratik ML.NET Kullanıcı Grubu 19.01.2022



C# ve OpenCVSharp Kullanarak Yüz Algılama - Pratik ML.NET Kullanıcı Grubu 19.01.2022

C#'ta OpenCVSharp kullanılarak yüz algılamaya ilişkin video eğitimi, konuşmacının .NET sarıcılı bilgisayarla görme görevleri için açık kaynaklı bir kitaplık olan OpenCVSharp kitaplığını tanıtmasıyla başladı. Videoda, gözler dahil algılama için farklı sınıflandırıcıların kullanılması ve sınıflandırıcı seçiminde deney yapmanın önemi tartışıldı. Öğretici, dinleyicinin kod parçacıkları, görsel stüdyo ve .NET etkileşimli not defterleri yardımıyla web kameralarını kullanarak yüz ve göz tanıma için bir program oluşturmasına yardımcı oldu. Saydam görüntülerin üst üste bindirilmesi ve mat nesnelerin düzgün bir şekilde nasıl ele alınacağı da dahil olmak üzere farklı yönler de ayrıntılı olarak ele alındı. Konuşmacı, OpenCVSharp'ın kullanım kolaylığını, hızını ve .NET ile uyumluluğunu kabul etti, ancak örneklerin eksikliğini ve uzun vadeli desteğin belirsizliğini de belirtti.

  • 00:00:00 Bu bölümde, konuşmacı C# dilinde OpenCVSharp kullanarak yüz tanıma konusunu tanıtıyor ve bilgisayarla görme görevleri için açık kaynaklı bir kitaplık olan OpenCV için bir .NET sarmalayıcı olan OpenCVSharp'ın ne olduğuna dair kısa bir genel bakış sunuyor. Konuşmacı, görüntü işleme, yüz algılama ve yüz tanıma modelleri dahil olmak üzere OpenCVSharp'ın farklı özelliklerini tartışıyor. Konuşmacı ayrıca, OpenCVSharp için çok fazla C# örneği bulunmamakla birlikte, API'lerdeki benzerlikler nedeniyle kolayca C#'a dönüştürülebilen birçok Python örneği olduğunu belirtiyor. Konuşmacı daha sonra OpenCVSharp kullanarak hem Python hem de C#'ta belirli görevlerin nasıl gerçekleştirileceğine dair bazı örnekleri listeleyerek devam eder.

  • 00:05:00 Bu bölümde, konuşmacı OpenCVSharp'ın farklı özelliklerini ve yönetilen kitaplıkları yerel bağlama kitaplıklarıyla eşleştirmenin önemini tartışıyor. Ardından, yüz algılamayı gerçekleştirmek için Visual Studio Code ve .NET etkileşimli not defterlerini kullanarak, NuGet paketlerini yükleyerek ve sabit ardışık XML dosyalarını kullanarak bazı örnekler gösterirler. Kod, katı basamaklı sınıflandırıcıları getirerek ve bunları yüzleri algılamak ve görüntülerde etraflarına kutular çizmek için kullanarak ilerliyor.

  • 00:10:00 Bu bölümde sunum yapan kişi, potansiyel bellek sızıntılarını önlemek için OpenCVSharp'ta "mat nesnelerin" uygun şekilde işlenmesinin ve atılmasının önemini açıklıyor. Sınıflandırıcı en iyi siyah beyaz görüntülerde çalıştığından, bir kaynak görüntünün nasıl yükleneceğini ve yüz algılama için yeni bir boş "gri görüntünün" nasıl oluşturulacağını gösterirler. Daha sonra görüntünün parlaklığını ve kontrastını normalleştirmek için "cb2 eşitlenmiş histogram"ın nasıl kullanılacağını açıklarlar, bu da gelişmiş basamaklı sınıflandırmaya yol açar. Sunum yapan kişi ayrıca yanlış pozitifleri ve artefaktları önlemek için yüz algılama için minimum boyut gereksinimlerinin nasıl kullanılacağını tartışır. Son olarak, algılanan yüzlerin etrafına bir kutu çizmek için "cv2 dikdörtgeni"nin nasıl kullanılacağını ve kullanıcının pencereyi kapatmasının bir yolu olarak ağırlık anahtarının kullanılmasıyla ortaya çıkan görüntüyü göstermek için bir pencerenin nasıl açılacağını gösterirler.

  • 00:15:00 Videonun bu bölümünde konuşmacı, statik bir görüntü göstermek için ihtiyaç duymadıkları için bir ağırlık anahtarının gelmesini beklemediklerini tartışıyor. Ancak, web kamerası demosuna baktıklarında daha çok devreye girecek. Ayrıca, varsayılan ad alanlarıyla ilgili bir soruyu yanıtlarlar ve yalnızca yüzü değil, aynı zamanda yüzdeki gözleri de nasıl algılayacaklarını açıklamaya devam ederler. İki kademeli dosyayı (ön yüz ve göz kademeli) getirmeyi ve gözlerin ek bir tespitini denemek ve yapmak için yüz dikdörtgenleri arasında nasıl dolaştıklarını tartışıyorlar. İlgi alanı (ROI) oluşturma ve yüzün çevresine bir dikdörtgen çizme ile ilgili süreci açıklarlar.

  • 00:20:00 Bu bölümde eğitmen, OpenCVSharp'ta iç içe basamaklar kullanarak bir yüz görüntüsündeki gözleri algılama sürecini anlatıyor. Önceden tespit edilen ilgili yüz bölgesini alıp griye dönüştürüyorlar ve ardından özellikle gözleri tespit etmek için iç içe geçmiş bir basamak uyguluyorlar. Bunu yaparak, algılanan gözlerin çevresine daireler çizebilirler ve dairenin merkez noktası, algılanan gözlerin konumu olur. Tespit edilen gözlerin boyutunun, tespit edilen yüzün boyutundan daha küçük olması gerektiğini belirtiyorlar ve bazı deneme yanılma yoluyla, farklı büyüklükteki yüzlerdeki gözleri daha iyi algılamak için iç içe kaskadın parametrelerini ayarlıyorlar. Genel olarak, süreç mükemmel olmasa da çoğu durumda gözleri tespit etmede etkilidir.

  • 00:25:00 Bu bölümde, konuşmacı, yüz tespiti için kullanılabilecek farklı sınıflandırıcıları ve belirli durumlar için hangi sınıflandırıcının en iyi sonucu verdiğini belirlemek için deney yapma ihtiyacını tartışıyor. Konuşmacı ayrıca, algılama sürecinde kusurlar olabileceğini kabul eder ve süreç üretimleştiriliyorsa bunları ortadan kaldırmak için mantık kullanılmasını önerir. Konuşmacı daha sonra web kameralarının kullanımını ve web kamerası yüz ve göz algılama kodunun önceki örneklere nasıl benzediğini, tek farkın video yakalamanın tanıtılması ve bir pencere nesnesinin oluşturulması olduğunu tartışarak devam eder. Son olarak, bir tuşa basılıp basılmadığını görmek için kareler arasında bir milisaniye beklemenin önemi vurgulanır, çünkü bu web kamerasında yakalanan saniye başına kare sayısını büyük ölçüde etkiler.

  • 00:30:00 Bu bölümde sunum yapan kişi, C# kullanarak OpenCVSharp'taki yüz algılama özelliğini gösterir. Kod, web kamerası verilerini yakalar ve çevresine bir kutu yerleştirerek öznenin yüzünü algılar. Sunum yapan kişi, OpenCVSharp'ın ayırt edici bir özelliği olan ve pencerenin bir görüntüyü göstermesi için dahil edilmesi gereken ağırlık anahtarını açıklar. Ağırlık anahtarı yönteminin ne zaman uygulandığına ilişkin bir soruyu yanıtlamaya ve nasıl kullanıldığını açıklamaya devam ederler. Bu bölüm ayrıca web kamerası veri yakalama koduna saniye başına kare ekleme örneği içerir. Sunum yapan kişi, unutmanın sorunlara yol açabileceği için ağırlık anahtarını dahil etmenin önemini not eder ve koddaki tüm pencerelerin nasıl yok edileceğini gösterir.

  • 00:35:00 Bu bölümde sunum yapan kişi C# ve OpenCVSharp kullanarak ekrana nasıl metin koyabileceklerini ve rengi nasıl kontrol edebileceklerini tartışıyor. Yüzlerin ve gözlerin etrafındaki kutu için bir rengi nasıl tanımladıklarını ve kare hızı saniyede 20 kareden azsa kırmızı, 20'den büyük veya ona eşitse yeşil olan fps rengi adı verilen başka bir rengi nasıl tanımladıklarını açıklarlar. ayrıca ağırlık anahtarındaki gecikmenin etkisini ve kare hızlarını nasıl etkilediğini gösterir. İçeri giren tüm değişkenlerle, saniyede 20 veya daha fazla kare yakalayabilirlerse mutlu olduklarını ve bunun da o an için hedeflerine ulaşmalarını sağladığını belirtiyorlar.

  • 00:40:00 Bu bölümde sunum yapan kişi, görüntülerin nasıl üst üste bindirileceğini gösterir ve bir görüntünün şeffaflık öğesini korumak için IamReadModes'u değiştirmeden kullanmanın önemini açıklar. Örnek olarak güneş gözlüklerini kullanıyorlar ve her şeyi mükemmel yapacak zamanları olmadığı için kodun optimize edilmediğini kabul ediyorlar. Yüz dikdörtgeninin x ve y koordinatlarını kullanmak yerine güneş gözlüklerinin inmesini istedikleri yerin koordinatlarını sabit kodlayarak da hile yaparlar. Sunum yapan kişi, gerçek hayat senaryolarında, bindirmenin nereye yerleştirileceğini bilmek için MakeOverlay yöntemine x ve y koordinatlarının iletilmesi gerektiğini açıklar. Ek olarak, dikdörtgenin ne kadar büyük olduğuna bağlı olarak bindirme görüntüsünü yeniden boyutlandırmak için kullanılması gereken Yeniden Boyutlandır yönteminden bahsediyorlar, ancak bu onların hile örneğinde gerekli değil.

  • 00:45:00 Bu bölümde, konuşmacı saydam bir bindirme görüntüsünü temel bir görüntüyle birleştirme sürecini açıklıyor. İlk olarak, şeffaf kanal korunurken şeffaf kaplama görüntüsü RGB'ye dönüştürülür. Ardından, RGB kanalları orijinal kaplamadan çıkarılır ve yeni bir haritada birleştirilir. Bundan sonra, saydamlık kanalı, "bindirme alfa 3 kanalı" adı verilen yeni bir haritaya üç kez kopyalanarak ve bitsel bir işlem gerçekleştirilerek yeni harita ile birleştirilir. Son olarak, güneş gözlüklerinin yerleştirileceği ilgi bölgesi tanımlanır ve güneş gözlüklerini birleştirmek için ilgilenilen yüz bölgesi olarak hizmet etmesi için yüz dikdörtgeni çıkarılır.

  • 00:50:00 Bu bölümde konuşmacı, OpenCVSharp kullanarak algılanan bir yüze güneş gözlüğü ekleme sürecini kısaca açıklıyor. Güneş gözlüklerini algılanan yüzün üzerine yerleştirmek, şeffaflığı korumak ve yüzü orijinal konumuna geri yerleştirmek için bitsel işlemler kullanırlar. Konuşmacı ayrıca OpenCVSharp'ın kullanım kolaylığı, hızı ve .NET ile uyumluluğu gibi bazı artılarını ve eksilerini, ancak örnek eksikliği ve uzun vadeli desteğin belirsizliğini vurguluyor. Konuşmacı çeşitli kaynaklar sağlar ve kullanıcıları GitHub'da OpenCVSharp projesine sponsor olmaya teşvik eder. Bir katılımcı, OpenCVSharp'ın Raspberry Pi gibi bir mikrodenetleyici üzerinde çalışıp çalışamayacağını sorar ve konuşmacı bunun Linux Arm türüyle mümkün olması gerektiğini söyler.
 

ML.NET ile Özel Görüntülü ONNX Modelinde Tahmin Yapma



ML.NET ile Özel Görüntülü ONNX Modelinde Tahmin Yapma

Bu YouTube videosunda sunum yapan kişi, özel bir vizyon ONNX modeli üzerinde tahmin yapmak için ML.NET'i kullanmayı tartışıyor. Bu, modeli özel görüş hizmetinden dışa aktarmayı ve ML.NET projesine içe aktarmayı içerir. Uygulama, görüntüleri yeniden boyutlandırmayı, görüntü piksellerini çıkarmayı, görüntü verilerini yüklemek için bir veri bağlamı ve boş bir veri listesi oluşturmayı, model üzerinde tahminler yapmak için ML.NET çerçevesini kullanmayı ve sonuçların çıktısını almayı içerir. Video ayrıca Neuron adlı bir aracı kullanarak bir modelin çıktı adının nasıl alınacağını ve belirli bir test görüntüsü için modelden sınırlayıcı kutu bilgilerinin nasıl alınacağını gösterir. Sunum yapan kişi ayrıca sınırlayıcı kutunun etrafına nasıl bir dikdörtgen çizileceğini ve Graphics API kullanılarak tahmin edilen etiketlerin nasıl görüntüleneceğini gösterir. ONNX modelinin ML.NET API kullanılarak gerçekleştirilmesi ve görüntünün yeniden boyutlandırılması, uygulamanın en önemli parçası olarak vurgulanmıştır.

  • 00:00:00 Özel bir vizyon ONNX modelinde tahmin yapmak için ML.NET çerçevesini kullanacağız. Bunun için öncelikle özel görüş hizmetinden modeli dışa aktarmamız ve ML.NET projemize aktarmamız gerekiyor. Model projemize girdikten sonra, model üzerinde tahminde bulunmadan önce görüntüleri yeniden boyutlandıran ve görüntü piksellerini çıkaran bir boru hattı oluşturabiliriz. Bunu yapmak için, birkaç NuGet paketini indirip projemize eklememiz, ayrıca yeni bir veri bağlamı ve görüntü verilerini yüklemek için boş bir veri listesi oluşturmamız gerekiyor. Son olarak, model üzerinde tahminler yapmak ve sonuçları çıkarmak için ML.NET çerçevesini kullanıyoruz.

  • 00:05:00 Bu bölümde konuşmacı, Custom Vision'dan indirilen bir modelin çıktı adını almak için Neuron adlı bir aracı kullanmayı tartışıyor. Neuron, girdiler ve çıktılar da dahil olmak üzere bir model hakkında bilgi sağlayan küçük bir masaüstü uygulamasıdır. Çıktı adı elde edildikten sonra, modeli uygulamak için dönüştürme çağrılırken çıktı sütunu adı olarak kullanılabilir. Konuşmacı ayrıca bir tahmin motorunun nasıl oluşturulacağını ve belirli bir test görüntüsü için modelden sınırlayıcı kutu bilgisi almak üzere yardımcı yöntemlerin nasıl kullanılacağını gösterir.

  • 00:10:00 Bu bölümde konuşmacı, sınırlayıcı kutuların nasıl alınacağını, etrafına bir dikdörtgen çizileceğini ve Graphics API kullanılarak görüntüler için tahmin edilen etiketlerin nasıl gösterileceğini göstererek nesne algılama modelinin uygulanmasına devam eder. Maksimum güvenliğe sahip yalnızca bir sınırlayıcı kutunun dikkate alındığı üst sınırlayıcı kutuyu elde etmek için maksimum güven elde edilir. Kod, dikdörtgeni çizmek için yardımcı yöntemleri de kullanır ve açıklamanın dizesi, güven yüzdesini belirtmek için döndürülür. Son olarak, test görüntüsü ileride başvurmak üzere dosya sistemine kaydedilir. Konuşmacı, uygulamanın en büyük bölümünün görüntülerin yeniden boyutlandırılması ve ML.NET API kullanılarak ONNX modelinin uygulanması olduğunu vurguluyor.
 

ONNX ile sinir ağlarını taşınabilir hale getirme



ONNX ile sinir ağlarını taşınabilir hale getirme

Bu YouTube videosunda Ron Dagdag, makine öğreniminin çıkarım yapma tarafına odaklanarak sinir ağlarının ONNX ile nasıl taşınabilir hale getirileceğini açıklıyor. ONNX, makine öğrenimi modellerinin çeşitli işlem birimleri ve cihazlarda taşınabilirliğine izin veren açık kaynaklı bir çerçevedir. Konuşmacı, modelleri ONNX'e dönüştürme, modeli dağıtma ve uygulamalarla entegre etme ve onu bulut ve kenar dağıtımı için kullanma sürecini tartışıyor. Ayrıca Node.js'de bir ONNX modelinin nasıl yükleneceğini ve ONNX Çalışma Zamanı kullanılarak görüntü sınıflandırma modellerinin web ve mobil uygulamalara nasıl entegre edileceğini gösterirler. ONNX modelleri, hedef platformda verimli bir şekilde dağıtılmak üzere çeşitli çerçevelerden oluşturulabilen açık bir standarttır.

  • 00:00:00 Bu bölümde Ron Dagdag, makine öğreniminin çıkarım yapma tarafına odaklanarak sinir ağlarını ONNX aracılığıyla taşınabilir hale getirme kavramını tanıtıyor. Makine öğrenimine karşı tipik programlama sürecini ve algoritmalar oluşturmak için eğitim verilerine, bir eğitim çerçevesine, bir modele ve çıkarım yapan bir çalışma zamanına duyulan ihtiyacı açıklıyor. Ayrıca, sunumun odak noktasının, modeli bir uygulamaya dahil etmek için ONNX kullanarak çıkarım yapma tarafında olacağından da bahsediyor.

  • 00:05:00 Bu bölümde konuşmacı, makine öğrenimi modellerinin CPU'lar, GPU'lar ve FPGA'lar gibi çeşitli işlem birimlerinin yanı sıra bulut veya IoT gibi farklı cihazlarda taşınabilirliğine izin veren bir çerçeve olarak ONNX'i tanıtıyor. Her yerde tüketilebilen bir format olması ve GitHub'da açık kaynak olması, 11.000'den fazla yıldız ve 200 katkıda bulunan kişi olması nedeniyle onu bir PDF ile karşılaştırıyorlar. Konuşmacı, diğer uygulamalarla dağıtılması gereken veya Azure Percept gibi uç cihazlarda çalışmak gibi yüksek çıkarım gecikmesi gerektiren, Python'da eğitilmiş modellerle uğraşırken ONNX kullanılmasını önerir.

  • 00:10:00 Bu bölümde konuşmacı, belirli bir işletim sisteminde (OS) veya donanımda programlanan bir uygulamayı farklı bir işletim sisteminde veya donanımda çalışacak şekilde dönüştürmenin gerekli olduğu senaryoları tartışır. Çözüm, programı ONNX formatına dönüştürmektir. ONNX, farklı çerçevelerden oluşturulan modelleri çalıştırırken ve eğitim çok uzun sürdüğünde kullanılır. Konuşmacı daha sonra bir ONNX modeli elde etmenin dört yolunu detaylandırıyor, bunlardan ilki GitHub'daki ONNX model hayvanat bahçesi. Bunu, mevcut bir modelden dönüştürme yapan ve Azure makine öğrenimi veya otomatik makine öğrenimi kullanılarak eğitilen özel görüntü hizmeti izler.

  • 00:15:00 Bu bölümde konuşmacı, modelleri ONNX'e dönüştürme sürecini tartışıyor. İşlem Python'da yazılmış modellerle sınırlı değildir ve ML.NET ile de yapılabilir. Konuşmacı, bir ML.NET modelinin nasıl dönüştürüleceğini ve ardından ONNX'e nasıl kaydedileceğini gösterir. Görüntü sınıflandırma ve nesne algılama modelleri dahil olmak üzere ONNX'e dönüştürülmüş birçok model mevcuttur. Özel Görüntü Hizmeti, görüntüleri karşıya yüklemek ve bunları farklı nesne türlerini sınıflandırmak üzere etiketlemek için de kullanılabilir. GitHub, yazılım mühendislerinin girdi ve çıktıları da dahil olmak üzere bir ONNX modelinin neye benzediğini görselleştirmelerini sağlayan Netron adlı bir uygulama sağlar. Konuşmacı, bir ONNX modelinin PyTorch veya TensorFlow'dan dönüştürülerek de oluşturulabileceğini açıklıyor.

  • 00:20:00 Bu bölümde, konuşmacı bir regresyon modelinin nasıl oluşturulacağını ve farklı makine öğrenimi çerçeveleri kullanılırken taşınabilirliğe izin veren açık kaynaklı bir format olan ONNX'e nasıl aktarılacağını gösterir. Konuşmacı, C# ve ml.net kullanarak maaş verilerini bir veri çerçevesine yükler ve bir işlem hattı kullanarak etiket sütununu ve girdiyi (yıllık deneyim) belirterek bir regresyon modeli eğitir. Modeli değerlendirdikten sonra, modeli, örnek verileri ve akışı içeriğe geçirerek ONNX'e dönüştürürler ve sonuç olarak Netron kullanılarak görüntülenebilen bir dosya elde edilir. Konuşmacı, ONNX'in makine öğrenimi modellerini PyTorch ve TensorFlow gibi çerçeveler arasında dönüştürmek için bir aracı format olarak da kullanılabileceğini belirtiyor.

  • 00:25:00 Bu bölümde, konuşmacı bir ONNX modelini bir uygulamaya dağıtma ve entegre etme sürecini tartışıyor. Modelleri ONNX'e dönüştürmek farklı çerçeveler arasında uyumluluk sağlar ve kullanıcılar ONNX modellerini transfer öğrenimi ve ince ayar için de kullanabilir. Konuşmacı, kolay izleme ve devreye alma için sürüm oluşturmanın ve tıpkı bir kapsayıcı kayıt defteri gibi bir model kayıt defterine sahip olmanın önemini vurguluyor. Ek olarak, konuşmacı, "tarifi" oluşturan veri bilimcileri için gerekli olan farklı beceri setlerine karşı bir "fırın" başlatan ve yapay zekayı uygulamalara entegre eden mühendisler için gerekli olan becerilerin altını çiziyor. Konuşma, Azure Machine Learning, Ubuntu veya Windows Server ve IoT uç cihazları gibi ONNX modellerinin dağıtımını destekleyen çeşitli çerçeveleri ve platformları kapsar.

  • 00:30:00 Bu bölümde konuşmacı, hem bulut hem de uç dağıtımını kapsayan makine öğrenimi modellerinin dağıtımını tartışıyor. Konuşmacıya göre uç dağıtım, veri işlemenin kullanıcılara ne kadar yakın olduğuyla ilgilidir ve buluttan çok daha yakındır. Yapay zekayı uçta çalıştırmak, verileri buluta yüklemeden yerel olarak işleyebildiğinden, düşük gecikme süresi ve maliyet tasarrufu için idealdir. Ek olarak, yerel olarak çalıştırmak daha esnektir ve özellikle ağ dışında görüntü paylaşımını yasaklayan kurallar söz konusu olduğunda önemli olan gizlilik uyumluluğunu sağlayabilir. Uçta makine öğrenimi modellerinin dağıtımını kolaylaştırmak için Microsoft, yalnızca sinir ağlarını değil aynı zamanda geleneksel makine öğrenimi özelliklerini de destekleyen, yüksek performanslı çıkarım gerçekleştirebilen ve donanım hızlandırıcıları için genişletilebilir bir mimariye sahip açık kaynaklı bir ONNX çalışma zamanı geliştirmiştir.

  • 00:35:00 Bu bölümde, konuşmacı sinir ağlarının ONNX ile nasıl taşınabilir hale getirileceğini tartışıyor. ONNX çalışma zamanı, kullanıcıların modelleri GPU'lar, CPU'lar ve VPU'lar dahil olmak üzere farklı işlem birimlerinde çalıştırmasına olanak tanır ve Windows, web tarayıcıları, Node.js ve React Native uygulamaları gibi çeşitli platformlarda kullanılabilir. Konuşmacı, bir Node.js uygulamasında ONNX modelinin nasıl yükleneceği ve istenen çıktıyı almak için giriş değerlerinin nasıl girileceği hakkında bir demo gösterir. Geliştiriciler, ONNX çalışma zamanını kullanarak, donanım uyumluluğu konusunda endişe duymadan makine öğrenimi modellerini uygulamalarına kolayca dahil edebilir.

  • 00:40:00 Bu bölümde video, optimize edilmiş WebAssembly ve WebGL teknolojilerini kullanarak ONNX modellerini doğrudan bir tarayıcıda çalıştırmak için tasarlanmış bir JavaScript kitaplığı olan ONNX Runtime Web'i tartışıyor. Tarayıcıda bu çıkarım yöntemi daha hızlı, daha güvenli ve daha ucuzdur ve aynı zamanda çevrimdışı kullanıma da izin verir. Ancak, belirli donanım özellikleri gerektiren daha büyük modeller için verimli olmayabilir ve daha uzun indirme sürelerine neden olabilir. Video, modelin bir HTML dosyasına nasıl entegre edildiğini ve çalışma zamanı kullanılarak nasıl yürütüldüğünü göstererek, ağlayan bir bebeğin görüntüsünü analiz etmek için ONNX Çalışma Zamanı Web'i kullanmanın bir örneğini sunar.

  • 00:45:00 Videonun bu bölümünde sunum yapan kişi, bir görüntü sınıflandırma modelini bir web uygulamasına entegre etmek için ONNX model hayvanat bahçesinin ve ONNX çalışma zamanı web'in nasıl kullanılacağını gösterir. Web uygulamasına bir görüntü yükler ve önceden eğitilmiş modele hazırlamak için yeniden boyutlandırır ve gri tonlamaya ve bir tensöre dönüştürür. ONNX çalışma zamanı ağı kullanılarak, model yüklenir ve işlenen görüntüyü besler, bu da görüntüde ifade edilen duygu için bir tahminle sonuçlanır. Sunum yapan kişi daha sonra, bir React Native uygulamasında önceden eğitilmiş bir ONNX modelini puanlamayı gösterir.

  • 00:50:00 Bu bölümde konuşmacı, Android ve iOS platformlarında optimize edilmiş ONNX modellerini çalıştırmak için hafif bir çıkarım çözümü olarak ONNX runtime mobile kullanımını tartışıyor. ONNX çalışma zamanı mobilini uygulamaya entegre etmek için, ikili boyutu ort formatı adı verilen önceden optimize edilmiş bir ONNX modeline en aza indiren npm install ONNX runtime tepki yerel kullanılabilir. onnxruntime.ai adresinde bulunan öğretici, düğüm, web tarayıcı, mobil tepki vb. , iOS ve Android. ONNX modelleri, hedef platformda doğru araçları verimli bir şekilde kullanarak dağıtmak için çeşitli çerçevelerden oluşturulabilen açık bir standarttır.
 

.NET Live'da - Her Yerde AI: Azure ML ve ONNX Çalışma Zamanı



.NET Live'da - Her Yerde AI: Azure ML ve ONNX Çalışma Zamanı

"On .NET Live - AI Everywhere: Azure ML and ONNX Runtime" videosu, C# ile makine öğrenimi için Azure ML ve ONNX Runtime kullanımına odaklanıyor. Konuşmacılar, modelleri programlama dilleri arasında dışa aktarmak için ONNX formatını kullanmanın faydalarını, ONNX çalışma zamanının donanım hızlandırma ve çıkarım için optimizasyonunu ve çerçevenin belirli sürümleriyle uyumluluğunu tartışıyor. Ayrıca Python ve .NET'te Azure ML ile ONNX Çalışma Zamanı'nın nasıl kullanılacağını, bir sinir ağı modeli oluşturup eğitmeyi ve çıkarımı ve makine öğrenimindeki son adımını açıklamayı gösterirler. Video, hata ayıklama yetenekleri sağlayan ARM CPU için OpenVINO kullanımına izin veren ONNX çalışma zamanı için yeni bir sağlayıcının tanıtımıyla sona eriyor.

Videonun bu bölümünde toplantı sahipleri, ONNX çalışma zamanının esnekliğini ve yapılandırılabilirliğini ve çeşitli donanım ve yazılım platformlarında çalışma yeteneğini tartışıyor. ONNX çalışma zamanı, müşterilerin onu bir bulutta, Android'de, iOS'ta veya Snapdragon CPU'da kullanabilmesi ve daha hızlı çıkarım yapılmasına olanak sağlaması nedeniyle farklı platformlar için harika bir sarmalayıcı olarak görülüyor.

  • 00:00:00 Bu bölümde, sunucular konuğu yapay zeka (AI) konusunda deneyimli İtalyan .NET geliştiricisi Maro Benici'yi tanıtıyor. Bölüm, makine öğrenimi üzerine çalışmaya devam etmek için Azure ML ve ONNX Runtime'ın C# ile nasıl kullanılacağına odaklanacak. İlgili bit segmentinde, Azure Machine Learning sitesinde, günün konusu ile yakından ilgili olan, .NET'te AutoML ONNX modelleri ile tahmin yapma hakkında bir belgeyi tartışıyorlar.

  • 00:05:00 Bu bölümde konuşmacı, Azure Machine Learning içindeki Automl'deki bileşenleri kullanarak modelleri çerçeveler arasında paylaşmak için makine öğrenimi modellerini ONNX biçimine aktarma seçeneğini tartışır. .NET'te çıkarım gerçekleştirmek için ONNX çalışma zamanı paketi kullanılır ve ml.net, ONNX modelini kullanarak tahmin ardışık düzenini gerçekleştirir. Bir modelin girdilerini ve çıktılarını anlamak için bir araç olan Netron tanıtılır ve girdiler ve çıktılar için sınıfların oluşturulması gösterilir. Son olarak, modeli içeren ardışık düzen tanımlanır ve tahminler yapmak için motor aracılığıyla bir girdi örneği çalıştırılır, sonuçta ortaya çıkan çıktı tahmin edilen ücret olur. Ardından konuşmacı, yapay zeka görüntüleri oluşturmak için ONNX çalışma zamanını Stable Difussion ile kullanma hakkında ilgili bir makaleyi kısaca tanıtır.

  • 00:10:00 Bu bölümde konuşmacı, özel donanımdan veri merkezlerine ve bulut bilişime kadar son 15 yılda teknolojinin nasıl geliştiğinden bahsediyor. Bir bağdaki mineralleri yakalamak için el yapımı sensörler içeren ve verilerin taşınabilir sabit disklerde nasıl depolanıp analiz edilmek üzere bir laboratuvara gönderildiği 2006'daki ilk projesinin bir örneğini veriyor. Bugün, aynı proje bir cep telefonuyla, bulutta toplanan ve gerçek zamanlı olarak analiz edilen verilerle yapılabilir, anlık uyarılar ve ayarlamalar yapılabilir. Konuşmacı ayrıca buluta geçişin işletmeler için nasıl fırsatlar yarattığını, bulut tabanlı hizmetlerin daha önce şirket içi bilgi işlemle sınırlı olan müşterilerin kullanımına sunulduğunu da tartışıyor.

  • 00:15:00 Bu bölümde konuşmacı, makine öğrenimi modellerini oluşturmak ve devreye almak için farklı programlama dilleri kullanan müşterilerin karşılaştığı zorlukları tartışıyor. ONNX formatının bu soruna bir çözüm olarak oluşturulduğunu ve müşterilerin modellerini farklı bir programlama dilinde yeniden yüklenebilecek bir dilde kaydetmelerine olanak tanıdığını açıklıyor. ONNX'in sinir ağındaki katmanların matematiksel fonksiyonlarını ve değerlerini dışa aktarabildiğini ve farklı diller arasında kolay dönüşüme izin verdiğini açıklamaya devam ediyor. Konuşmacı, ONNX'in birçok şirket tarafından kullanıldığının altını çiziyor, bu da dış kaynak kodunun kullanılmasına ve farklı programlama dillerini bilen farklı şirketlerin kullanılmasına olanak sağlıyor.

  • 00:20:00 Bu bölümde video, ONNX çerçevesini ve bunun makine öğrenimi modellerini farklı platformlarda ve programlama dillerinde dışa aktarma ve çalıştırmada kullanımını tartışıyor. ONNX çerçevesi, kullanıcıların modelleri dışa aktarmasına ve kitaplıkları veya çerçeveleri yeniden yüklemek zorunda kalmadan çalıştırmasına olanak tanıyarak, Python ve TensorFlow hakkında bilgisi olmayan müşterilerin işini kolaylaştırır. ONNX çalışma zamanı açık kaynaktır ve GitHub'da mevcuttur ve kullanıcılar modeli çalıştırmak için tercih ettikleri dili ve mimariyi seçebilirler. Video ayrıca, çerçevenin belirli sürümleriyle uyumluluğu sağlamak için gerekli olduğundan, operasyon seti uyumluluğuna ve bunun nasıl etkilendiğine de değiniyor.

  • 00:25:00 Bu bölümde, konuşmacılar yapay zeka modellerinde kullanılan matematiksel işlevlerin ONNX çalışma zamanı kitaplığıyla uyumlu olmasının nasıl sağlanacağını tartışıyor. Modeldeki tüm işlemleri destekleyen kitaplığın en son sürümünü kullanmanızı önerirler. Ayrıca, ONNX belgelerinde hangi uygulamaların desteklenip hangilerinin desteklenmediği konusunda daha iyi görünürlük sağlayan yakın tarihli bir güncelleme olduğundan da bahsediyorlar. Matematiksel bir işlev desteklenmiyorsa, bir uyarı oluşturulur ve kullanıcıya hangi ofsetin desteklenmediği bildirilir. Konuşmacılar ayrıca GPU'lar için donanım hızlandırma ve yapay zeka modelleri için optimizasyon gibi ONNX çalışma zamanı kitaplığının faydalarını tartışıyor.

  • 00:30:00 Bu bölümde, konuşmacı ONNX çalışma zamanı optimizasyonunu ve onu hem eğitim hem de çıkarım için kullanma becerisini tartışıyor. ONNX ile, sıfırdan başlamadan eğitim süreci optimize edilebilir ve özel donanımlar barındırılabilir. Konuşmacı ayrıca ONNX çalışma zamanının eğitim donanımını optimize etmek için kullanılabileceğini ve çıkarım için başka bir donanımın seçilebileceğini onaylar. Genel olarak, konuşmacı herhangi bir donanım ortamı için modeller oluşturma ve eğitme becerisini ve ONNX çalışma zamanının esnekliğini vurgular.

  • 00:35:00 Bu bölümde konuşmacı, çiçekleri sınıflandırmak için bir sinir ağı oluşturmak üzere Azure ML ve ONNX Runtime'ı kullanma hakkında konuşuyor. Ölçüm için standart bir S11 makinesinde çalışan uygulamayı seçerek başlarlar. Ardından, şirketlerinin genel olarak kullandığı Tensorflow'u kullanırlar ve pandaları, NumPy'yi ve diğer ön işleme araçlarını seçerler. Dizileri matris olarak kodlamayı ve veri setini eğitim ve test arasında bölmeyi tartışıyorlar. Sonunda, müşterilerinin veri merkezlerinde kullanılabilmesi için ONNX biçiminde kodladıkları sinir ağını oluştururlar.

  • 00:40:00 Videonun bu bölümünde, konuşmacı Azure Machine Learning ve TensorFlow kullanarak bir sinir ağı modeli eğitme sürecini açıklıyor. Modelin performansını değerlendirmeden önce modelin nasıl derleneceğini ve doğruluk için optimize edileceğini gösterir. Model eğitildikten sonra müşteri için yeni bir model oluşturmak üzere modelin TensorFlow'a nasıl aktarılacağını gösterir. Müşterinin işini kolaylaştırmak için girdi özelliklerini tanımlar ve girdi ile çıktıyı adlandırır. Ayrıca, modeli müşteriye teslim etmeden önce test edilmek üzere ONNX formatına dönüştürmenin faydalarını da açıklıyor.

  • 00:45:00 Videonun bu bölümünde, konuşmacı ONNX Runtime'ın Python ve .NET üzerinde Azure ML ile nasıl kullanılacağını gösteriyor. ONNX'i Python'da bir kez içe aktarırlar, bir sağlayıcı seçerler ve TensorFlow modelini yok sayarak kullanmak üzere ONNX çalışma zamanını yüklerler. Çıktıyı almak için modeli çalıştırmadan önce girdi oluştururlar ve onu dizi değerleriyle beslerler. Ayrıca, konuşmacı ONNX'i doğrudan Azure'da kullanıma sunmak için bir uç noktanın nasıl oluşturulacağını ve ONNX'in .NET Core üzerinde bir konsol uygulaması kullanılarak bir IoT cihazında veya akıllı telefonda nasıl kullanılacağını gösterir.

  • 00:50:00 Bu bölümde, sunucular, eğitilmiş sinir ağının daha önce hiç görmediği yeni verilere dayalı olarak sonuçları tahmin etmek için kullanıldığı makine öğrenimindeki son adım olan çıkarım kavramını açıklıyor. Ayrıca, herhangi bir özel tensör modelini ONNX Çalışma Zamanı tarafından desteklenen bir biçime dönüştürebilen ONNX biçimini tartışıyorlar. Modelin ön ve son işlemlerinin ONNX modelinin kendisinde de serileştirilebileceğini ve böylece her platformda çalışmayı kolaylaştıracağını belirtiyorlar. Ana bilgisayarlar, model yüklendikten sonra sürecin farklı dillerde benzer olduğunu gösterir.

  • 00:55:00 Bu bölümde, konuşmacı ONNX çalışma zamanı için gelen yeni sağlayıcıyı tartışıyor, OpenVINO'yu ARM CPU için kullanmayı mümkün kılıyor ve hata ayıklamayı mümkün kılıyor. Konuşmacı, model desteklendiğinde ve çalıştırılması mümkün olduğunda kodu değiştirmeye gerek olmadığını ve sürekli dönüştürmeden aynı modeli çalıştırmanın mümkün olduğunu belirterek bunun gücünü vurguluyor. Konuşmacı, model için donanım seçiminin önemli olduğunu, bunun ONNX çalışma zamanının kontrol ettiği bir şey olmadığını ve modeli işler hale getirirken alınan kararların donanım gereksinimlerini dikkate alması gerektiğini belirtiyor. Ayrıca konuşmacı, ONNX çalışma zamanını bir küme üzerinde kullanmanın mümkün olduğundan ve çıkarımda modelin her seferinde dönüştürülmesine gerek olmadığından bahseder.
 

Berlin Buzzwords 2019: Lester Solbakken – Aramada Ölçeklendirme ONNX ve TensorFlow modeli değerlendirmesi



Berlin Buzzwords 2019: Lester Solbakken – Aramada Ölçeklendirme ONNX ve TensorFlow modeli değerlendirmesi

Lester Solbakken, arama uygulamaları için makine öğrenimini ölçeklendirmenin zorluklarını tartışıyor ve harici model sunucuları kullanmaya alternatif bir çözüm öneriyor. Ölçeklenebilirliği iyileştirmek ve gecikme ile verimi kontrol etmek için verileri harici model sunuculara göndermek yerine içerik düğümlerinde makine öğrenimi modellerinin değerlendirilmesini öneriyor. Solbakken, Vespa'nın bir uygulama için bildirime dayalı bir durum paketi oluşturmayı kolaylaştırmak için kendi sıralama dilini ve tensör API uzantısını kullandığını ve Vespa'da makine öğrenimi modellerini desteklemek için devam eden çabayı vurguluyor. Sistem düzeyinde alma sorunlarından kaçınmak için sıralamanın farklı aşamaları arasındaki ilişkiyi anlamanın önemini vurguluyor ve insanları açık kaynak projesine katkıda bulunmaya teşvik ediyor.

  • 00:00:00 Videonun bu bölümünde Lester Solbakken, özellikle arama tabanlı uygulamalar için makine öğrenimi üretimini ölçeklendirmenin zorluklarını tartışıyor. Performans ve ölçeklenebilirlik sorunlarını çözmek için model sunucuların nasıl giderek daha popüler hale geldiğini, ancak arama uygulamaları için arama sonuçlarının her biri için modeli değerlendirmenin ağ kapasitesinde hızla bir darboğaza yol açtığını açıklıyor. Çözüm, ya sonuçlar için daha az veri göndermek ya da modeli her sunucu için yerel olarak değerlendirmenin bir yolunu bulmaktır. Solbakken, bu sorunları ele almak için ekibinin Vespa arama platformuyla yaptığı çalışmalara değiniyor.

  • 00:05:00 Bu bölümde Lester Solbakken, arama için ONNX ve TensorFlow modeli değerlendirmesini ölçeklendirmenin zorluğunu tartışıyor. Potansiyel bir çözüm, özellikleri model sunuculara göndermektir, ancak sorun şu ki, içerik ve model sunucuları sıralamayı farklı özellik kümelerine göre değerlendiriyor olabilir ve bu da küresel olarak en iyi sonuçları alma olasılığını azaltabilir. Bunun yerine Solbakken, Vespa'da üzerinde çalışılan daha iyi sonuçlar elde etmek için içerik sunucularındaki modelleri değerlendirmeyi öneriyor. Yüzlerce ABD yayınının çalıştırılmasıyla dünya çapında saniyede yüz binlerce sorguda yoğun bir şekilde kullanılan Vespa, esneklik, ölçeklenebilirlik ve gelişmiş ilgili puanlama kapasitesi gibi zengin temel özelliklere sahiptir.

  • 00:10:00 Bu bölümde Lester Solbakken, Vespa'nın bir uygulama için bildirime dayalı bir durum paketi oluşturmayı ve makine öğrenimi modellerini kullanmayı kolaylaştırmak için ONNX ve TensorFlow'u nasıl entegre ettiğini tartışıyor. Vespa, bu modelleri yürütmek için kendi sıralama dilini kullanır ve tensör API uzantısı, farklı hesaplama türlerini temsil edebilen küçük bir dizi temel özellik sağlar. Bunun yararı, farklı kaynaklardan farklı modellerin bu formata çevrilebilmesi ve optimize edilmelerini kolaylaştırmasıdır. Solbakken ayrıca, ilk aşamada bir nokta ürünü ve ikinci aşamada bir sinir ağı kullandıkları bir blog öneri sistemini taklit ederek, etrafa veri göndermenin verimli olmadığı hipotezini test etmek için oluşturdukları bir kıyaslamayı da vurguluyor.

  • 00:15:00 Bu bölümde konuşmacı, aramada makine öğrenimi için harici model sunucuların ölçeklenebilirlik sınırlamalarını tartışır ve alternatif bir çözüm önerir. İş yükünü dağıtmak için ek içerik düğümleri eklemenin gecikmeyi iyileştirebileceğini açıklıyor ve bu düğümlerin daha fazla sayıda belgeyi yeniden yazmasını sağlayarak, makine öğrenimi modelleriyle sonuç sayısını artırabileceğinizi ve potansiyel olarak daha yüksek kaliteli sonuçlara yol açabileceğinizi öneriyor. Değerlendirmenin yalnızca bir ağ üzerinden gönderilmekle kalmayıp içerik düğümünde yapıldığı çok aşamalı sıralama sayesinde, gecikmeyi ve verimi ölçeklendirmek ve kontrol etmek mümkündür. Konuşmacı, harici model sunucuların ölçeklendirme için iyi bir çözüm olmadığı sonucuna varıyor ve bunun yerine içerik düğümünde değerlendirme yapmanın önemini vurguluyor.

  • 00:20:00 Bu bölümde Lester Solbakken, Vespa'daki çok aşamalı sıralamadan ve sistem düzeyinde alma sorunlarından kaçınmak için farklı aşamalar arasındaki ilişkiyi anlamanın öneminden bahsediyor. Ayrıca makine öğrenimi ve Vespa'daki model desteğinin devam eden bir çaba olduğundan bahsediyor ve insanları açık kaynak projesine katkıda bulunmaya teşvik ediyor. Vespa ile uğraşmak isteyenler Vespa AI ana sayfasında örnek uygulamalar, kullanım örnekleri ve öğreticiler dahil birçok kaynak bulabilirler.
 

ONNX'i özümseyin



ONNX'i özümseyin

Bu videoda sunum yapan kişi, tüm farklı platformlarda çalışabilen makine öğrenimi birlikte çalışabilirliği için açık bir standart olarak ONNX'i tanıtıyor. Sıfırdan bir ONNX projesi oluşturma, Microsoft deposundan bir örnek düzenleme, sorunları giderme ve ONNX ile ilgili diğer Github projelerini keşfetme sürecinden geçerler. Daha sonra GPT2 ve CUDA kullanarak bir ONNX bağlamasını test ederler ve gelecekte ONNX çalışma zamanı Rust bağlamalarını keşfetmeye ilgi duyduklarını belirtirler. Sunum yapan kişi, ONNX'in çok yönlülüğüne ve taşınabilirliğine dikkat çeker ve onu gelecekte deney yapmak ve daha önemli projeler oluşturmak için iyi bir araç olarak görür.

  • 00:00:00 Bu bölümde, konuşmacı, bulut hizmetlerinde çıkarım için birçok farklı çerçevenin ve hızlandırıcının kullanımına izin veren, makine öğrenimi birlikte çalışabilirliği için açık bir standart olan ONNX'i tanıtıyor. Platformlar arası yüksek performanslı makine öğrenimi çıkarımı ve eğitim hızlandırıcı ile ONNX çalışma zamanı çevresinde güvenli bir paketleyicinin kullanılabilirliğinden bahsediyorlar. Ayrıca, tüm farklı platformlarda çalışabildiği için ONNX ile ilişkili taşınabilirliği vurguluyorlar ve Microsoft Şubesinden örnekler kullanarak sıfırdan yeni bir ONNX projesinin nasıl oluşturulacağını gösteriyorlar. Konuşmacı, aktif olarak üzerinde çalışılan ve sürekli entegre edilen ONNX'in makine öğreniminde oynamak için iyi bir araç olduğunu belirtiyor.

  • 00:05:00 Videonun bu bölümünde sunum yapan kişi, en son sürümü almak ve bir ONNX çalışma zamanı oluşturmak için ONNX web sitesine gider. Ayrıca Microsoft deposundan bir örneğin nasıl kopyalanıp değiştirileceğini ve bir makefile ekleneceğini gösterirler. Ayrıca abone takip ve gbt'yi de koda entegre edip, sıkma net modelini ekliyorlar. Sunum yapan kişi bazı hatalarla karşılaşır ancak bunları önceki bir örneği kontrol ederek ve doğru modellerin mevcut olduğundan emin olarak çözer.

  • 00:10:00 Bu bölümde, konuşmacı belirli bir ONNX sürümünü kullanmaya çalışırken hatalarla karşılaştıkları bir sorunu gideriyor. Sorunu çözmek için çalışan bir örneği kopyalamak ve projeyi yeniden oluşturmak gibi çeşitli yöntemler deniyorlar, ancak hiçbiri işe yaramıyor gibi görünüyor. Sonunda, ONNX belgelerinde istedikleri sürümle çalışan daha eski bir örnek bulurlar. Modeli değiştirirler ve programı başarıyla derleyip çalıştırabilirler. Genel olarak, bu bölüm, bağımlılıkları kapsamlı bir şekilde kontrol etmenin ve hata ayıklama sırasında farklı çözümler denemeye istekli olmanın önemini vurgulamaktadır.

  • 00:15:00 Videonun bu bölümünde, konuşmacı temel "Merhaba dünya" ONNX örneğinin sınırlamalarını tartışıyor ve bir görüntüyü yükleyen ve değiştiren bir örneğe sahip olmanın daha yararlı olacağını öne sürüyor. Daha gelişmiş işlevlere sahip Rust Code Search ve Track ONNX gibi ONNX ile ilgili diğer bazı Github projelerini vurgularlar ve bunları denemekle ilgilenirler. Ek olarak, GPT2 modellerinin CUDA ile kullanılmasını sağlayan GPT-RS projesini araştırıyorlar ve bunun görüntü verilerini manipüle etmek için potansiyel olarak nasıl kullanılabileceğini açıklıyorlar.

  • 00:20:00 Bu bölümde kullanıcı, kod tamamlama veya metin tamamlama için test çıktıları oluşturan GPT2 ve CUDA kullanarak bir ONNX bağlamasını test eder. Kullanıcı bu örneği umut verici buluyor ve gelecekte ONNX çalışma zamanı Rust bağlantılarını daha fazla keşfetmeye ilgi duyduğunu ifade ediyor. Deneyimlerini ilginç bir deney olarak özetliyorlar ve ONNX ile bir sonraki denemelerinde daha önemli bir şey inşa etme arzusunu ifade ediyorlar.
 

HİTNET Vs. ACVNet Nöral Stereo Derinlik Tahmin Karşılaştırması (ONNX)



HİTNET Vs. ACVNet Nöral Stereo Derinlik Tahmin Karşılaştırması (ONNX)

Driving Stereo veri setinde HITNET ve ACVNet stereo derinlik tahmin modellerinin karşılaştırılması.

Model Çıkarımı ayrıntıları (NVIDIA 1660 SUPER):
HİTNET (640X480): 220 ms
ACVNet (640x384): 480 ms
Referanslar: [HITNET Çıkarımı] https://github.com/ibaiGorordo/ONNX-HITNET-Stereo-Depth-estimation
[ACVNet Çıkarımı] https://github.com/ibaiGorordo/ONNX-ACVNet-Stereo-Depth-Estimation
[Sürüş Stereo veri seti] https://drivingstereo-dataset.github.io/

Neden: