栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

2022项目实训“异步分布式联邦学习”第十周报告

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2022项目实训“异步分布式联邦学习”第十周报告

五一一周由于一直在为了可能存在的中期检查做准备,因此新功能开发的进展十分缓慢,大部分精力全部集中于对项目中当前存在的bug进行修复。其中过程十分繁杂而啰嗦,且有相当一部分时间时在修复之前存在的bug的同时提出新的bug,做到后面大家都忘了要对bug修复的情况做出记录,因而干脆跳过了该周的周报撰写。直到下一周才开始重新记录,因此这篇报告看似是第十周报告,实则是5月14日才发布的了。这一点可以在项目的统一周报中看到,因为那一篇周报恰好是轮到我来写的。

接下来讲一下当周的工作总结,依旧是分为本周工作报告和之后的工作两部分来阐述。

一、本周工作报告 1. 前端UI绘制

由于之前几周为了准备中期检查,后续工作迟迟没有展开,因此这周的工作量相对较大,尤其是对于前端UI的绘制而言。当然,我主要是负责的是前后端通讯的部分,主体还是交由李东晓同学来制作的。目前我们的网站已经有了一个基本的框架,包括了顶层的“平台名称介绍”以及“当前用户展示”一栏,侧边栏和主界面,其中侧边栏又做出了一级导航和二级导航两层划分。不过首页等内容尚未填充完成,只有一些大致的内容,因而需要后续再继续补充。效果如下所示:

除此以外,我们还在本周对于上一周的框架进行了修正。尝试写了一些前后端交互的js脚本demo,等待后续数据库功能实现之后进行对接。

2. 本地python脚本训练的调用问题

在之前的小组讨论中,我提出了使用javascript脚本来直接调用本地的python脚本,这样很多问题就可以在前端直接实现。而直接通过js脚本实现的方法路径在于利用js脚本来调用cmd命令行,如此就可以非常直接地调用python脚本文件而不用走别的弯路导致运行效率的降低。同时,我还可以通过这一方法快速地传递参数给本地的脚本,由此也得以规避诸多变量以各种方式数据流转而产生错误难以检查的问题。

然而,在我上网查阅了大量资料之后发现,这一方法并不容易实现,这是因为常用到的方法是在方法体中创建ActiveXObject对象,让后通过这个对象去运行cmd命令行,其代码如下所示:

    function cmdTest() {
        let cmd = new ActiveXObject("WScript.Shell");
        cmd.run("cmd.exe /k start " +
            "python C://Users/test.py");
    }
    let btn = document.getElementById("cmdBtn")
    btn.addEventListener("click", cmdTest)

这一个想法固然很好,然而这其中有一些不可规避的麻烦——ActiveXObject对象只能通过已经濒临淘汰的IE浏览器使用,因为这是Windows系统的一大特性。即便是使用了其他能够兼容IE内核的浏览器,也没有办法实现这个效果,其中更核心的技术细节就不为我所知了,因而没有办法更近异步去解决这个问题。目前来说,我保留使用IE浏览器的“最终手段”,但还需要摸索更多的方法来处理这一问题。

二、下一周的工作

首先,是为平台添加”展示所有任务“的功能。

1.  展示所有任务的子界面——“当前任务”界面中,应当添加“返回”按钮,以使当前参与者可以在当前任务尚未开始正在准备时,不再参与当前任务。

2. 应当为任务的发布者在其“当前任务”界面中,添加“取消当前任务”功能。可以让他在当前任务尚未完成的时候,取消当前的训练任务。而一旦当前任务开始,即开始训练后,任务的发布者将不再能够在当前界面中取消当前任务,或是提示TA不能再中止任务了。

其次,下周我们的数据库中的”任务“表将添加一个列”任务状态“属性,以便于日后判断当前任务状态是等待、执行还是已完成,而该状态将会被前端展示出来。这一点我会在完成首要的功能之后,再根据与后端同学的对接情况补充进去。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/948030.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号