chainer.functions.where(condition, x, y)[source]

状態によって要素を選択する。

 

この関数は与えられた condition.によって要素の値を選択します。

condition 、xy は全て、同じshapeでなければなりません。

Parameters:
  • condition (Variable or numpy.ndarray or cupy.ndarray) – 条件を含む入力値。A (s1,s2,...,sN)(s1,s2,...,sN) -型の boolean 配列。boolean array配列のみ、ということは禁止されている。
  • x (Variable or numpy.ndarray or cupy.ndarray) –  condition が Trueの場合に選ばれる入力Variable。A (s1,s2,...,sN)(s1,s2,...,sN) -型の float 配列。
  • y (Variable or numpy.ndarray or cupy.ndarray) – Input variable chosen when condition が False. の場合に選ばれる入力Variable。A (s1,s2,...,sN)(s1,s2,...,sN) -型の float 配列。
Returns:

選ばれた値を含むVariable

Return type:

Variable

 

Example

 



>>> cond = np.array([[1, 0], [0, 1]], dtype=np.bool)
>>> cond
array([[ True, False], [False, True]], dtype=bool)
>>> x = np.array([[1, 2], [3, 4]], 'f')
>>> y = np.zeros((2, 2), 'f')
>>> F.where(cond, x, y).data
array([[ 1., 0.], [ 0., 4.]], dtype=float32)