finish inference result analysis
This commit is contained in:
parent
dce8cdb2ff
commit
ed980be104
8
package-lock.json
generated
8
package-lock.json
generated
@ -4582,7 +4582,7 @@
|
||||
},
|
||||
"echarts": {
|
||||
"version": "5.5.1",
|
||||
"resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz",
|
||||
"resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.1.tgz",
|
||||
"integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==",
|
||||
"requires": {
|
||||
"tslib": "2.3.0",
|
||||
@ -4591,7 +4591,7 @@
|
||||
"dependencies": {
|
||||
"tslib": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
|
||||
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
|
||||
}
|
||||
}
|
||||
@ -17581,7 +17581,7 @@
|
||||
},
|
||||
"zrender": {
|
||||
"version": "5.6.0",
|
||||
"resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz",
|
||||
"resolved": "https://registry.npmjs.org/zrender/-/zrender-5.6.0.tgz",
|
||||
"integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==",
|
||||
"requires": {
|
||||
"tslib": "2.3.0"
|
||||
@ -17589,7 +17589,7 @@
|
||||
"dependencies": {
|
||||
"tslib": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
|
||||
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
|
||||
}
|
||||
}
|
||||
|
@ -37,8 +37,8 @@
|
||||
<Option v-for="(value, key) in result" :value="key" :key="key" :label="key"><span>{{ key
|
||||
}}</span>
|
||||
<span style="float:right;color:#ccc">(SR=<span
|
||||
:style="{ color: getSuccessRateColor(result[key]['success_rate']) }">{{
|
||||
(result[key]["success_rate"] * 100).toFixed(2) }}%</span>)</span>
|
||||
:style="{ color: getSuccessRateColor(result[key]['pred_max_coverage_rate']) }">{{
|
||||
(result[key]["pred_max_coverage_rate"] * 100).toFixed(2) }}%</span>)</span>
|
||||
</Option>
|
||||
</Select>
|
||||
</Col>
|
||||
@ -49,8 +49,6 @@
|
||||
</Col>
|
||||
<Col span="14">
|
||||
|
||||
<span style="font-weight: bold;">Max Coverage Rate: <span style="color: green;">{{ result[sceneName]
|
||||
? (result[sceneName]["max_coverage_rate"] * 100).toFixed(2) : 0 }}%</span></span>
|
||||
<Divider type="vertical" style="height: 100%;" />
|
||||
<span style="font-weight: bold;">Pred Coverage Rate: <span style="color: green;">{{
|
||||
result[sceneName]
|
||||
@ -119,7 +117,7 @@ export default {
|
||||
if (!this.sceneName || !this.result[this.sceneName]) return;
|
||||
|
||||
const coverageRateSeq = this.result[this.sceneName]["coverage_rate_seq"];
|
||||
const maxCoverageRate = this.result[this.sceneName]["max_coverage_rate"];
|
||||
const maxCoverageRate = this.result[this.sceneName]["pred_max_coverage_rate"];
|
||||
const successRateSeq = coverageRateSeq.map(rate => (rate * 100 / maxCoverageRate).toFixed(2)); // 计算成功率序列
|
||||
|
||||
// 初始化折线图
|
||||
@ -192,8 +190,9 @@ export default {
|
||||
},
|
||||
drawCharts() {
|
||||
// 提取成功率数据
|
||||
const successRates = Object.values(this.result).map(item => item.success_rate);
|
||||
|
||||
console.log("result", this.result);
|
||||
const successRates = Object.values(this.result).map(item => item.pred_max_coverage_rate);
|
||||
|
||||
// 计算平均数
|
||||
const avgSuccessRate = parseFloat((successRates.reduce((sum, rate) => sum + rate, 0) / successRates.length).toFixed(4));
|
||||
console.log("avg", avgSuccessRate);
|
||||
@ -204,13 +203,17 @@ export default {
|
||||
const medianSuccessRate = parseFloat((sortedRates.length % 2 !== 0 ? sortedRates[mid] : ((sortedRates[mid - 1] + sortedRates[mid]) / 2)).toFixed(4));
|
||||
|
||||
// 定义区间
|
||||
const intervals = ['0-10%', '10-20%', '20-30%', '30-40%', '40-50%', '50-60%', '60-70%', '70-80%', '80-90%', '90-100%', '>=100%'];
|
||||
const intervals = ['0-10%', '10-20%', '20-30%', '30-40%', '40-50%', '50-60%', '60-70%', '70-80%', '80-90%', '90-99%', '99-100%'];
|
||||
const intervalCounts = new Array(intervals.length).fill(0);
|
||||
|
||||
// 将成功率分类到对应的区间
|
||||
successRates.forEach(rate => {
|
||||
let index = Math.min(Math.floor(rate * 10), 10); // 大于100%的情况归类为最后一项
|
||||
intervalCounts[index]++;
|
||||
if (rate >= 0.99) {
|
||||
intervalCounts[10]++; // 99-100%的区间
|
||||
} else {
|
||||
let index = Math.floor(rate * 10);
|
||||
intervalCounts[index]++;
|
||||
}
|
||||
});
|
||||
|
||||
// 生成条形图数据
|
||||
@ -337,7 +340,7 @@ export default {
|
||||
length: 30
|
||||
},
|
||||
label: {
|
||||
formatter: '{a|{a}}{abg|}\n{hr|}\n {b|{b}:}{c} {per|{d}%} ',
|
||||
formatter: '{a|{a}}{abg|}\n{hr|}\n {b|{b}:}{c} {per|{d}%} ',
|
||||
backgroundColor: '#F6F8FC',
|
||||
borderColor: '#8C8D8E',
|
||||
borderWidth: 1,
|
||||
|
@ -84,7 +84,7 @@
|
||||
<Row v-for="(item, index) in seqFrameData" :key="item['frame']" style="margin-left: 20px;">
|
||||
<p style="width: 10%;">[<span style="color: red;">{{ index }}</span>]</p>
|
||||
<p style="width: 30%;">frame id: <span style="color: green;">{{ item['frame_id'] }}</span></p>
|
||||
<p style="width: 40%;">coverage rate: <span style="color: blue;">{{ (item["data"]['coverage_rate']*100).toFixed(2) }}%</span></p>
|
||||
<p style="width: 40%;">coverage rate: <span style="color: blue;">{{ (item["data"]['coverage_rate']).toFixed(2) }}%</span></p>
|
||||
</Row>
|
||||
</Card>
|
||||
</Col>
|
||||
|
Loading…
x
Reference in New Issue
Block a user