Python Numpy和#x27的Tensorflow等价物;s add.at()方法
我正在计算一个多标签分类任务的混淆矩阵。代码如下所示:Python Numpy和#x27的Tensorflow等价物;s add.at()方法,python,numpy,tensorflow,Python,Numpy,Tensorflow,我正在计算一个多标签分类任务的混淆矩阵。代码如下所示: def compute_key_metrics(sess,X_data,y_data): confusion_matrix = np.zeros([n_classes,n_classes],np.int32) n_examples = X_data.shape[0] for offset in range(0,n_examples,batch_size): X_batch = X_data[offset:o
def compute_key_metrics(sess,X_data,y_data):
confusion_matrix = np.zeros([n_classes,n_classes],np.int32)
n_examples = X_data.shape[0]
for offset in range(0,n_examples,batch_size):
X_batch = X_data[offset:offset+batch_size]
y_batch = y_data[offset:offset+batch_size]
y_predicted = sess.run(tf.arg_max(logits,1),feed_dict={X:X_batch, y:y_batch})
is_prediction_correct = sess.run(correct_predictions,feed_dict={X:X_batch, y:y_batch})
np.add.at(confusion_matrix,[y_batch,y_predicted],is_prediction_correct.astype(np.int32))
return confusion_matrix
我使用numpy.add.at()来更新混淆矩阵的条目,而不显式地在预测的标签上循环。python实现相当慢。Tensorflow中有类似的方法吗 如果索引重复,并且缓冲的等价项错误,则需要添加.at。是的,它比缓冲版本慢,但仍然比显式Python级循环快。是的。你是对的。y_批次和y_预测通常包含重复指数。这就是我使用add.at()的原因。我想知道是否可以使用一些Tensorflow API来做类似的事情。我想知道本地Tensorflow版本是否会更快。numpy已经编译好了。