问题描述
我用过骰子系数是通过语义分割神经网络中的2xintersection / union计算的。 y_true和y_pred的交集由tf.math.reduce_sum(y_pred * y_true)找到。请有人帮我弄清楚,两个张量的乘积如何等于交点?
解决方法
这是乘法的特殊情况,变成交集。
考虑
typedef struct coordinate{
float x[MAX_REC];
float y[MAX_REC];
char name[MAX_REC][IDENTIFIER+1];
}coor;
typedef struct perimeter_area{
float perimeter[MAX_REC];
float area[MAX_REC];
char name_s[IDENTIFIER];
}pa;
int main(){
.
.
.
insertion_sort(&f2,number_new_row);
.
.
.
}
void insertion_sort(pa *f2,int row){
float tmp_area;
float tmp_perimeter;
char tmp_name[IDENTIFIER];
int j;
for(int i=0; i<row; ++i){
tmp_area=f2->area[i];
strcpy(tmp_name,f2->name_s[i]);
j=i-1;
while(j>=0 && tmp_area<f2->area[j+1]){
f2->area[j+1]=f2->area[j];
j--;
}
f2->area[j+1]=tmp_area;
strcpy(f2->name_s[i],f2->name_s[j]);
strcpy(f2->name_s[j],tmp_name);
}
}
和
y_true = [
[0,1,0],[1,1]
]
然后y_pred = [
[0,1],1]
]
将是
y_true * y_pred
下一个res = [
[0,1]
给出tf.reduce_sum()
中所有数字的总和(即交集)。换句话说,res
和res
的位置均设为1时,元素将设置为1。
y_true