See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 1062|Vastuse: 0

[Nõuanded] Kiirenda scikit-learn masinõppe teeki sklearnexiga

[Kopeeri link]
Postitatud 2025-4-27 09:59:40 | | | |
Scikit-learn

SKTet, täisnimi scikit-learn, on masinõppe teek Pythonis, mis põhineb andmeteaduse pakettidel nagu numpy, scipy ja matplotlib, hõlmates peaaegu kõiki masinõppe aspekte, nagu prooviandmed, andmete eeltöötlus, mudeli verifitseerimine, tunnuste valik, klassifitseerimine, regressioon, klasterdamine ja dimensioonide vähendamine. Erinevalt süvaõppest, mis on saadaval erinevates raamistikudes nagu pytorch ja TensorFlow, on sklearn traditsioonilise masinõppe jaoks eelistatud raamatukogu pythonis ning teisi konkurente pole.

Ametlik veebileht:Hüperlingi sisselogimine on nähtav.
Allikas:Hüperlingi sisselogimine on nähtav.

Scikit-learn laiendus

Klassikalise masinõppe raamistikuna on scikit-learn arenenud üle kümne aasta alates selle sünnist, kuid selle arvutuskiirust on kasutajate poolt laialdaselt kritiseeritud. Scikit-learn laiendus on tasuta tehisintellekti tarkvara kiirendi, mis on loodud sind aitamaOlemasolev Scikit-learn kood pakub 10 kuni 100 korda kiiremat kiirendust。 Tarkvara kiirendus saavutatakse vektorkäsude, AI riistvara mälu optimeerimise, lõimimise ja optimeerimise kaudu.

Scikit-learn laiendusega saad:

  • Treening ja järeldus on sama matemaatilise täpsusega 100 korda kiiremad
  • Kasuta jõudluse paranemist erinevates CPU riistvarakonfiguratsioonides, sealhulgas GPU ja mitme GPU konfiguratsioonides
  • Integreeri laiendused oma olemasolevatesse Scikit-Learn rakendustesse ilma koodi muutmata
  • Jätka avatud lähtekoodiga scikit-learn API kasutamist
  • Kasuta mõnda koodirida või luba ja keela käsurea laiendused


Allikas:Hüperlingi sisselogimine on nähtav.
Dokumentatsioon:Hüperlingi sisselogimine on nähtav.



Katse

Esiteks kasuta conda, et valmistada keskkond ette ja paigaldada vajalikud paketid järgmise käsuga:

Uus Python'i testkood on järgmine:

Kiirendatud kood on järgmine:

Lähtekoodi tõlgendamine:

1.X, y = make_regression(n_samples=2000000, n_features=100, müra=1, random_state=42)
make_regression on funktsioon scikit-learnis, mis genereerib andmestiku lineaarregressiooniprobleemide jaoks.
n_samples=2000000: Määrab genereeritud andmekogumi 2 000 000 valimite arvu.
n_features=100: Täpsustab, et igal proovil on 100 omadust (st sisendmuutujad).
müra=1: Müra lisamise standardhälve sihtväärtusele y on 1. See tähendab, et sihtväärtusel esineb mõningaid juhuslikke häireid.
random_state=42: Sea juhuslik seeme väärtuseks 42, tagades, et genereeritud andmed on iga koodi käivitamisel samad (korduvus).
Tulemused: X on NumPy kuju massiivi (2000000, 100), mis esindab 2 000 000 proovi, igaühel 100 tunnust; y on ühemõõtmeline massiivi pikkusega 2 000 000 ja mis esindab sihtväärtust.

2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42)
train_test_split on scikit-learni funktsioon, mis jagab andmestiku treening- ja testikomplektideks.
test_size=0,33: Näitab, et 33% andmestikust on eraldatud testkomplektile ja ülejäänud 67% treeningkomplektile.
random_state=42: Sea juhuslik seeme väärtuseks 42, tagades, et andmete jagamise tulemus oleks iga kord, kui koodi käivitad.
: Kasuta alajooni, et ignoreerida tagastusväärtust. Siin hoolime ainult treeningkomplekti osast (X_train ja y_train) ning ignoreerime testikomplekti osa.
Tulemus:
X_train: Treeningkomplekti tunnusmaatriks, kujuga (1340000, 100) (umbes 67% andmetest).
y_train: Koolituse sihtväärtus pikkusega 1 340 000.

3. mudel = LinearRegression()
LinearRegression on scikit-learn klass, mis rakendab lineaarseid regressioonimudeleid.
See koodirida loob lineaarse regressioonimudeli eksemplari ja määrab muutujamudelile väärtused.
Vaikimisi LinearRegression andmeid ei regulariseeri (st puudub L1 või L2 regulaariseerimine).

4. model.fit(X_train, y_train)
Sobivus on meetod scikit-learn mudelis, mida kasutatakse mudeli treenimiseks.
Siin nimetatakse sobitusmeetodit lineaarregressioonimudeli sobitamiseks, kasutades treeningkomplekti andmeid X_train ja sihtväärtust y_train.
Mudel arvutab optimaalse kaalude (kordajate) komplekti ja lõikab, et minimeerida viga ennustatud ja tõeliste väärtuste (tavaliselt väikseimate ruutude) vahel.
Kui treening on lõpetatud, salvestatakse mudeli parameetrid model.coef_ (omaduse kaal) ja model.intercept_ (intercept).

Täitmise aeg on järgmine:



Näete, et efekt on väga ilmne nii ilma kiirenduseta kui ka pärast kiirendust,Ilma kiirenduseta kulub umbes 16 sekundit ja pärast kiirendust vaid 0,1 sekundit!!!!




Eelmine:.NET/C# kasutab Tesseracti OCR-i tekstituvastuseks piltide jaoks
Järgmine:.NET/C# kasutab HtmlAgilityPacki kõigi HTML-siltide eemaldamiseks
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com