Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 1062|Odpoveď: 0

[Tipy] Zrýchliť knižnicu strojového učenia scikit-learn pomocou sklearnex

[Kopírovať odkaz]
Zverejnené 27.4.2025 09:59:40 | | | |
Scikit-learn

SKTet, plný názov scikit-learn, je knižnica strojového učenia v Pythone, postavená na základe dátových balíkov ako numpy, scipy a matplotlib, pokrývajúca takmer všetky aspekty strojového učenia, ako sú vzorkové dáta, predspracovanie dát, overovanie modelu, výber príznakov, klasifikácia, regresia, zhlukovanie a znižovanie dimenzionality. Na rozdiel od deep learning štandardu dostupného v rôznych frameworkoch ako pytorch a TensorFlow, sklearn je preferovanou knižnicou pre tradičné strojové učenie v pythone a neexistujú žiadni iní konkurenti.

Oficiálna webová stránka:Prihlásenie na hypertextový odkaz je viditeľné.
Zdroj:Prihlásenie na hypertextový odkaz je viditeľné.

Rozšírenie pre Scikit-learn

Ako klasický rámec strojového učenia sa scikit-learn vyvíja už viac ako desať rokov od svojho vzniku, no jeho výpočtová rýchlosť bola používateľom široko kritizovaná. Rozšírenie pre Scikit-learn je bezplatný AI softvérový akcelerátor navrhnutý tak, aby vám pomoholExistujúci kód Scikit-learn poskytuje 10 až 100x rýchlejšie zrýchlenia。 Softvérové zrýchlenie sa dosahuje prostredníctvom vektorových inštrukcií, optimalizácie pamäte pre AI hardvér, vláknovania a optimalizácie.

S rozšírením Scikit-learn môžete:

  • Trénovanie a inferencia sú 100-krát rýchlejšie s rovnakou matematickou presnosťou
  • Využite zlepšenia výkonu naprieč rôznymi hardvérovými konfiguráciami CPU, vrátane konfigurácií GPU a multi-GPU
  • Integrujte rozšírenia do existujúcich Scikit-learn aplikácií bez úprav kódu
  • Pokračujte v používaní open-source API scikit-learn
  • Použi pár riadkov kódu alebo povol a vypni rozšírenia v príkazovom riadku


Zdroj:Prihlásenie na hypertextový odkaz je viditeľné.
Dokumentácia:Prihlásenie na hypertextový odkaz je viditeľné.



Test

Najprv použite conda na prípravu prostredia a inštaláciu potrebných balíkov pomocou nasledujúceho príkazu:

Nový testovací kód v Pythone je nasledovný:

Zrýchlený kód je nasledovný:

Interpretácia zdrojového kódu:

1.X, y = make_regression(n_samples=2000000, n_features=100, šum=1, random_state=42)
make_regression je funkcia v scikit-learn, ktorá generuje dátovú sadu pre lineárne regresné problémy.
n_samples=2000000: Špecifikuje počet vzoriek v generovanej datasete 2 000 000.
n_features=100: Špecifikuje, že každá vzorka má 100 vlastností (t. j. vstupných premenných).
šum=1: Smerodatná odchýlka sčítania šumu na cieľovej hodnote y je 1. To znamená, že cieľová hodnota bude mať určité náhodné perturbácie.
random_state=42: Nastavte náhodný seed na 42, aby ste zabezpečili, že generované dáta sú pri každom spustení kódu rovnaké (opakovateľnosť).
Výsledky: X je NumPy pole tvarov (2000000, 100) reprezentujúce 2 000 000 vzoriek s každým 100 znakmi; y je jednorozmerné pole s dĺžkou 2 000 000, ktoré predstavuje cieľovú hodnotu.

2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42)
train_test_split je funkcia v scikit-learn, ktorá rozdeľuje dátovú sadu na trénovací a testovací súbor.
test_size=0,33: Označuje, že 33 % dátovej sady je pridelených testovacej množine a zvyšných 67 % je pridelených trénovacej množine.
random_state=42: Nastavte náhodný seed na 42, aby výsledok rozdelenia dát bol vždy rovnaký pri spustení kódu.
: Použite podčiarknutie na ignorovanie hodnoty návratu. Tu nás zaujíma len časť tréningovej sady (X_train a y_train) a ignorujeme časť testovacej sady.
Výsledok:
X_train: Matica znakov trénovacej množiny, tvarovaná ako (1340000, 100) (približne 67 % dát).
y_train: Cieľová hodnota tréningovej sady s dĺžkou 1 340 000.

3. model = LinearRegression()
LinearRegression je trieda v scikit-learn, ktorá implementuje lineárne regresné modely.
Tento riadok kódu vytvára inštanciu lineárneho regresného modelu a priraďuje hodnoty premennému modelu.
LinearRegression štandardne neregularizuje dáta (t. j. žiadna regularizácia L1 alebo L2).

4. model.fit(X_train, y_train)
Fit je metóda v modeli scikit-learn, ktorá sa používa na trénovanie modelu.
Tu sa používa metóda prispôsobenia na prispôsobenie lineárnemu regresnému modelu pomocou tréningovej množiny X_train a cieľovej hodnoty y_train.
Model vypočíta optimálnu množinu váh (koeficientov) a interceptuje, aby minimalizoval chybu medzi predpokladanou a skutočnou hodnotou (zvyčajne najmenšími štvorcami).
Po dokončení trénovania sa parametre modelu ukladajú do model.coef_ (váha prvku) a model.intercept_ (intercept).

Doba vykonania je nasledovná:



Vidíte, že efekt je veľmi zrejmý bez zrýchlenia aj po zrýchlení,Bez zrýchlenia to trvá približne 16 sekúnd a po zrýchlení len 0,1 sekundy!!!!




Predchádzajúci:.NET/C# používa Tesseract na OCR rozpoznávanie textu obrázkov
Budúci:.NET/C# používa HtmlAgilityPack na odstránenie všetkých HTML značiek
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com