Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 1062|Antwort: 0

[Tipps] Beschleunige die scikit-learn maschinelle Lernbibliothek mit sklearnex

[Link kopieren]
Veröffentlicht am 27.04.2025, 09:59:40 | | | |
Scikit-learn

SKTet, vollständiger Name scikit-learn, ist eine maschinelle Lernbibliothek in Python, die auf Data-Science-Paketen wie numpy, scipy und matplotlib basiert und fast alle Aspekte des maschinellen Lernens abdeckt, wie Beispieldaten, Datenvorverarbeitung, Modellverifikation, Merkmalauswahl, Klassifikation, Regression, Clustering und Dimensionsreduktion. Im Gegensatz zu dem Deep-Learning-Bestand, der in verschiedenen Frameworks wie pytorch und TensorFlow verfügbar ist, ist sklearn die bevorzugte Bibliothek für traditionelles maschinelles Lernen in Python, und es gibt keine weiteren Konkurrenten.

Offizielle Website:Der Hyperlink-Login ist sichtbar.
Quelle:Der Hyperlink-Login ist sichtbar.

Erweiterung für Scikit-learn

Als klassisches maschinelles Lern-Framework entwickelt sich scikit-learn seit mehr als zehn Jahren seit seiner Entstehung, doch seine Rechengeschwindigkeit wurde von den Nutzern stark kritisiert. Die Erweiterung für Scikit-learn ist ein kostenloser KI-Softwarebeschleuniger, der Ihnen helfen sollBestehender Scikit-learn-Code bietet 10- bis 100-mal schnellere Geschwindigkeitssteigerungen。 Softwarebeschleunigung wird durch Vektorbefehle, Speicheroptimierung für KI-Hardware, Threading und Optimierung erreicht.

Mit der Scikit-learn-Erweiterung können Sie:

  • Training und Schlussfolgerung sind 100-mal schneller mit derselben mathematischen Präzision
  • Profitieren Sie von Leistungsverbesserungen in verschiedenen CPU-Hardwarekonfigurationen, einschließlich GPU- und Multi-GPU-Konfigurationen
  • Integrieren Sie Erweiterungen in Ihre bestehenden Scikit-Learn-Anwendungen, ohne den Code zu ändern
  • Verwenden Sie weiterhin die Open-Source-API scikit-learn
  • Verwenden Sie ein paar Codezeilen oder aktivieren und deaktivieren Sie Erweiterungen in der Kommandozeile


Quelle:Der Hyperlink-Login ist sichtbar.
Dokumentation:Der Hyperlink-Login ist sichtbar.



Test

Zuerst verwenden Sie conda, um die Umgebung vorzubereiten, und installieren die notwendigen Pakete mit folgendem Befehl:

Der neue Python-Testcode ist wie folgt:

Der beschleunigte Code ist wie folgt:

Quellcode-Interpretation:

1.X, y = make_regression(n_samples=2000000, n_features=100, Rauschen=1, random_state=42)
make_regression ist eine Funktion in scikit-learn, die einen Datensatz für lineare Regressionsprobleme generiert.
n_samples=2000000: Gibt die Anzahl der Stichproben im generierten Datensatz von 2.000.000 an.
n_features=100: Spezifiziert, dass jede Stichprobe 100 Merkmale (d. h. Eingabevariablen) besitzt.
Rauschen=1: Die Standardabweichung beim Hinzufügen von Rauschen zum Zielwert y beträgt 1. Das bedeutet, dass der Zielwert einige zufällige Störungen aufweisen wird.
random_state=42: Setzen Sie den zufälligen Seed auf 42, wobei sichergestellt wird, dass die generierten Daten jedes Mal gleich sind (Wiederholbarkeit).
Ergebnisse: X ist ein NumPy-Array der Form (2000000, 100), das 2.000.000 Proben mit jeweils 100 Features repräsentiert; y ist ein eindimensionales Array von 2.000.000 Größen, das den Zielwert darstellt.

2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42)
train_test_split ist eine Funktion in scikit-learn, die den Datensatz in Trainings- und Testsätze aufteilt.
test_size=0,33: Gibt an, dass 33 % des Datensatzes dem Testsatz zugeordnet sind und die restlichen 67 % dem Trainingssatz.
random_state=42: Setze den zufälligen Seed auf 42 und stelle sicher, dass das Ergebnis der Datenaufteilung jedes Mal dasselbe ist, wenn du den Code ausführst.
: Verwenden Sie einen Unterstrich, um den Rückgabewert zu ignorieren. Hier interessiert uns nur der Trainingssatz (X_train und y_train) und ignorieren den Teil mit dem Testset.
Ergebnis:
X_train: Die Merkmalsmatrix des Trainingssets, geformt wie (1340000, 100) (etwa 67 % der Daten).
y_train: Der Zielwert des Trainingssatzes mit einer Länge von 1.340.000.

3. Modell = LineareRegression()
LinearRegression ist eine Klasse in scikit-learn, die lineare Regressionsmodelle implementiert.
Diese Codezeile erstellt eine Instanz eines linearen Regressionsmodells und weist dem Variablenmodell Werte zu.
Standardmäßig reguliert LinearRegression keine Daten (d. h. keine L1- oder L2-Regularisierung).

4. model.fit(X_train, y_train)
Fit ist eine Methode im scikit-learn-Modell, die zum Training des Modells verwendet wird.
Hier wird die Anpassungsmethode aufgerufen, um das lineare Regressionsmodell mit den Trainingsdaten X_train und dem Zielwert y_train anzupassen.
Das Modell berechnet eine optimale Menge von Gewichten (Koeffizienten) und Interzeps, um den Fehler zwischen den vorhergesagten und wahren Werten (meist kleinste Quadrate) zu minimieren.
Nach Abschluss des Trainings werden die Modellparameter in model.coef_ (das Gewicht des Merkmals) und model.intercept_ (Intercept) gespeichert.

Die Ausführungszeit ist wie folgt:



Man sieht, dass der Effekt sowohl ohne Beschleunigung als auch nach der Beschleunigung sehr offensichtlich ist,Es dauert etwa 16 Sekunden ohne Beschleunigung und nur 0,1 Sekunden nach der Beschleunigung!!!!




Vorhergehend:.NET/C# verwendet Tesseract zur OCR-Texterkennung für Bilder
Nächster:.NET/C# verwendet HtmlAgilityPack, um alle HTML-Tags zu entfernen
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com