Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 1062|Répondre: 0

[Pourboires] Accélérez la bibliothèque d’apprentissage automatique scikit-learn avec sklearnex

[Copié le lien]
Publié le 27-04-2025 à 09:59:40 | | | |
Scikit-learn

SKTet, nom complet scikit-learn, est une bibliothèque d’apprentissage automatique en Python, construite sur la base de logiciels de science des données tels que numpy, scipy et matplotlib, couvrant presque tous les aspects de l’apprentissage automatique tels que les données d’échantillonnage, le prétraitement des données, la vérification des modèles, la sélection de caractéristiques, la classification, la régression, le regroupement et la réduction de dimensionnalité. Contrairement au stock d’apprentissage profond disponible dans divers frameworks tels que pytorch et TensorFlow, sklearn est la bibliothèque privilégiée pour l’apprentissage automatique traditionnel en python, et il n’y a pas d’autres concurrents.

Site officiel :La connexion hyperlientérée est visible.
Source:La connexion hyperlientérée est visible.

Extension pour Scikit-learn

En tant que cadre classique d’apprentissage automatique, scikit-learn se développe depuis plus de dix ans depuis sa création, mais sa vitesse de calcul a été largement critiquée par les utilisateurs. L’extension pour Scikit-learn est un accélérateur logiciel d’IA gratuit conçu pour vous aiderLe code Scikit-learn existant offre des accélérations 10 à 100 fois plus rapides。 L’accélération logicielle est réalisée via des instructions vectorielles, l’optimisation de la mémoire pour le matériel IA, le threading et l’optimisation.

Avec l’extension Scikit-learn, vous pouvez :

  • L’entraînement et l’inférence sont 100 fois plus rapides avec la même précision mathématique
  • Bénéficiez d’améliorations de performance dans différentes configurations matérielles de processeurs, y compris les configurations GPU et multi-GPU
  • Intégrez des extensions dans vos applications Scikit-learn existantes sans modifier le code
  • Continuez à utiliser l’API open source scikit-learn
  • Utilisez quelques lignes de code ou activez et désactivez les extensions en ligne de commande


Source:La connexion hyperlientérée est visible.
Documentation:La connexion hyperlientérée est visible.



Test

Tout d’abord, utilisez conda pour préparer l’environnement et installez les packages nécessaires avec la commande suivante :

Le nouveau code de test Python est le suivant :

Le code accéléré est le suivant :

Interprétation du code source :

1.X, y = make_regression(n_samples=2000000, n_features=100, bruit=1, random_state=42)
make_regression est une fonction dans scikit-learn qui génère un jeu de données pour les problèmes de régression linéaire.
n_samples=2000000 : Spécifie le nombre d’échantillons dans le jeu de données généré de 2 000 000.
n_features=100 : Précise que chaque échantillon possède 100 caractéristiques (c’est-à-dire des variables d’entrée).
bruit=1 : L’écart-type d’ajout de bruit sur la valeur cible y est 1. Cela signifie que la valeur cible aura des perturbations aléatoires.
random_state=42 : Définir la graine aléatoire à 42, en s’assurant que les données générées sont les mêmes à chaque exécution du code (répétabilité).
Résultats : X est un tableau NumPy de formes (2000000, 100) représentant 2 000 000 d’échantillons avec 100 caractéristiques chacun ; Y est un tableau unidimensionnel de 2 000 000 de longueur qui représente la valeur cible.

2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42)
train_test_split est une fonction dans scikit-learn qui divise le jeu de données en ensembles d’entraînement et de test.
test_size=0,33 : Indique que 33 % du jeu de données est alloué à l’ensemble de test et que les 67 % restants sont alloués à l’ensemble d’entraînement.
random_state=42 : Réglez la graine aléatoire à 42, en vous assurant que le résultat de la répartition des données soit le même à chaque exécution du code.
: Utilisez un soulignement pour ignorer la valeur de retour. Ici, nous ne nous intéressons qu’à la partie jeu d’entraînement (X_train et y_train) et ignorons la partie jeu de test.
Résultat:
X_train : La matrice de caractéristiques de l’ensemble d’entraînement, en forme de (1340000, 100) (environ 67 % des données).
y_train : La valeur cible de l’ensemble d’entraînement d’une longueur de 1 340 000.

3. modèle = LinearRegression()
LinearRegression est un cours de scikit-learn qui implémente des modèles de régression linéaire.
Cette ligne de code crée une instance d’un modèle de régression linéaire et attribue des valeurs au modèle de variables.
Par défaut, LinearRegression ne régularise pas les données (c’est-à-dire pas de régularisation L1 ou L2).

4. modèle.fit(X_train, y_train)
L’ajustement est une méthode du modèle scikit-learn utilisée pour entraîner le modèle.
Ici, la méthode d’ajustement est appelée pour ajuster le modèle de régression linéaire en utilisant les données de l’ensemble d’entraînement X_train et la valeur cible y_train.
Le modèle calcule un ensemble optimal de poids (coefficients) et d’interceptions afin de minimiser l’erreur entre les valeurs prédite et vraie (généralement les moindres carrés).
Une fois l’entraînement terminé, les paramètres du modèle sont stockés en model.coef_ (le poids de la caractéristique) et en model.intercept_ (intercept).

Le temps d’exécution est le suivant :



Vous pouvez voir que l’effet est très évident aussi bien sans accélération qu’après,Cela prend environ 16 secondes sans accélération et seulement 0,1 seconde après l’accélération!!!!




Précédent:.NET/C# utilise la reconnaissance de texte Tesseract vers OCR pour les images
Prochain:.NET/C# utilise HtmlAgilityPack pour supprimer toutes les balises HTML
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com