



Une bibliothèque de réseaux neuronaux compatibles Scikit-Learn qui enveloppe Pytorch.
Pour voir des exemples plus élaborés, regardez ici.
import numpy as np
from sklearn . datasets import make_classification
from torch import nn
from skorch import NeuralNetClassifier
X , y = make_classification ( 1000 , 20 , n_informative = 10 , random_state = 0 )
X = X . astype ( np . float32 )
y = y . astype ( np . int64 )
class MyModule ( nn . Module ):
def __init__ ( self , num_units = 10 , nonlin = nn . ReLU ()):
super (). __init__ ()
self . dense0 = nn . Linear ( 20 , num_units )
self . nonlin = nonlin
self . dropout = nn . Dropout ( 0.5 )
self . dense1 = nn . Linear ( num_units , num_units )
self . output = nn . Linear ( num_units , 2 )
self . softmax = nn . Softmax ( dim = - 1 )
def forward ( self , X , ** kwargs ):
X = self . nonlin ( self . dense0 ( X ))
X = self . dropout ( X )
X = self . nonlin ( self . dense1 ( X ))
X = self . softmax ( self . output ( X ))
return X
net = NeuralNetClassifier (
MyModule ,
max_epochs = 10 ,
lr = 0.1 ,
# Shuffle training data on each epoch
iterator_train__shuffle = True ,
)
net . fit ( X , y )
y_proba = net . predict_proba ( X )Dans un pipeline Sklearn:
from sklearn . pipeline import Pipeline
from sklearn . preprocessing import StandardScaler
pipe = Pipeline ([
( 'scale' , StandardScaler ()),
( 'net' , net ),
])
pipe . fit ( X , y )
y_proba = pipe . predict_proba ( X )Avec recherche de grille:
from sklearn . model_selection import GridSearchCV
# deactivate skorch-internal train-valid split and verbose logging
net . set_params ( train_split = False , verbose = 0 )
params = {
'lr' : [ 0.01 , 0.02 ],
'max_epochs' : [ 10 , 20 ],
'module__num_units' : [ 10 , 20 ],
}
gs = GridSearchCV ( net , params , refit = False , cv = 3 , scoring = 'accuracy' , verbose = 2 )
gs . fit ( X , y )
print ( "best score: {:.3f}, best params: {}" . format ( gs . best_score_ , gs . best_params_ ))Skorch offre également de nombreuses fonctionnalités pratiques, entre autres:
Skorch nécessite Python 3,9 ou plus.
Vous avez besoin d'une installation de conda fonctionnelle. Obtenez la bonne miniconde pour votre système à partir d'ici.
Pour installer Skorch, vous devez utiliser le canal Conda-Forge:
conda install -c conda-forge skorchNous vous recommandons d'utiliser un environnement virtuel Conda.
Remarque : le canal conda n'est pas géré par les mainteneurs Skorch. Plus d'informations sont disponibles ici.
Pour installer avec PIP, exécutez:
python -m pip install -U skorchEncore une fois, nous vous recommandons d'utiliser un environnement virtuel pour cela.
Si vous souhaitez utiliser les ajouts les plus récents pour Skorch ou Aidez le développement, vous devez installer Skorch à partir de Source.
Pour installer Skorch à partir de la source à l'aide de conda, procédez comme suit:
git clone https://github.com/skorch-dev/skorch.git
cd skorch
conda create -n skorch-env python=3.10
conda activate skorch-env
conda install -c pytorch pytorch
python -m pip install -r requirements.txt
python -m pip install .Si vous voulez aider à développer, exécutez:
git clone https://github.com/skorch-dev/skorch.git
cd skorch
conda create -n skorch-env python=3.10
conda activate skorch-env
conda install -c pytorch pytorch
python -m pip install -r requirements.txt
python -m pip install -r requirements-dev.txt
python -m pip install -e .
py.test # unit tests
pylint skorch # static code checksVous pouvez ajuster la version Python à l'une des versions Python prises en charge.
Pour PIP, suivez ces instructions à la place:
git clone https://github.com/skorch-dev/skorch.git
cd skorch
# create and activate a virtual environment
python -m pip install -r requirements.txt
# install pytorch version for your system (see below)
python -m pip install .Si vous voulez aider à développer, exécutez:
git clone https://github.com/skorch-dev/skorch.git
cd skorch
# create and activate a virtual environment
python -m pip install -r requirements.txt
# install pytorch version for your system (see below)
python -m pip install -r requirements-dev.txt
python -m pip install -e .
py.test # unit tests
pylint skorch # static code checksPytorch n'est pas couvert par les dépendances, car la version Pytorch dont vous avez besoin dépend de votre système d'exploitation et de votre appareil. Pour les instructions d'installation pour Pytorch, visitez le site Web de Pytorch. Skorch soutient officiellement les quatre dernières versions mineures de Pytorch, qui sont actuellement:
Cependant, cela ne signifie pas que les versions plus anciennes ne fonctionnent pas, juste qu'elles ne sont pas testées. Étant donné que Skorch s'appuie principalement sur la partie stable de l'API Pytorch, les versions Pytorch plus anciennes devraient bien fonctionner.
En général, l'exécution de ceci pour installer Pytorch devrait fonctionner:
# using conda:
conda install pytorch pytorch-cuda -c pytorch
# using pip
python -m pip install torch