由于时间已经接近项目实训的中期检查时间,因此这一周的工作主要集中于初步实现“异步分布式联邦学习”平台的基础功能的构建。而我负责的部分——即前后端通讯部分代码量不算特别多,同时前端的进度压力相对来说比较大,因此我在这周除了搭建前后端通讯的功能以外,还顺便负责了一部分前端UI界面的搭设工作。以下将会汇报本周的工作内容,以及下一周需要完成的工作内容。
一、本周工作报告本周的工作内容依旧是集中于前后端通讯功能的搭设,以及前端部分UI的绘制。
1.前后端通讯功能 startTrain() {
if (this.modelClass == null) { // 必须先选择一个模型类型才能开始进行模型训练
ElMessage({
message: "请选择模型类型!",
type: "error",
showClose: true,
grouping: true,
});
}
else {
// 当前步骤为步骤1——“训练模型”
this.currentStep = 1;
// 开始训练模型,向后端发送模型参数信息
this.websocket.send(JSON.stringify({
model: this.modelClass,
epoch: this.maxEpoch,
accuracy: this.accGoal
}));
// // 更新训练轮数和精确度
// this.epoch++;
// this.acc = Math.round((this.acc + 0.1) * 100) / 100;
// // 保存当前训练轮数和精确度到tableData中
// this.tableData.push({
// epoch: this.epoch,
// accuracy: this.acc <= 1 ? this.acc : 1,
// });
// // 保存当前训练轮数和精确度到折线图数据列表中
// this.xdata.push(this.epoch);
// this.ydata.push(this.acc <= 1 ? this.acc : 1);
// console.log("xdata just push" + this.epoch);
// console.log("ydata just push" + this.acc);
// if (this.epoch >= this.maxEpoch) {
// ElMessage({
// message: "已训练指定轮数!",
// type: "success",
// duration: 0,
// showClose: true,
// grouping: true,
// });
// }
// if (this.acc >= this.accGoal) {
// this.currentStep = 2;
// ElMessage({
// message: "已达到目标准确度!",
// type: "success",
// duration: 0,
// showClose: true,
// grouping: true,
// });
// }
}
},
cancel() { // 重置数据
this.currentStep = 0;
this.modelClass = null;
this.maxEpoch = 10;
this.accGoal = 1;
this.epoch = 0;
this.acc = 0;
this.tableData = [];
this.xdata = [];
this.ydata = [];
this.stepNum = 0;
},
2.前端UI绘制
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)