GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

dnouri

skorch – PytorchをラップするScikit-Learning互換のニューラルネットワークライブラリ

投稿日:

PytorchをラップするScikit-Learning互換のニューラルネットワークライブラリ


PyTorchを包む、シキット学習の互換性のあるニューラルネットワークライブラリ。

リソース

もっと精巧な例を見るには、 ここを見てください

import numpy as np
from sklearn.datasets import make_classification
import torch
from torch import nn
import torch.nn.functional as F

from skorch.net import NeuralNetClassifier


X, y = make_classification(1000, 20, n_informative=10, random_state=0)
X = X.astype(np.float32)


class MyModule(nn.Module):
    def __init__(self, num_units=10, nonlin=F.relu):
        super(MyModule, self).__init__()

        self.dense0 = nn.Linear(20, num_units)
        self.nonlin = nonlin
        self.dropout = nn.Dropout(0.5)
        self.dense1 = nn.Linear(num_units, 10)
        self.output = nn.Linear(10, 2)

    def forward(self, X, **kwargs):
        X = self.nonlin(self.dense0(X))
        X = self.dropout(X)
        X = F.relu(self.dense1(X))
        X = F.softmax(self.output(X), dim=-1)
        return X


net = NeuralNetClassifier(
    MyModule,
    max_epochs=10,
    lr=0.1,
)

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


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')

gs.fit(X, y)
print(gs.best_score_, gs.best_params_)

インストール

ピルインストール

pipでインストールするには、次のコマンドを実行します。

pip install -U skorch

これには仮想環境を使用することをお勧めします。

ソースから

最近必要とされた追加機能を使用して開発を支援したい場合は、ソースからskorchをインストールする必要があります。

コンダを使う

あなたは、コンドームのインストールが必要です。 ここからあなたのシステムに適したミニコンダを入手してください。

あなたがちょうどskorchを使用したい場合は、以下を使用してください:

git clone https://github.com/dnouri/skorch.git
cd skorch
conda env create
source activate skorch
# install pytorch version for your system (see below)
python setup.py install

開発を手助けしたい場合は、以下を実行してください。

git clone https://github.com/dnouri/skorch.git
cd skorch
conda env create
source activate skorch
# install pytorch version for your system (see below)
conda install --file requirements-dev.txt
python setup.py develop

py.test  # unit tests
pylint skorch  # static code checks

ピップを使って

あなたがちょうどskorchを使用したい場合は、以下を使用してください:

git clone https://github.com/dnouri/skorch.git
cd skorch
# create and activate a virtual environment
pip install -r requirements.txt
# install pytorch version for your system (see below)
python setup.py install

開発を手助けしたい場合は、以下を実行してください。

git clone https://github.com/dnouri/skorch.git
cd skorch
# create and activate a virtual environment
pip install -r requirements.txt
# install pytorch version for your system (see below)
pip install -r requirements-dev.txt
python setup.py develop

py.test  # unit tests
pylint skorch  # static code checks

PyTorch

あなたが必要とするPyTorchのバージョンはあなたのシステムに依存するので、PyTorchは依存関係の対象にはなりません。 PyTorchのインストール手順については、 PyTorchのWebサイトを参照してください

一般に、これはうまくいくはずです(CUDA 9を前提とします)。

# using conda:
conda install pytorch cuda90 -c pytorch
# using pip
pip install http://download.pytorch.org/whl/cu90/torch-0.3.0.post4-cp36-cp36m-linux_x86_64.whl

コミュニケーション







-dnouri
-, ,

執筆者: