chainer.functions.linear(x, W, b=None)[source]

線形関数、もしくはアフィン変換。

 

引数を2つか3つ受け入れます。すなわち入力ミニバッチ x、荷重行列 W, そしてオプションとして バイアスベクトル b

 

\[Y = xW^\top + b.\]
を計算します。
Parameters:
  • x (Variable or numpy.ndarray or cupy.ndarray) –入力値。 \((s_B, s_1, s_2, ..., s_n)\)-型の float 配列。この最初の次元\((s_B)\) はミニバッチの次元になる。他の次元は、1次元に結合されたものとして扱われ、そのサイズは  \((s_1 * ... * s_n = N)\)でなければならない
  • W (Variable or numpy.ndarray or cupy.ndarray) –  shape が\((M, N)\)である荷重変数。ただし、\((N = s_1 * ... * s_n)\)
  • b (Variable or numpy.ndarray or cupy.ndarray) – shape が\((M,)\)であるバイアス変数。(オプション)。 
Returns:

出力値。 shape が \((s_B, M)\)であるfloat配列。

Return type:

Variable

See also

Linear

 

Example

 



>>> x = np.random.uniform(0, 1, (3, 4)).astype('f')
>>> W = np.random.uniform(0, 1, (5, 4)).astype('f')
>>> b = np.random.uniform(0, 1, (5,)).astype('f')
>>> y = F.linear(x, W, b)
>>> y.shape (3, 5)