2017-04-21 10 views
1

私はpython "numpy.where()"コマンドに似たKerasコマンドを探しています。基本的に私の考えは、テンソルからインデックスを抽出することです。私は単純にf_j=(np.where(X==j))を実行することができます。indices(f_j)の値はjです。Keras:numpy.where()と似た特定の値のテンソルからインデックスを見つける方法

例:

X= [0 1 1 0 0 2 3 ] 

f_j=(np.where(X==1)) 

f_j= [1 2] 

は、私は、この目的のために使用できる任意の同様の機能がありますか?

テンソル内で配列検索を書き込もうとしました。あなたのバックエンドがtensorflowとき

from keras import backend as K 
value = 5 
wh = K.tf.where(K.tf.equal(x,value)) 

:あなたが好きなものを試してみてください

TypeError: Using a tf.Tensor as a Python bool is not allowed. Use if t is not None: instead of if t: to test if a tensor is defined, and use TensorFlow ops such as tf.cond to execute subgraphs conditioned on the value of a tensor.

def loss(y_true, y_pred: 

b=K.equal(y_true,0) 

b=K.cast(b,dtype='float32') 

for i in range(0,5): 

if K.equal(b[i],1): 

........ 

y_true = [0 1 1 0 0 2 3 ] 
+0

if条件が満たされたらどうしますか? – putonspectacles

+0

数字に等しいインデックスを探したい。例として:私の範囲で(0,7) = [] ためy_true = [0 1 1 0 0 2 3] y_true(I)== 1 a.append(I) 場合a = [1,2] ケラを使ってやりたいです。しかし、kerasブールテンソルはifコマンドをサポートしていません – Rithmax

答えて

2

として"if K.equal():"ラインを呼び出すときしかし、私はエラーで終わります。

希望があれば

関連する問題