



Una biblioteca de red neuronal compatible con learn-learn que envuelve Pytorch.
Para ver ejemplos más elaborados, mira aquí.
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 )En una tubería 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 )Con búsqueda de cuadrícula:
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 también proporciona muchas características convenientes, entre otras:
Skorch requiere Python 3.9 o superior.
Necesita una instalación de condena de trabajo. Obtenga la miniconda correcta para su sistema desde aquí.
Para instalar Skorch, debe usar el canal Conda-Forge:
conda install -c conda-forge skorchRecomendamos utilizar un entorno virtual de conda.
Nota : El canal Conda no es administrado por los mantenedores de Skorch. Aquí hay más información disponible.
Para instalar con PIP, ejecute:
python -m pip install -U skorchNuevamente, recomendamos usar un entorno virtual para esto.
Si desea utilizar las adiciones más recientes a Skorch o Help Development, debe instalar Skorch desde la fuente.
Para instalar Skorch desde la fuente usando Conda, continúe de la siguiente manera:
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 desea ayudar a desarrollar, ejecute:
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 checksPuede ajustar la versión de Python a cualquiera de las versiones de Python compatibles.
Para PIP, siga estas instrucciones en su lugar:
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 desea ayudar a desarrollar, ejecute:
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 no está cubierto por las dependencias, ya que la versión de Pytorch que necesita depende de su sistema operativo y dispositivo. Para obtener instrucciones de instalación para Pytorch, visite el sitio web de Pytorch. Skorch apoya oficialmente las últimas cuatro versiones menores de Pytorch, que actualmente son:
Sin embargo, eso no significa que las versiones más antiguas no funcionen, solo que no se prueban. Dado que Skorch se basa principalmente en la parte estable de la API de Pytorch, las versiones de Pytorch más antiguas deberían funcionar bien.
En general, ejecutar esto para instalar Pytorch debería funcionar:
# using conda:
conda install pytorch pytorch-cuda -c pytorch
# using pip
python -m pip install torch