Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 1062|Odpowiedź: 0

[Napiwki] Przyspiesz bibliotekę uczenia maszynowego scikit-learn za pomocą sklearnex

[Skopiuj link]
Opublikowano 2025-4-27 09:59:40 | | | |
Scikit-learn

SKTet, pełna nazwa scikit-learn, to biblioteka uczenia maszynowego w Pythonie, zbudowana na bazie pakietów data science takich jak numpy, scipy i matplotlib, obejmująca niemal wszystkie aspekty uczenia maszynowego, takie jak dane próbne, ich wstępne przetwarzanie, weryfikacja modelu, wybór cech, klasyfikacja, regresja, klasteryzacja oraz redukcja wymiarowości. W przeciwieństwie do bazy deep learningu dostępnej w różnych frameworkach, takich jak pytorch i TensorFlow, sklearn jest preferowaną biblioteką dla tradycyjnego uczenia maszynowego w Pythonie i nie ma innych konkurentów.

Oficjalna strona internetowa:Logowanie do linku jest widoczne.
Źródło:Logowanie do linku jest widoczne.

Rozszerzenie dla Scikit-learn

Jako klasyczny framework uczenia maszynowego, scikit-learn rozwija się od ponad dziesięciu lat od momentu powstania, jednak jego szybkość obliczeń była szeroko krytykowana przez użytkowników. Rozszerzenie dla Scikit-learn to darmowy akcelerator oprogramowania AI zaprojektowany, aby Ci pomócIstniejący kod Scikit-learn zapewnia od 10 do 100 razy szybsze przyspieszenia。 Akceleracja oprogramowania jest osiągana poprzez instrukcje wektorowe, optymalizację pamięci dla sprzętu AI, wątkowanie i optymalizację.

Dzięki rozszerzeniu Scikit-learn możesz:

  • Trening i wnioskowanie są 100 razy szybsze przy tej samej precyzji matematycznej
  • Skorzystaj z poprawy wydajności w różnych konfiguracjach sprzętowych CPU, w tym GPU i multi-GPU
  • Integruj rozszerzenia z istniejącymi aplikacjami Scikit-learn bez modyfikowania kodu
  • Kontynuuj korzystanie z otwartoźródłowego API scikit-learn
  • Użyj kilku linii kodu lub włącz i wyłącz rozszerzenia w wierszu poleceń


Źródło:Logowanie do linku jest widoczne.
Dokumentacja:Logowanie do linku jest widoczne.



Test

Po pierwsze, użyj conda do przygotowania środowiska i zainstalowania niezbędnych pakietów za pomocą następującego polecenia:

Nowy kod testowy w Pythonie wygląda następująco:

Przyspieszony kod wygląda następująco:

Interpretacja kodu źródłowego:

1.X, y = make_regression(n_samples=2000000, n_features=100, szum=1, random_state=42)
make_regression jest funkcją w scikit-learn, która generuje zbiór danych dla problemów regresji liniowej.
n_samples=2000000: Określa liczbę próbek w wygenerowanym zbiorze danych wynoszącą 2 000 000.
n_features=100: Określa, że każda próbka zawiera 100 cech (czyli zmiennych wejściowych).
szum=1: Odchylenie standardowe dodawania szumu do wartości docelowej y wynosi 1. Oznacza to, że wartość docelowa będzie miała pewne losowe zaburzenia.
random_state=42: Ustaw losowe ziarno na 42, zapewniając, że generowane dane są takie same za każdym razem, gdy kod jest wykonywany (powtarzalność).
Wyniki: X to tablica NumPy o kształtach (2000000, 100) reprezentująca 2 000 000 próbek z 100 cechami każda; y to jednowymiarowa tablica o długości 2 000 000, która reprezentuje wartość docelową.

2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42)
train_test_split jest funkcją w scikit-learn, która dzieli zbiór danych na zestaw treningowy i testowy.
test_size=0,33: Oznacza, że 33% zbioru danych jest przypisane do zbioru testowego, a pozostałe 67% do zbioru treningowego.
random_state=42: Ustaw losowy seed na 42, aby wynik podziału danych był taki sam za każdym razem, gdy uruchamiasz kod.
: Użyj podkreślenia, aby zignorować wartość zwrotu. Tutaj interesuje nas tylko część zestawu treningowego (X_train i y_train) i ignorujemy część zestawu testowego.
Wynik:
X_train: Macierz cech zbioru treningowego, w kształcie (1340000, 100) (około 67% danych).
y_train: Docelowa wartość zbioru treningowego o długości 1 340 000.

3. model = LinearRegression()
LinearRegression to klasa w scikit-learn, która implementuje modele regresji liniowej.
Ta linia kodu tworzy instancję modelu regresji liniowej i przypisuje wartości modelu zmiennym.
Domyślnie LinearRegression nie regularizuje danych (czyli nie regularizuje L1 ani L2).

4. model.fit(X_train, y_train)
Dopasowanie to metoda w modelu scikit-learn, która służy do trenowania modelu.
Tutaj metoda dopasowania jest używana do dopasowania modelu regresji liniowej, wykorzystując dane zbioru treningowego X_train oraz wartość docelową y_train.
Model oblicza optymalny zestaw wag (współczynników) i przecina, aby zminimalizować błąd między przewidywaną a prawdziwą wartością (zwykle najmniejsze kwadraty).
Po zakończeniu treningu parametry modelu są przechowywane w model.coef_ (waga cechy) i model.intercept_ (przecięcie).

Czas wykonania jest następujący:



Widać, że efekt jest bardzo widoczny zarówno bez przyspieszenia, jak i po przyspieszeniu,Bez przyspieszenia trwa to około 16 sekund i tylko 0,1 sekundy po przyspieszeniu!!!!




Poprzedni:.NET/C# wykorzystuje Tesseract do OCR rozpoznawania tekstu dla obrazów
Następny:.NET/C# wykorzystuje HtmlAgilityPack do usuwania wszystkich tagów HTML
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com