Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 1062|Odpověď: 0

[Tipy] Zrychlení knihovny strojového učení scikit-learn pomocí sklearnex

[Kopírovat odkaz]
Zveřejněno 27. 4. 2025 09:59:40 | | | |
Scikit-learn

SKTet, plný název scikit-learn, je knihovna strojového učení v Pythonu, postavená na základě datovědních balíčků jako numpy, scipy a matplotlib, pokrývající téměř všechny aspekty strojového učení, jako jsou vzorková data, předzpracování dat, ověřování modelů, výběr rysů, klasifikace, regrese, shlukování a snižování dimenzionality. Na rozdíl od deep learning standardu dostupného v různých frameworkech jako pytorch a TensorFlow je sklearn preferovanou knihovnou pro tradiční strojové učení v pythonu a neexistují žádní další konkurenti.

Oficiální webové stránky:Přihlášení k hypertextovému odkazu je viditelné.
Zdroj:Přihlášení k hypertextovému odkazu je viditelné.

Rozšíření pro Scikit-learn

Jako klasický rámec strojového učení se scikit-learn vyvíjí více než deset let od svého vzniku, ale jeho výpočetní rychlost byla uživateli široce kritizována. Rozšíření pro Scikit-learn je bezplatný akcelerátor AI softwaru navržený tak, aby vám pomohlStávající kód Scikit-learn poskytuje 10 až 100x rychlejší zrychlení。 Softwarová akcelerace je dosažena pomocí vektorových instrukcí, optimalizace paměťi pro AI hardware, vláknění a optimalizace.

S rozšířením Scikit-learn můžete:

  • Trénink a inference jsou 100krát rychlejší se stejnou matematickou přesností
  • Využijte zlepšení výkonu napříč různými konfiguracemi CPU, včetně konfigurací GPU a multi-GPU
  • Integrujte rozšíření do svých stávajících aplikací Scikit-learn, aniž byste museli upravovat kód
  • Pokračujte v používání open-source scikit-learn API
  • Použijte pár řádků kódu nebo povolte a deaktivujte rozšíření v příkazovém řádku


Zdroj:Přihlášení k hypertextovému odkazu je viditelné.
Dokumentace:Přihlášení k hypertextovému odkazu je viditelné.



Test

Nejprve použijte conda k přípravě prostředí a instalaci potřebných balíčků pomocí následujícího příkazu:

Nový testovací kód v Pythonu je následující:

Zrychlený kód je následující:

Interpretace zdrojového kódu:

1.X, y = make_regression(n_samples=2000000, n_features=100, šum=1, random_state=42)
make_regression je funkce ve scikit-learn, která generuje datovou sadu pro problémy lineární regrese.
n_samples=2000000: Specifikuje počet vzorků v generované datové sadě 2 000 000.
n_features=100: Specifikuje, že každý vzorek má 100 znaků (tj. vstupních proměnných).
šum=1: Směrodatná odchylka při sčítání šumu na cílovou hodnotu y je 1. To znamená, že cílová hodnota bude mít určité náhodné narušení.
random_state=42: Nastavte náhodné semeno na 42, aby byla generovaná data pokaždé stejná při spuštění kódu (opakovatelnost).
Výsledky: X je NumPy pole tvarů (2000000, 100) reprezentující 2 000 000 vzorků s každým 100 rysy; y je jednorozměrné pole o délce 2 000 000, které představuje cílovou hodnotu.

2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42)
train_test_split je funkce ve scikit-learn, která rozděluje datovou sadu na tréninkovou a testovací sadu.
test_size=0,33: Označuje, že 33 % datové sady je přiděleno k testovací sadě a zbývajících 67 % do trénovací sady.
random_state=42: Nastavte náhodné seedy na 42, aby výsledek rozdělení dat byl pokaždé stejný při spuštění kódu.
: Použijte podtržítko k ignorování hodnoty návratu. Tady nás zajímá jen část tréninkové sady (X_train a y_train) a ignorujeme část testovací sady.
Výsledek:
X_train: Matice rysů trénovací množiny ve tvaru (1340000, 100) (asi 67 % dat).
y_train: Cílová hodnota trénovací sady o délce 1 340 000.

3. model = LinearRegression()
LinearRegression je kurz ve scikit-learn, který implementuje lineární regresní modely.
Tento řádek kódu vytváří instanci lineárního regresního modelu a přiřazuje hodnoty proměnnému modelu.
Ve výchozím nastavení LinearRegression data neregularizuje (tj. žádná regularizace L1 nebo L2).

4. model.fit(X_train, y_train)
Fit je metoda v modelu scikit-learn, která se používá k trénování modelu.
Zde se metoda přizpůsobení používá k přizpůsobení lineárního regresního modelu pomocí tréninkové množiny X_train a cílové hodnoty y_train.
Model vypočítá optimální množinu vah (koeficientů) a průsečíků, aby minimalizoval chybu mezi předpovězenou a skutečnou hodnotou (obvykle nejmenšími čtverců).
Po dokončení tréninku jsou parametry modelu uloženy do model.coef_ (váha prvku) a model.intercept_ (průsečík).

Doba provedení je následující:



Vidíte, že efekt je velmi zřejmý jak bez zrychlení, tak po zrychlení,Bez akcelerace to trvá asi 16 sekund a po zrychlení jen 0,1 sekundy!!!!




Předchozí:.NET/C# využívá Tesseract k OCR rozpoznávání textu pro obrázky
Další:.NET/C# používá HtmlAgilityPack k odstranění všech HTML značek
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com