



مكتبة الشبكة العصبية المتوافقة مع Scikit-Learn تلتف Pytorch.
لرؤية المزيد من الأمثلة المعقدة ، انظر هنا.
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 )في خط أنابيب 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 )مع البحث عن الشبكة:
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 أيضًا العديد من الميزات المريحة ، من بين أمور أخرى:
يتطلب Skorch Python 3.9 أو أعلى.
أنت بحاجة إلى تثبيت كوندا العاملة. احصل على miniconda الصحيح لنظامك من هنا.
لتثبيت Skorch ، تحتاج إلى استخدام قناة Conda-Forge:
conda install -c conda-forge skorchنوصي باستخدام بيئة الظاهرية كوندا.
ملاحظة : لا تتم إدارة قناة كوندا من قبل محفوظات Skorch. مزيد من المعلومات متوفرة هنا.
للتثبيت مع PIP ، قم بتشغيل:
python -m pip install -U skorchمرة أخرى ، نوصي باستخدام بيئة افتراضية لهذا الغرض.
إذا كنت ترغب في استخدام أحدث الإضافات إلى Skorch أو Help Development ، فيجب عليك تثبيت Skorch من المصدر.
لتثبيت Skorch من المصدر باستخدام كوندا ، تابع على النحو التالي:
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 .إذا كنت تريد المساعدة في التطوير ، فتشغيل:
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 checksيمكنك ضبط إصدار Python على أي من إصدارات Python المدعومة.
بالنسبة لـ PIP ، اتبع هذه التعليمات بدلاً من ذلك:
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 .إذا كنت تريد المساعدة في التطوير ، فتشغيل:
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 checksلا يتم تغطية Pytorch من قبل التبعيات ، لأن إصدار Pytorch الذي تحتاجه يعتمد على نظام التشغيل وجهازك. للحصول على تعليمات التثبيت لـ Pytorch ، تفضل بزيارة موقع Pytorch. يدعم Skorch رسميًا إصدارات Pytorch البسيطة الأربعة الأخيرة ، والتي هي حاليًا:
ومع ذلك ، هذا لا يعني أن الإصدارات القديمة لا تعمل ، فقط لم يتم اختبارها. نظرًا لأن Skorch يعتمد في الغالب على الجزء المستقر من واجهة برمجة تطبيقات Pytorch ، يجب أن تعمل إصدارات Pytorch القديمة بشكل جيد.
بشكل عام ، يجب أن يعمل تشغيل هذا لتثبيت Pytorch:
# using conda:
conda install pytorch pytorch-cuda -c pytorch
# using pip
python -m pip install torch