Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Numpy和#x27的Tensorflow等价物;s add.at()方法_Python_Numpy_Tensorflow - Fatal编程技术网

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已经编译好了。