Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 1062|Risposta: 0

[Consigli] Accelera la libreria di machine learning scikit-learn con sklearnex

[Copiato link]
Pubblicato il 27-04-2025 09:59:40 | | | |
Scikit-learn

SKTet, nome completo scikit-learn, è una libreria di machine learning in Python, costruita sulla base di pacchetti di data science come numpy, scipy e matplotlib, che copre quasi tutti gli aspetti del machine learning come dati campioni, preprocessing dati, verifica dei modelli, selezione delle caratteristiche, classificazione, regressione, clustering e riduzione della dimensionalità. A differenza dello stock di deep learning disponibile in vari framework come pytorch e TensorFlow, sklearn è la libreria preferita per il machine learning tradizionale in python, e non ci sono altri concorrenti.

Sito ufficiale:Il login del link ipertestuale è visibile.
Fonte:Il login del link ipertestuale è visibile.

Estensione per Scikit-learn

Come framework classico di machine learning, scikit-learn si sviluppa da oltre dieci anni dalla sua nascita, ma la sua velocità di calcolo è stata ampiamente criticata dagli utenti. L'estensione per Scikit-learn è un acceleratore software gratuito di intelligenza artificiale progettato per aiutartiIl codice Scikit-learn esistente offre accelerazioni da 10 a 100 volte più veloci。 L'accelerazione software si ottiene tramite istruzioni vettoriali, ottimizzazione della memoria per hardware AI, threading e ottimizzazione.

Con l'estensione Scikit-learn, puoi:

  • Addestramento e inferenza sono cento volte più veloci con la stessa precisione matematica
  • Beneficia di miglioramenti delle prestazioni su diverse configurazioni hardware CPU, incluse configurazioni GPU e multi-GPU
  • Integra le estensioni nelle tue applicazioni Scikit-learn esistenti senza modificare il codice
  • Continua a utilizzare l'API open source scikit-learn
  • Usa qualche riga di codice oppure abilita e disabilita le estensioni nella riga di comando


Fonte:Il login del link ipertestuale è visibile.
Documentazione:Il login del link ipertestuale è visibile.



Test

Per prima cosa, usa conda per preparare l'ambiente e installa i pacchetti necessari con il seguente comando:

Il nuovo codice di test Python è il seguente:

Il codice accelerato è il seguente:

Interpretazione del codice sorgente:

1.X, y = make_regression(n_samples=2000000, n_features=100, rumore=1, random_state=42)
make_regression è una funzione in scikit-learn che genera un dataset per problemi di regressione lineare.
n_samples=2000000: Specifica il numero di campioni nel dataset generato di 2.000.000.
n_features=100: Specifica che ogni campione ha 100 caratteristiche (cioè variabili di input).
rumore=1: La deviazione standard dell'aggiunta di rumore sul valore target y è 1. Ciò significa che il valore target avrà alcune perturbazioni casuali.
random_state=42: Impostare il seed casuale a 42, assicurandosi che i dati generati siano gli stessi ogni volta che il codice viene eseguito (ripetibilità).
Risultati: X è un array NumPy di forme (2000000, 100) che rappresenta 2.000.000 di campioni con 100 caratteristiche ciascuno; Y è un array unidimensionale di 2.000.000 di lunghezza che rappresenta il valore target.

2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42)
train_test_split è una funzione in scikit-learn che divide il dataset in set di addestramento e di test.
test_size=0,33: Indica che il 33% del dataset è allocato al set di test e il restante 67% è destinato all'insieme di addestramento.
random_state=42: Imposta il seed casuale a 42, assicurandoti che il risultato della divisione dei dati sia lo stesso ogni volta che esegui il codice.
: Usa un sottolineamento per ignorare il valore di restituzione. Qui ci interessa solo la parte del set di addestramento (X_train e y_train) e ignoriamo la parte del set di test.
Risultato:
X_train: La matrice di caratteristiche del set di addestramento, a forma di (1340000, 100) (circa il 67% dei dati).
y_train: Il valore target del set di addestramento con una lunghezza di 1.340.000.

3. modello = RegressionLineare()
LinearRegression è un corso in scikit-learn che implementa modelli di regressione lineare.
Questa linea di codice crea un'istanza di un modello di regressione lineare e assegna valori al modello variabile.
Per impostazione predefinita, LinearRegression non regolarizza i dati (cioè, nessuna regolarizzazione L1 o L2).

4. model.fit(X_train, y_train)
L'adattamento è un metodo nel modello scikit-learn utilizzato per addestrare il modello.
Qui il metodo di adattamento viene chiamato per adattare il modello di regressione lineare usando i dati dell'insieme di addestramento X_train e il valore target y_train.
Il modello calcola un insieme ottimale di pesi (coefficienti) e intercetti per minimizzare l'errore tra i valori previsti e veri (di solito minimi quadrati).
Una volta completato l'addestramento, i parametri del modello vengono memorizzati in model.coef_ (il peso della caratteristica) e model.intercept_ (intercetto).

Il tempo di esecuzione è il seguente:



Puoi vedere che l'effetto è molto evidente sia senza accelerazione che dopo l'accelerazione,Ci vogliono circa 16 secondi senza accelerazione e solo 0,1 secondi dopo l'accelerazione!!!!




Precedente:.NET/C# utilizza il riconoscimento del testo da Tesseract a OCR per le immagini
Prossimo:.NET/C# utilizza HtmlAgilityPack per rimuovere tutti i tag HTML
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com