Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 1062|Svar: 0

[Tips] Accelerera scikit-learn maskininlärningsbiblioteket med sklearnex

[Kopiera länk]
Publicerad 2025-4-27 09:59:40 | | | |
Scikit-learn

SKTet, fullständigt namn scikit-learn, är ett maskininlärningsbibliotek i Python, byggt på data science-paket som numpy, scipy och matplotlib, och täcker nästan alla aspekter av maskininlärning såsom exempeldata, dataförbehandling, modellverifiering, funktionsval, klassificering, regression, klustring och dimensionsreduktion. Till skillnad från deep learning-standarden som finns i olika ramverk som pytorch och TensorFlow, är sklearn det föredragna biblioteket för traditionell maskininlärning i python, och det finns inga andra konkurrenter.

Officiell webbplats:Inloggningen med hyperlänken är synlig.
Källa:Inloggningen med hyperlänken är synlig.

Tillägg för Scikit-learn

Som ett klassiskt maskininlärningsramverk har scikit-learn utvecklats i mer än tio år sedan dess födelse, men dess beräkningshastighet har kritiserats mycket av användare. Extension för Scikit-learn är en gratis AI-mjukvaruaccelerator som är utformad för att hjälpa digBefintlig Scikit-learn-kod ger 10 till 100 gånger snabbare hastighetsökningar。 Mjukvaruacceleration uppnås genom vektorinstruktioner, minnesoptimering för AI-hårdvara, trådning och optimering.

Med Scikit-learn-tillägget kan du:

  • Träning och inferens är 100 gånger snabbare med samma matematiska precision
  • Dra nytta av prestandaförbättringar över olika CPU-hårdvarukonfigurationer, inklusive GPU- och multi-GPU-konfigurationer
  • Integrera tillägg i dina befintliga Scikit-learn-applikationer utan att ändra koden
  • Fortsätt använda det öppna källkods-API:et scikit-learn
  • Använd några rader kod eller aktivera och inaktivera tillägg i kommandoraden


Källa:Inloggningen med hyperlänken är synlig.
Dokumentation:Inloggningen med hyperlänken är synlig.



Test

Använd först conda för att förbereda miljön och installera nödvändiga paket med följande kommando:

Den nya Python-testkoden är följande:

Den accelererade koden är följande:

Tolkning av källkod:

1.X, y = make_regression(n_samples=2000000, n_features=100, brus=1, random_state=42)
make_regression är en funktion i scikit-learn som genererar en datamängd för linjära regressionsproblem.
n_samples=20000000: Specificerar antalet prover i den genererade datamängden på 2 000 000.
n_features=100: Anger att varje prov har 100 egenskaper (dvs. indatavariabler).
brus=1: Standardavvikelsen för att lägga till brus på målvärdet y är 1. Detta innebär att målvärdet kommer att ha vissa slumpmässiga störningar.
random_state=42: Sätt det slumpmässiga fröet till 42, och säkerställ att den genererade datan är densamma varje gång koden körs (upprepbarhet).
Resultat: X är en NumPy-array med form (2000000, 100) som representerar 2 000 000 prover med 100 funktioner vardera; Y är en endimensionell matris på 2 000 000 i längd som representerar målvärdet.

2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42)
train_test_split är en funktion i scikit-learn som delar upp datasetet i tränings- och testuppsättningar.
test_size=0,33: Indikerar att 33 % av datasetet är allokerat till testsetet och resterande 67% till träningsmängden.
random_state=42: Sätt det slumpmässiga fröet till 42, så att resultatet av datadelningen är detsamma varje gång du kör koden.
: Använd ett understreck för att ignorera returvärdet. Här bryr vi oss bara om träningsdelen (X_train och y_train) och ignorerar testset-delen.
Utfall:
X_train: Funktionsmatrisen för träningsuppsättningen, formad som (1340000, 100) (ungefär 67 % av datan).
y_train: Målvärdet för träningsuppsatsen med en längd på 1 340 000.

3. modell = LinjärRegression()
LinearRegression är en kurs i scikit-learn som implementerar linjära regressionsmodeller.
Denna kodrad skapar en instans av en linjär regressionsmodell och tilldelar värden till variabelmodellen.
Som standard regulariserar linjärregression inte data (dvs. ingen L1- eller L2-regularisering).

4. model.fit(X_train, y_train)
Fit är en metod i scikit-learn-modellen som används för att träna modellen.
Här anropas anpassningsmetoden för att anpassa den linjära regressionsmodellen med hjälp av träningsmängdsdata X_train och målvärdet y_train.
Modellen beräknar en optimal uppsättning vikter (koefficienter) och intercept för att minimera felet mellan de förutsagda och sanna värdena (vanligtvis minsta kvadrater).
När träningen är klar lagras modellens parametrar i model.coef_ (funktionens vikt) och model.intercept_ (intercept).

Utföringstiden är följande:



Du kan se att effekten är mycket tydlig både utan acceleration och efter acceleration,Det tar ungefär 16 sekunder utan acceleration och bara 0,1 sekunder efter acceleration!!!!




Föregående:.NET/C# använder Tesseract för att OCR-textigenkänning för bilder
Nästa:.NET/C# använder HtmlAgilityPack för att ta bort alla HTML-taggar
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com