chainer.links.
Bias
(axis=1, shape=None)[source]¶
学習可能なパラメータのブロードキャストされた要素(エレメント)ごとの総和。
bias()
関数の2番めの入力が、linkが持つ学習可能なバイアスパラメータb であることを除外して、要素ごとの総和を計算する。
Parameters: |
---|
詳細は bias()
もお読みください。
Variables: |
b (Variable)
– shape が与えられている場合、バイアスパラメータ。それ以外の場合は、属性を持たない。
|
---|
Methods
__call__
(*xs)[source]¶
ブロードキャストされた要素ごとの総和を適用する。
Parameters: | xs (list of Variables) – 入力変数 。このlinkが学習可能なバイアスパラメータを持っている場合、この入力変数の長さは1になり、それ以外では2になる。 |
---|
add_param
(name, shape=None, dtype=<type 'numpy.float32'>, initializer=None)[source]¶
linkにパラメータを登録する。
Parameter
オブジェクトを init_scope()
で直接Attributeに割り当ててください。
例えば、link.add_param('W', shape=(5, 3))
は下記のように書き換えられます。
with link.init_scope():
link.W = chainer.Parameter(None, (5, 3))
後者のほうが、IDEがattributeの型の追跡が容易です。
Parameters: |
---|
add_persistent
(name, value)[source]¶
永続値をlinkに登録する。
登録された値は保存され、シリアル化と逆シリアル化する際にロードされる。この値はこのリンクのattributeにセットされる。
Parameters: |
|
---|
addgrads
(link)[source]¶
与えられたlinkから勾配値を累積する。
このメソッドは、与えられたlinkの各勾配配列 を、このリンクの対応する勾配配列に加える。この累算は、ホストと異なるデバイス間でも行われる。
Parameters: | link (Link) – ソース link オブジェクト |
---|
copy
()[source]¶
link階層を新しいものにコピーする。
このリンクから派生するすべての階層がコピーされる。このコピーは基本的に浅いコピーで、例外はパラメータ変数も浅くコピーされているとき。つまり、コピー元とコピーされたlinkがデータと勾配配列を共有しているのに、コピーされたlinkのパラメータ変数がオリジナルのlinkと異なるという場合を除く。
コピーされたインスタンスはコピー元の親chainがあったとしても、そこには属さないので、link名はコピー先ではリセットされる。
Returns: | コピーされたlinkオブジェクト |
---|---|
Return type: | Link |
copyparams
(link)[source]¶
与えられた linkからすべてのパラメータをコピーする。
このmethodは改装中のすべてのパラメータのデータ配列をコピーする。 このコピーはホストとデバイス を超えて行われる。ただし、このmethodでは勾配配列はコピーしないことに注意。
Parameters: | link (Link) – コピー元の link オブジェクト. |
---|
disable_update
()[source]¶
リンク階層下のすべてのパラメータの更新ルールを無効にする。
この methodは 各パラメータ変数の更新ルールの enabled
フラグに False
を設定する。
enable_update
()[source]¶
リンク階層下のすべてのパラメータの更新ルールを有効にする。
この method は各パラメータ変数の更新ルールの enabled
フラグに True
を設定する。
init_scope
(*args, **kwds)[source]¶
初期化スコープを作成する。
このメソッドは、割当によってパラメータの登録を可能にするコンテクスト・マネージャ(かつ Chain
のリンク)を返す。 Parameter
オブジェクトは、このコンテクストマネージャ下のアトリビュートに割り当てることによって自動的に登録される。
Example
多くの場合、初期化メソッドでこのパラメータ登録をする。 init_scope
メソッドを用いて、 Parameter
オブジェクトを登録するためにリンクに割り当てることが簡単にできる。
class MyLink(chainer.Link):
def __init__(self):
super().__init__()
with self.init_scope():
self.W = chainer.Parameter(0, (10, 5))
self.b = chainer.Parameter(0, (5,))
links
(skipself=False)[source]¶
階層下のすべてのリンクのgeneratorを返す。
Parameters: |
skipself (bool) – True の場合、 generator はこのリンクをスキップし、最初の子リンクからスタートする。
|
---|---|
Returns: | すべてのリンクを生成するgenerator オブジェクト。 |
namedlinks
(skipself=False)[source]¶
階層下のすべてのパスとlinkのペアのgeneratorを返す。
Parameters: |
skipself (bool) – |
---|---|
Returns: | すべてのパスとlinkのペアを生成するgeneratorオブジェクト |
namedparams
(include_uninit=True)[source]¶
階層下のパスとパラメータのペアのgeneratorを返す。
Parameters: |
include_uninit (bool) – True の場合、初期化されていないパラメータも生成する。
|
---|---|
Returns: | すべてのパスと パラメータのペアを生成するgeneratorオブジェクト。 このパスはこのlinkの親戚。 |
params
(include_uninit=True)[source]¶
link階層下ですべてのパラメータのgeneratorを返す。
Parameters: |
include_uninit (bool) – True の場合、初期化されていないパラメータも生成する。
|
---|---|
Returns: |
すべてのパラメータを生成する generator オブジェクト。 |
register_persistent
(name)[source]¶
与えられた名前のattributeを永続値として登録する。
これは永続値として存在するattributeを登録する便利なmethodです。 name
がすでにパラメータとして登録されている場合、このmethodはそれをパラメータ名のリストから削除し、永続値として登録します。
Parameters: | name (str) – 登録するattribut名 |
---|
serialize
(serializer)[source]¶
このlinkオブジェクトをシリアル化する。
Parameters: | serializer (AbstractSerializer) – シリアル化オブジェクト |
---|
to_cpu
()[source]¶
パラメータ変数と 永続値をCPUにコピーする。
このメソッドは非登録attriibuteを操作しません。そのようなattributeをCPUにコピーする場合、このlink実装はこのメソッドをそのようにオーバーライドしなければなりません。
Returns: | self |
---|
to_gpu
(device=None)[source]¶
このメソッドは非登録attriibuteを操作しません。そのようなattributeをGPUにコピーする場合、このlink実装はこのメソッドをそのようにオーバーライドしなければなりません。
Parameters: | device – Target device specifier. If omitted, the current device is used. |
---|---|
Returns: | self |
zerograds
()[source]¶
すべての勾配配列をゼロで初期化する。
このメソッドは、cleargradsと同じ目的で用いることが可能だが、効率は落ちます。このメソッドは、後方互換性のために残されているものです。
cleargrads()
をご利用ください。
Attributes / 属性
update_enabled
¶
True
ならば、少なくとも1つのパラメータが更新ルールを有効にしている。
within_init_scope
¶
現在のコードが初期化スコープの内側であるならTrue
初期化スコープ詳細については、 init_scope()
もお読みください。