機械学習、深層学習初心者です。
今、イメージの距離学習をしており、ラベルを、Keras 公式ドキュメントにもある [0, 1]から [0, 0.5, 1] の三段階にしたモデルを学習させようとしているのですが、tensorオブジェクトが評価関数の中でうまく扱えず困っています。
具体的には、3つのラベル(y_true)それぞれの正解値を、以下のように設定して評価したいのですが、どなたかアドバイスいただけないでしょうか:
y_true = 0; y_pred<=1/3 の時正解
y_true = 0.5; y_pred>1/3 and y_pred<=2/3 の時正解
y_true = 1; y_pred>2/3 の時正解
どうぞよろしくお願いいたします。
Python
1 2def accuracy(y_true, y_pred): 3 pred = y_pred 4 pred[y_pred<=1/3] = 0 5 pred[y_pred>1/3 and y_pred<=2/3] = 0.5 6 pred[y_pred>2/3] = 1 7 return K.constant(np.mean(pred == y_true)) 8 9# train 10rms = RMSprop() 11model.compile(loss=contrastive_loss, optimizer=rms, metrics=[accuracy]) 12model.fit([tr_pairs[:, 0], tr_pairs[:, 1]], tr_y, 13 batch_size=128, 14 epochs= 50, 15 validation_data=([te_pairs[:, 0], te_pairs[:, 1]], te_y)) 16 17TypeError: 'Tensor' object does not support item assignment
あなたの回答
tips
プレビュー