Chainer は多くの Link
実装を chainer.links
パッケージで提供しています。
chainer.functions
の名前空間に定義されています。また、 後方互換性を保つため、現在も名前空間に存在していますが、現在は chainer.links
パッケージ経由で利用することを強く推奨しています。
chainer.links.Bias |
ブロードキャストされた要素と学習パラメータの和 |
chainer.links.Bilinear |
テンソル積を行う双線形レイヤー |
chainer.links.ChildSumTreeLSTM | Child-Sum TreeLSTM ユニット |
chainer.links.Convolution2D |
Two-dimensional convolution layer. 2次元畳み込みレイヤー |
chainer.links.ConvolutionND |
N-dimensional convolution layer. N次元畳み込みレイヤー |
chainer.links.Deconvolution2D |
Two dimensional deconvolution function. 二次元逆畳み込み関数 |
chainer.links.DeconvolutionND |
N-dimensional deconvolution function. N次元の逆畳み込み関数 |
chainer.links.DepthwiseConvolution2D |
二次元の深さごとの畳み込みレイヤー |
chainer.links.DilatedConvolution2D |
二次元の拡張畳み込みレイヤー |
chainer.links.EmbedID |
ワンホット入力のための効果的な線形レイヤー |
chainer.links.GRU |
Stateful Gated Recurrent Unit function (ステートフルGRU) |
chainer.links.Highway |
ハイウェイ・モジュール |
chainer.links.Inception | GoogLeNetのInceptionモジュール |
chainer.links.InceptionBN |
バッチ正規化を伴うGoogLeNet のInceptionモジュール |
chainer.links.Linear |
線形レイヤー。Fully Connected Layerともいう。最終レイヤー |
chainer.links.LSTM | 全結合 LSTMレイヤー |
chainer.links.MLPConvolution2D |
NiN2次元 MLP 畳み込みレイヤー *NiN:ネットワーク・イン・ネットワーク |
chainer.links.NaryTreeLSTM | N項 TreeLSTM ユニット. |
chainer.links.NStepBiGRU |
シーケンスのための積層双方向GRU(Nステップ) |
chainer.links.NStepBiLSTM | シーケンスのための積層双方向LSTM |
chainer.links.NStepBiRNNReLU | シーケンスのための積層双方向 RNN (ReLU) |
chainer.links.NStepBiRNNTanh | シーケンスのための積層双方向RNN(tanh) |
chainer.links.NStepGRU | シーケンスのための積層一方向 GRU |
chainer.links.NStepLSTM | シーケンスのための積層一方向LSTM |
chainer.links.NStepRNNReLU | シーケンスのための積層一方向RNN(ReLU) |
chainer.links.NStepRNNTanh | シーケンスのための積層一方向RNN(tanh) |
chainer.links.Scale | ブロードキャストされた要素と学習パラメータの積 |
chainer.links.StatefulGRU | ステートフルGRU |
chainer.links.StatelessGRU | ステートレスGRU |
chainer.links.StatefulPeepholeLSTM | ステートフル・ピープホール接続(全結合)LSTM レイヤー |
chainer.links.StatelessLSTM |
ステートレス LSTM レイヤー |
chainer.links.BatchNormalization | 線形もしくは畳み込み関数のアウトプット上のバッチ正規化レイヤー[*元論文] |
chainer.links.LayerNormalization | 線形関数のアウトプット上のレイヤー正規化レイヤー |
chainer.links.BinaryHierarchicalSoftmax |
二分木を利用した階層型ソフトマックスレイヤー |
chainer.links.BlackOut | BlackOut 損失レイヤー |
chainer.links.CRF1d | 線形連鎖条件付き確率場損失レイヤー |
chainer.links.SimplifiedDropconnect | 単純化ドロップコネクト正則化による全結合レイヤー |
chainer.links.PReLU | LinkのParametric ReLU (PReLU)関数 |
chainer.links.Maxout | 全結合マックスアウトレイヤー |
chainer.links.NegativeSampling | 負の標本化損失関数 |
chainer.links.Classifier | シンプルな分類モデル |
事前学習済みモデルは主に、小さなデータ・セットで良いパフォーマンスを獲得するために利用されるか、セマンティックな特徴ベクトルの抽出に利用されます。 CaffeFunction
はcaffemodelとしてリリースされている事前学習済みモデルを自動的にロードしますが、下記のLinkモデルは、自動的にcaffemodelを変換し、簡単にセマンティックな特徴ベクトルを抽出するためのインタフェースを提供します。
例えば、 VGG16Layers
で特徴ベクトルを抽出します。これは、画像認識分野における共通の事前学習済みモデルで、下記の例のように、ユーザは数行のコードを書くだけでよいのです。
from chainer.links import VGG16Layers
from PIL
import Image
model = VGG16Layers()
img = Image.open("path/to/image.jpg")
feature = model.extract([img], layers=["fc7"])["fc7"]
fc7
は最終的な全結合層の前の層を示します。通常のLinksと異なり、これらのクラスは初期化の際に、事前学習済みモデルから、自動的に全てのパラメータをロードします。
chainer.links.VGG16Layers | VGGチームから提供されている事前学習済みの 16層CNN モデル |
chainer.links.model.vision.vgg.prepare | 指定した画像をVGGモデル用にnumpy arrayに変換する。 |
chainer.links.GoogLeNet | BVLCから提供されている事前学習済みGoogLeNet モデル |
chainer.links.model.vision.googlenet.prepare | 指定した画像をGoogLeNetモデル用にnumpy arrayに変換する |
chainer.links.model.vision.resnet.ResNetLayers | MSRAから提供されている事前学習済みCNNモデル |
chainer.links.ResNet50Layers | MSRAから提供されている事前学習済みの50層CNN モデル |
chainer.links.ResNet101Layers | MSRAから提供されている事前学習済みの101層CNN モデル |
chainer.links.ResNet152Layers | MSRAから提供されている5事前学習済みの152層CNN モデル |
chainer.links.model.vision.resnet.prepare | 画像をResNets 用のnumpy array に変換する |
chainer.links.TheanoFunction | Theano の関数ラッパー |
chainer.links.caffe.CaffeFunction | Caffeのモデルファイルに基づくCaffe エミュレータ |