Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 1062|Yanıt: 0

[İpucu] sklearnex ile scikit-learn makine öğrenme kütüphanesini hızlandırın

[Bağlantıyı kopyala]
2025-4-27 09:59:40 tarihinde yayınlandı | | | |
Scikit-learn

SKTet, tam adı scikit-learn, numpy, scip ve matplotlib gibi veri bilimi paketleri temelinde inşa edilmiş ve örnek verileri, veri ön işlemesi, model doğrulaması, özellik seçimi, sınıflandırma, regresyon, kümeleme ve boyut küçültmesi gibi makine öğreniminin neredeyse tüm yönlerini kapsayan Python tabanlı bir makine öğrenimi kütüphanesidir. Pytorch ve TensorFlow gibi çeşitli çerçevelerde bulunan derin öğrenme stoklarının aksine, sklearn python'da geleneksel makine öğrenimi için tercih edilen kütüphanedir ve başka rakip yoktur.

Resmi Web Sitesi:Bağlantı girişi görünür.
Kaynak:Bağlantı girişi görünür.

Scikit-learn için uzantı

Klasik bir makine öğrenimi çerçevesi olarak scikit-learn, doğuşundan bu yana on yıldan fazla süredir geliştirilmektedir, ancak hesaplama hızı kullanıcılar tarafından geniş çapta eleştirilmiştir. Extension for Scikit-learn, size yardımcı olmak için tasarlanmış ücretsiz bir yapay zeka yazılım hızlandırıcısıdırMevcut Scikit-learn kodu, 10 ila 100 kat daha hızlı hızlanma sağlar。 Yazılım hızlandırması, vektör komutları, yapay zeka donanımı için bellek optimizasyonu, iş parçacığı ve optimizasyon yoluyla sağlanır.

Scikit-learn uzantısı ile şunları yapabilirsiniz:

  • Eğitim ve çıkarım aynı matematiksel hassasiyetle 100 kat daha hızlıdır
  • GPU ve çoklu GPU yapılandırmaları dahil olmak üzere farklı CPU donanım konfigürasyonlarında performans iyileştirmelerinden faydalanın
  • Mevcut Scikit-learn uygulamalarınıza kodu değiştirmeden uzantıları entegre edin
  • Açık kaynak scikit-learn API'sini kullanmaya devam edin
  • Birkaç satır kod kullanın veya komut satırında uzantıları etkinleştirip devre dışı bırakın


Kaynak:Bağlantı girişi görünür.
Belge:Bağlantı girişi görünür.



Test

İlk olarak, conda'yı kullanarak ortamı hazırlayın ve gerekli paketleri aşağıdaki komutla kurun:

Yeni Python test kodu şöyledir:

Hızlandırılmış kod şu şekildedir:

Kaynak kodu yorumu:

1.X, y = make_regression(n_samples=2000000, n_features=100, gürültü=1, random_state=42)
make_regression, scikit-learn'de lineer regresyon problemleri için veri seti üreten bir fonksiyondur.
n_samples=2000000: Oluşturulan veri setindeki 2.000.000 örnek sayısını belirtir.
n_features=100: Her örneklemin 100 özelliği (yani giriş değişkenleri) olduğunu belirtir.
noise=1: Hedef değer y üzerinde gürültü eklemenin standart sapması 1'dir. Bu, hedef değerin bazı rastgele bozulmalara sahip olacağı anlamına gelir.
random_state=42: Rastgele tohumu 42'ye ayarlayın, böylece kod her çalıştırıldığında üretilen verinin aynı olmasını (tekrarlanabilirlik) sağlanır.
Sonuçlar: X, her biri 100 özellikten oluşan 2.000.000 örneği temsil eden bir şekilli NumPy dizisidir (2000000, 100); y, hedef değeri temsil eden 2.000.000 uzunluğunda tek boyutlu bir dizidir.

2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0.33, random_state=42)
train_test_split, scikit-learn'de veri setini eğitim ve test setlerine bölen bir fonksiyondur.
test_size=0.33: Veri setinin %33'ünün test kümesine ayrıldığını, kalan %67'sinin ise eğitim setine tahsis edildiğini gösterir.
random_state=42: Rastgele tohumu 42'ye ayarlayın, böylece veri bölünmesinin sonucunun her kodu çalıştırdığınızda aynı olmasını sağlayın.
: Geri dönüş değerini görmezden gelmek için alt çizgi kullanın. Burada sadece eğitim seti kısmı (X_train ve y_train) önemsiyoruz ve test seti kısmını görmezden geliyoruz.
Sonuç:
X_train: Eğitim setinin özellik matrisi, (1340000, 100) şeklindedir (verinin yaklaşık %67'si).
y_train: Eğitimin hedef değeri 1.340.000 uzunluğunda belirlenmiştir.

3. model = LinearRegression()
LinearRegression, scikit-learn dilinde lineer regresyon modelleri uygulayan bir sınıftır.
Bu kod satırı, bir doğrusal regresyon modelinin bir örneğini oluşturur ve değişken modeline değerler atar.
Varsayılan olarak, LinearRegression verileri düzenlemez (yani, L1 veya L2 düzenlemesi yoktur).

4. model.fit(X_train, y_train)
Fit, scikit-learn modelinde modeli eğitmek için kullanılan bir yöntemdir.
Burada uyum yöntemi, eğitim seti veri X_train ve hedef değer y_train kullanılarak doğrusal regresyon modeline uydurmak için çağrılır.
Model, tahmin edilen ve gerçek değerler (genellikle en küçük kareler) arasındaki hatayı en aza indirmek için optimal bir ağırlık (katsayı) seti hesaplar ve kesişmeler.
Eğitim tamamlandıktan sonra, modelin parametreleri model.coef_ (özelliğin ağırlığı) ve model.intercept_ (kesişme) olarak saklanır.

İnfaz süresi aşağıdaki gibidir:



Etkinin hem ivme olmadan hem de hızlanmadan sonra çok belirgin olduğunu görebilirsiniz,Hızlanmadan yaklaşık 16 saniye sürer ve hızlanmadan sadece 0,1 saniye sürer!!!!




Önceki:.NET/C#, görüntüler için Tesseract'tan OCR metin tanıma kullanır
Önümüzdeki:.NET/C#, tüm HTML etiketlerini kaldırmak için HtmlAgilityPack kullanır
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com