renom_rg.api.regression

Copyright 2019, Grid.

This source code is licensed under the ReNom Subscription Agreement, version 1.0. ReNom Subscription Agreement Ver. 1.0 ( https://www.renom.jp/info/license/index.html )

class renom_rg.api.regression.gcnn. GraphCNN ( channel , feature_graph , neighbors=5 )

ベースクラス: renom.layers.function.conv2d.Conv2d

グラフコンボリューションのレイヤー

パラメータ:
  • channel ( int ) -- 出力チャンネル数
  • feature_graph ( array ) -- 畳み込みに使用するインデックス行列
  • neighbors ( int ) -- 畳み込みに使用する近傍数

Example

>>> import renom as rm
>>> import numpy as np
>>> from renom_rg.api.regression.gcnn import GraphCNN
>>> n, c, variables, neighbors = (2, 10, 20, 5)
>>> x = rm.Variable(np.random.rand(n, c, variables, neighbors))
>>> feature_graph = np.random.rand(0, variables-1, (variables, neighbors))
>>> model = GraphCNN(15, feature_graph)
>>> t = model(x)
>>> t.shape
(2, 15, 20, 1)

参照

Yotam Hechtlinger, Purvasha Chakravarti & Jining Qin
A Generalization of Convolutional Neural Networks to Graph-Structured Data

forward ( x )

順伝播を実行します。この関数は__call__メソッドにより呼ばれます。メソッドの利用例については以下を参照してください。

パラメータ: x ( ndarray ) -- ndarrayの入力データ
戻り値: 入力したndarrayに対する予測値
戻り値の型: (Node)

Example

>>> import renom as rm
>>> import numpy as np
>>> from renom_rg.api.regression.gcnn import GraphCNN
>>> n, c, variables, neighbors = (2, 10, 20, 5)
>>> x = rm.Variable(np.random.rand(n, c, variables, neighbors))
>>> feature_graph = np.random.rand(0, variables-1, (variables, neighbors))
>>> model = GraphCNN(15, feature_graph)
>>> t = model.forward(x)
>>> t.shape
(2, 15, 20, 1)
class renom_rg.api.regression.gcnn. GCNet ( feature_graph , num_target=1 , fc_unit=(100 , 50) , neighbors=5 , channels=(10 , 20 , 20) )

ベースクラス: renom.layers.function.parameterized.Model

GraphCNNを用いたサンプルネットワーク
このネットワークはGraphCNN3層、全結合層2層、そして出力層というネットワークになっています。
パラメータ:
  • feature_graph ( array ) -- 畳み込みに使用するインデックス行列
  • num_target ( int ) -- 全結合層のユニットサイズのタブル
  • fc_unit ( tuple ) -- 全結合層のユニットサイズのタブル
  • neighbors ( int ) -- 畳み込みに使用する近傍の数
  • channels ( tuple ) -- 畳み込みに使用するチャンネル数のタプル

Example

>>> import renom as rm
>>> import numpy as np
>>> from renom_rg.api.regression.gcnn import GCNet
>>> n, c, variables, neighbors = (2, 10, 20, 5)
>>> x = rm.Variable(np.random.rand(n, c, variables, neighbors))
>>> feature_graph = np.random.rand(0, variables-1, (variables, neighbors))
>>> model = GCNet(feature_graph)
>>> t = model(x)
>>> t.shape
(2, 1)
forward ( x )

順伝播を実行します。この関数は__call__メソッドにより呼ばれます。メソッドの利用例については以下を参照してください。

パラメータ: x ( ndarray ) -- ndarrayの入力データ
戻り値: 入力したndarrayに対する予測値
戻り値の型: (Node)

Example

>>> import renom as rm
>>> import numpy as np
>>> from renom_rg.api.regression.gcnn import GCNet
>>> n, c, variables, neighbors = (2, 10, 20, 5)
>>> x = rm.Variable(np.random.rand(n, c, variables, neighbors))
>>> feature_graph = np.random.rand(0, variables-1, (variables, neighbors))
>>> model = GCNet(feature_graph)
>>> t = model.forward(x)
>>> t.shape
(2, 1)
predict ( x )

予測を実行します。推論モードでforward関数を実行します。

パラメータ: x ( ndarray ) -- ndarrayの入力データ
戻り値: 入力したndarrayに対する予測値
戻り値の型: (Node)

Example

>>> import renom as rm
>>> import numpy as np
>>> from renom_rg.api.regression.gcnn import GCNet
>>> n, c, variables, neighbors = (2, 10, 20, 5)
>>> x = rm.Variable(np.random.rand(n, c, variables, neighbors))
>>> feature_graph = np.random.rand(0, variables-1, (variables, neighbors))
>>> model = GCNet(feature_graph)
>>> t = model.predict(x)
>>> t.shape
(2, 1)