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 ) -- 畳み込みに使用する近傍数

サンプル

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

サンプル

>>> 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 ) -- 畳み込みに使用するチャンネル数のタプル

サンプル

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

サンプル

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

サンプル

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