Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 1062|Antwoord: 0

[Tips] Versnel de scikit-learn machine learning-bibliotheek met sklearnex

[Link kopiëren]
Geplaatst op 27-4-2025 09:59:40 | | | |
Scikit-learn

SKTet, volledige naam scikit-learn, is een machine learning-bibliotheek in Python, gebouwd op basis van data science-pakketten zoals numpy, scipy en matplotlib, die bijna alle aspecten van machine learning behandelt, zoals voorbeeldgegevens, datapreprocessing, modelverificatie, featureselectie, classificatie, regressie, clustering en dimensionaliteitsreductie. In tegenstelling tot de deep learning-standaard die beschikbaar is in verschillende frameworks zoals pytorch en TensorFlow, is sklearn de voorkeursbibliotheek voor traditionele machine learning in python, en zijn er geen andere concurrenten.

Officiële website:De hyperlink-login is zichtbaar.
Bron:De hyperlink-login is zichtbaar.

Uitbreiding voor Scikit-learn

Als een klassiek machine learning-framework ontwikkelt scikit-learn zich al meer dan tien jaar sinds de oprichting, maar de rekensnelheid is door gebruikers veel bekritiseerd. Extension voor Scikit-learn is een gratis AI-softwareversneller die is ontworpen om je te helpenBestaande Scikit-learn-code biedt 10 tot 100x snellere snelheidsverhogingen。 Software-versnelling wordt bereikt door vectorinstructies, geheugenoptimalisatie voor AI-hardware, threading en optimalisatie.

Met de Scikit-learn-extensie kun je:

  • Training en inferentie zijn honderd keer sneller met dezelfde wiskundige precisie
  • Profiteer van prestatieverbeteringen in verschillende CPU-hardwareconfiguraties, waaronder GPU- en multi-GPU-configuraties
  • Integreer extensies in je bestaande Scikit-learn-applicaties zonder code aan te passen
  • Blijf de open-source scikit-learn API gebruiken
  • Gebruik een paar regels code of schakel extensies in en uit in de opdrachtregel


Bron:De hyperlink-login is zichtbaar.
Documentatie:De hyperlink-login is zichtbaar.



Test

Gebruik eerst conda om de omgeving voor te bereiden en installeer de benodigde pakketten met het volgende commando:

De nieuwe Python-testcode is als volgt:

De versnelde code is als volgt:

Interpretatie van broncode:

1.X, y = make_regression(n_samples=20000000, n_features=100, ruis=1, random_state=42)
make_regression is een functie in scikit-learn die een dataset genereert voor lineaire regressieproblemen.
n_samples=20000000: Specificeert het aantal monsters in de gegenereerde dataset van 2.000.000.
n_features=100: Geeft aan dat elke steekproef 100 kenmerken heeft (d.w.z. invoervariabelen).
ruis=1: De standaarddeviatie van het toevoegen van ruis op de doelwaarde y is 1. Dit betekent dat de doelwaarde enkele willekeurige verstoringen zal hebben.
random_state=42: Stel de willekeurige seed in op 42, zodat de gegenereerde data elke keer hetzelfde is wanneer de code wordt uitgevoerd (herhaalbaarheid).
Resultaten: X is een NumPy-array van vorm (2000000, 100) die 2.000.000 samples vertegenwoordigt met elk 100 features; y is een eendimensionale array van 2.000.000 in lengte die de doelwaarde vertegenwoordigt.

2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42)
train_test_split is een functie in scikit-learn die de dataset opsplitst in trainings- en testsets.
test_size=0,33: Geeft aan dat 33% van de dataset aan de testset is toegewezen en de resterende 67% aan de trainingsset.
random_state=42: Stel de willekeurige seed in op 42, zodat het resultaat van de datasplitsing elke keer hetzelfde is wanneer je de code uitvoert.
: Gebruik een onderscore om de returnwaarde te negeren. Hier geven we alleen om het trainingsgedeelte (X_train en y_train) en negeren we het testsetgedeelte.
Resultaat:
X_train: De featurematrix van de trainingsset, gevormd als (1340000, 100) (ongeveer 67% van de data).
y_train: De streefwaarde van de trainingsset met een lengte van 1.340.000.

3. model = LinearRegressie()
LinearRegressie is een cursus in scikit-learn die lineaire regressiemodellen implementeert.
Deze regel code creëert een instantie van een lineair regressiemodel en wijst waarden toe aan het variabelenmodel.
LinearRegresion regulariseert standaard geen data (d.w.z. geen L1- of L2-regularisatie).

4. model.fit(X_train, y_train)
Fit is een methode in het scikit-learn-model die wordt gebruikt om het model te trainen.
Hier wordt de fitmethode aangeroepen om het lineaire regressiemodel te passen met behulp van de trainingssetgegevens X_train en de doelwaarde y_train.
Het model berekent een optimale set gewichten (coëfficiënten) en intercepten om de fout tussen de voorspelde en ware waarden (meestal kleinste kwadraten) te minimaliseren.
Zodra de training is voltooid, worden de parameters van het model opgeslagen in model.coef_ (het gewicht van het kenmerk) en model.intercept_ (interceptie).

De uitvoeringstijd is als volgt:



Je ziet dat het effect heel duidelijk is, zowel zonder acceleratie als na acceleratie,Het duurt ongeveer 16 seconden zonder acceleratie en slechts 0,1 seconden na acceleratie!!!!




Vorig:.NET/C# gebruikt Tesseract om tekstherkenning voor afbeeldingen te OCR-en
Volgend:.NET/C# gebruikt HtmlAgilityPack om alle HTML-tags te verwijderen
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com