0
私はこのようになりますテンソルありますテンソルはその内容に基づいてどのように分けるのですか?
arr = tf.convert_to_tensor([[3, 1],
[6, 2],
[1, 1],
[3, 0],
[5, 1],
[1, 0],
[4, 2]])
をそして、私は2番目の要素は1に等しい場合にのみ、各セルの最初の要素の平均値を計算する必要があるので、この例では、私が選択することになりますセル[3, 1], [1, 1], [5, 1]
を計算し、average(3, 1, 5)=3
を計算します。 次に、0と2で終わるセルに対してこの操作を繰り返し、すべての平均を集計する必要があります。
これをニューラルネットワークの損失関数のコンポーネントとして書いていますので、この操作はTensorFlow関数のみを使用して行う必要があります。私はnumpyの中でこの問題を解決してきた、それは次のようになります。
means_sum = sum([np.mean(np.extract(arr.transpose()[1] == rank, arr.transpose()[0])) for rank in [0, 1, 2]])
しかし、私はTensorFlowでそれを行うための方法を見つけることができません。何か案は?