g o k lab 的 code quality 功能是基于开源的 code climate 工序实现的,它能够分析您的原代码,输出代码质量分析报告。我们看一下 g o k lab 的这个基础版,也就社区版与专业版、旗舰版在这个功能上的差异。 刚才我们提到在流水线、和平请求等地方可以查看到代码质量分析报告。我们首先看一下和平请求,在盖览页面和平请求小部件,他可以展示最新发现的这个代码质量问题。 比如说我这里他发现了这个三个问题,第一个呢,啊,有未使用的参数。第二个问题呢,是啊,建议使用 log 来代替 system 点 out。 第三个呢,他发现了过多的这个 参数,建议是四个参数,这里呢有五个参数,这里发现了三个这个代码质量问题。在和平请求小部件上,我们切换到这个和平请求的这个变更页面, 在变更页面啊,有两个这个橙色三角形表示相关的这个代码行呢,发现了代码质量问题,我们点击这个橙色三角形就可以看到代码质量详情。比如说这一行,他发现两个代码质量问题,分别是有未使用的这个参数啊。另外一个问题呢,是参数过多, 这里有五个参数,建议呢是四个。再点击这个橙色三角形,这行,他发现的主要代码质量问题呢,是啊,建议用 logo 来代替 system 点 out, system 点 out 呢,输出啊,这个信息并不是推荐的这个方式 啊,这是在合并请求的两个地方呢,可以查看到代码质量分析报告。同时呢,我们在流水线的这个右上方代码质量选项卡上也可以查看到代码质量这个分析报告。第三个地方呢,是在新版本的这个分析 crcd 分析的页面呢,也可以查看到代码质量分析的这个盖栏,那这里发现了五个违规选项,点击完整报告,就可以看到相关流水线所扫描到的这个所有的这个代码质量问题。 如果我们的 runner 已经支持特权模式和 docking doc, 那么只需要在流水线配置文件中包含 code quality 这个模板文件,就可以在流水线中启用代码质量功能我们看一下,详 记得这个启用的说明文档。怎样启用这个 runner 的这个 talking dock 呢? 可以打开我们官方的文档啊,启用了 code code 之后,您的流水线中就会有一个 code code 作业啊,负责代码质量分析并生成代码质量分析报告啊,通常是节省格式的。 我们刚才介绍过 cold quality 是基于开源的 cold climate 工具来实现的, 所以 code quality 是可以使用 code climate 它的分析插件了。怎么样使用插件呢?首先我们需要创建一个文件,也就是这个点, code climate 压膜这个文件,在这这个文件中呢,输入这个 code climate 相关插件,看一下我的这个演示 项目已经定义了这个插件,是在这个文件中点扣着卡拉米特亚某。我使用了这么多插件,包括所有的加法,还包括 p m, d, e s lint 和 c s s lint 这几个插件。刚才介绍过 j o k lab 代码质量分析报告会展示在 j o k lab ui 界面上, 如果您有自己的这个代码质量的分析工具,也想让他们展示在修 glub ui 上啊,可以按照我们官方文档的这样配置。 首先呢,您的这个代码质量分析工具呢,输出的报告要符合这样的格式,之后呢,要配置这个 artifacts report 啊,设置为 code quantity 这样的形式。这样的话呢,您的工具生成了这个代码质量分析报告,也可以展示在汽油 glove 啊这个优化 界面上,包括啊流水线,包括这个和平进球 合并进球。第一个常见问题呢是更改 code quality 插件配置无效, 我们需要了解 codequality 它的插件配置文件呢,是点扣的 climate 点压模,而不是点 code quality 点压模,这点是需要引起注意的。第二个常见问题呢是和平请求中啊,没有显示出 codequality 报告啊,即使 在啊缘分之中检测出了代码质量问题,但是在和平显出中有可能没有显示这个扣的框定报告,这是怎么回事呢?我们需要了解啊, get up 合并显出中显示的这个扣框的报告是圆分之相对目标分之新发现的这个代码质量。问, 如果您的原您的目标分制啊,之前没有执行过 cold policy, 就没有什么可比较的内容,或者把您的缘分制相对目标目标分制没有发现新的代码质量问题,也不会显示这个报告,这点需要进行注意。
粉丝61获赞398

土豆老师, gethub 和 get 内部有什么区别呀?呃, gethub 合法的,是全球最大的面向开源及私有软件项目的一个托管名卡,那是可以免费注册,并且呢也可以有几个免费托管开元的一个代码。那 gethab 的话呢,就是 gethub 是类似的,也是属于一个 b 灯方机 get 开大的一个产品。 不同的是,呃, git up 的话呢,是可以附属在自己的一个仪器上面,代码数据都是掌握在自己手中,适合公司内部一个团队的开发。

你有过这种经历吗?同事写了一堆死山代码让你来 review, 你 打开一看,血压瞬间飙升,这写的都是啥呀?变量名叫 abc, 代码嵌套五六层,一个函数上千行, 这种代码 review 起来简直就是浪费生命,但是不 review 吧,这代码要是出了事,你可要跟着背过。今天分享一个超级好用的 m c p 工具, 只需要丢给他一个 gitlab 链接,他就能自动做代码 review, 找出欠套过深、安全漏洞、坏味道代码等问题,并且评论到 gitlab 网页上,整个过程全自动。 好的话不多说,我们直接演示。我这里先准备好了一个反面教材,这是一个漏洞百出的代码,比如 intag, 比较要用 equals, 这里用了等号,比如方法参数过多,这里方法有七个参数。这里我提交一个 m r, 把链接丢给他,让他来做 code review, 然后它就会自动获取 mr 的 详情,包括详细的代码变更,然后根据提示词来做 code review。 做完 code review, 它会自动评论到 getlive 网页上,可以看到刚才我们提到的问题,它都检测出来,而且做了评论。比如这里的方法参数过多,而且它还给了详细的修复方案。用这个 mcp 来做代码 review, 非常丝滑效率。拉满 这个 m c p 的 地址我放到了评论区,有需要的自取。有了这个 m c p 以后,这种脏活累活都可以交给 ai 去干。你们还见过哪些让你血压飙升的代码评论区吐槽一下。

今天我要教大家如何使用给哈来上传你做好的网站。首先呢我们进入 google 打给哈,然后登录进去这里他需要你登录,然后可以用你的酷狗账号去登录这里我本身有登录,所以我直接点进入, 进入之后就是这个界面,我们首先我们第一件事,我们是要准备好我们已经做好的网站,我这里就准备了一个旅行的网站,我们 要把它部署到网络上面,让全世界的人都可以看到。我们要点这个 new report, 然后这里要设置一个名,记住那个 get 的 那个后缀名一定要是 正前面这三位,这几位是你的网页名,一定要有,给哈多 i o。 来,我们现在示范一下,我的这个网页是关于旅行的啊,看一下川的英文,忘了怎么串 r a v e 掉了个 r, 这个这里显示这个网域名是可以使用的。然后我们 q r u q r 进去,然后 我们要 q r 进去之后我们点这个阿喽阿喽 file, 我 们阿喽我们准备好的那个网站, 就直接把他拖拽进去,拖拽进去之后等他上传,这里稍等两分钟。好,这里看到我们上传的网站,这就是已经做好的 h t l 的 网站,这里一定要给他一个名字,这个是我的第一个档案,那我就写 v 一, 我之前有做三个答案,那这个写 v 四, v 四好吗?确定,确定之后,这里就可以看到我们上传的网站, 我们再按这个设置。设置之后,这里有一个佩奇,我们点击这个佩奇。好,这个佩奇,这里我们要点这个全部 safe。 好, 这里要等两秒钟之后,我们再点一下这个佩奇,那你要稍等一下,因为 他显示网站出来可能大概需要几分钟的时间,这里也 safe 多一次,其实可以直接点这个, 第一个就好 save, save 它,它在 low in, 等多一下 low in 之后,然后再点多一次 pitch, 等它刷新一下,好,有时候显示不出来,把这里给它 刷新一下,这里就出现了我们刚刚上传的网站,这个就是你的网站,这样点一下进去,为什么是四零四?原因在这里你要打上你的网站的那个文件夹的名,我刚刚那个是 char a v e l, 然后他的主页名我忘记了我的网站主页名,所以我要进去看看 主页名,打开我的网站主页名这个直接把它复制,然后贴在这里加个 l, 好, 这样就是显示出来了我们刚刚刚刚上传的网站,看 是不是超级简单,我觉得这个盖是超的,是超级好用,这样你就得到了一个免费的域名和一个免费的服务器,看 超级顺利的。这是我之前的功课,之前学前端的功课,所以给大家看一下,就是这样子,大概两分钟就可以上传到你的,就可以把你的网页部署到网站上面,全世界都可以看到,就是这样。

大家好,我是浮沉若梦,上一期已经给大家讲解了如何将 gitlab 上的这个私钥公钥部署到 git 意义上,让我们实现对 git 意义上项目进行的无密码的操作,对吧?我们也给大家做了演示如何去生成一个 configure 文件来帮助大家去解决。 嗯,部署了公告之后也无法克隆 get 一 以上项目的这个问题,是吧?主要无法克隆的原因是他没有找到指定的私钥,然后导致我们没法访问,我们只是在 control 里面配置到这个项目这个 get 一 的这个私钥文件的位置,他就可以正常访问。好,然后我们接着进行下面的操作 再讲。主要给大家讲啥呢?还是刚才之前说的这个宗旨,将 gitlab 上的 gitlab 自动将代码提交到 gitlab 上。明白了,这是我们的宗旨,我们刚才只做了一步,就是我们那个视频只做了一步,就是在 gitlab 上部署了这个公钥,实现了 gitlab 上的服务器直接去拿去 gitlab 上的代码。下面的话,这一步我们要继续。 为什么有这句话哈?这句话其实他不在这个 gitlab 文件里啊,这句话其实他不在这个 code 文件里,他其实是另外的一句话,为什么有这句话呢?大家可以看见这个秘钥的这个,这个是要的格式啊,这个是要的格式,很明显就不是用这个命令直接生成的, 明白了没有?不是用这个命令直接生成的,它就会有权限。问题就是我们把 windows 里面的我们 windows 上的密钥复制到 windows 上也可以用,但是你用的时候就会出问题,因为啥?因为你这个密钥的这个权限不是六百,大家如果遇到了,如果有自己的 公司要,然后没有用这个命令直接生成,那你就可能遇到这个问题,你就把这个命令复制下去,执行一下,把它的权限给它修改一下,变成六零零,它就能够正常的去拉进代码,但是大部分人是不需要的哈,就是你在准备这个 ic 密钥,通过命令生成它是不需要的。 好,我们现在要配置啥?现在公司要访问已经没有问题了,就是我现在这个,呃,这个,这个 gitlab 上的这个服务器直接去提交我们代码到 git 意义上是没有问题的,因为我们已经有需要了,但是它本身就是这个 gitlab。 如何去实现自动提交? 如何去实现自动提交,对不对?他如何去实现自动提交? github 如何实现自动提交?我这个项目里面的这个代码,他如何能跑到这个 github 上?我不能每次我都去敲命令吧?都去敲,都去手动的执行 github 酷奇,对不对?那多费劲?所以我们要用 github 里面的这个 csd, 是 不是我们要用它这里面的 csd 的 这个功能?是不是我们要用它这个 csd 的 功能, 明白了吧? cicd 这是个啥呢?这是自动部署嘛? cicd 持续集成,持续发布,对不对?我们就用这个 cicd, 你 不需要知道它是啥,因为配置完了之后,你就按站长的这个操作,你只需要用梯子词去生成项目,其他的这都自动化完成的。明白了,你就按站长的操作进行操作就完了。 好了,我们接着来搞一下,首先我们要搞一个这个跟 ipad 的, ipad 的, ipad 的是干啥的?就执行器嘛,就相当于你到时候持续集成就 ipad, 它要用这个执行器。还还是那句话,你到时候持续集成就 ipad 的 操作就完了,这个环境是一定要配的,配好了之后直接用。懂了, 我们打开这个管理界面就是我们自己的哈,这是自己的 github 的 服务器,然后我们把二维写在后面,就进入管理页面。好,我们进入我们的管理页面,我们进入管理页面干啥呢? 进入管理页面要获取这个这个注册 token, 为什么要注册 token? 因为你在安装这个 github 的 时候就需要一个 token, 明白了哈,这是你自己的 github 的 服务器的地址,对不对?然后有一个 token, 这两个一搞定,把代码全部一敲就完事了,明白了吧?所以这一节的话,就大家找一下这个注册 token 就 完事了。 怎么走?我们把这个打开看一下,是不是在这个管理区域里面有一个 c i c d 有 个 round, 对 吧? c i c d round, 哎,大家看我这边是不是已经注册了一个在线的这个 round 怎么看哈,其实就这嘛,这不是有个在线吗?空闲是不是? ok, 有 个 round, 所以 我不给大家创建 round 了,大家自己创建。我带大家找的就是这个关键的这个参数,然后给大家分析一下这套命令到底干啥,好吧, 这个参数在在这个位置哈,我这里面就点这个,三个点就可以看见注册硬牌了。复制它是不是都硬牌都被复制到这个剪切板上,你直接复制这样命令时候把这个命令这个注册头肯换成你的就可以了,明白了没有?下面我们开始安装,我们找到我们这个 注册头肯之后呢,我们就可以去按照这个指令进行了。第一步就是要执行下载一个 gitlabr 的 一个脚本文件,然后执行它,你不需要知道它干什么,你只需要按这个执行就完了。 第二条命令就是去安装这个 gitlabr 的 开启自启,就是每次服务启动的时候,它也启动了,然后它就可以启动了。 你这下面这一步是注册章的,注册的话直接敲这个指令就行了,你唯一要改的就是这个地址加这个 jason token, 把这个 token 改成你自己的就可以了。但是你还有个地方特别要注意,就是这个 tiger niece, 你 只需要知道这个标签是你将来使用这个 round 的 这个这个什么来的这个标识知道吧?你要用这个 round, 你 就写这个标签的名字, 他就可以用了。明白了,下面就比较简单了,当你前面都敲完了之后,你直接敲这些命令,把下面这三条、四条命令全部敲一遍搞定,知道不? 这里面有个什么需要注意一点,我们看见这个私钥了没?要换成你自己的那个私钥,懂了不?就是你上局上一个视频生成的私钥,你自己把这个地方换成你自己的私钥, 其他的都不用动,其他的都不用动。那么这样的话,我们这个 get runner 这个环境都配的好了, getlab 的 这个 runner 的 环境我们就配的好了。配的好了之后,我们就可以进行下阶段工作了,这就是我们的环境准备哈,环境准备就准备一个装的知道不,准备一个装的,然后准备一个 s h 的 密钥, 这期就到这里带大家如何去配置 gitlab 的 round, 下一期我们将给大家讲解如何将 gitlab 自动提交的代码自动提交到 gitlab 上,这样的话就实现了我们自动的这个执行这个上线的过程,执行上线的这个步数,明白了吧,就把它先推到 gitlab 仓库里面去。好,这个视频就到这里,感谢大家的收看,希望大家点个关注加收藏。如果你需要这些子 指令文档,都在这个求赞上输入这个 gitlab, 他 就会给你返回这两个文档的地址,你先看第一篇文章的地址就可以了。 好,这些都是免费的哈,大家以后的资源都是免费的,包括当当以后讲的一些的项目,他们都是免费的,免费分享给大家,都在这个求赞,大家直接去取就可以了。每期视频我都会告诉大家这个给他卖不到这个关键词,我也会在爱奇艺的网上将这个关键词对应的 告诉大家,就是在爱奇艺的网上也会发一篇文章,然后会告诉哪一个关键词对应这个文章意思,大家也可以在求赞,大家一旦有了之后呢,以后就在这上面直接输就行了,就可以找到这个文章了。 好,感谢大家的收看,这一期就是告诉大家如何去配置这个 level 软件,希望大家能够学会它,然后认真的使用,因为我们后期会做很多很多的 ai 自动化项目,到时候站长都是一具体的事,全部搞定给大家看效果,直接上干货,但是这一前期的这个步数你必须得学会,你不学会到时候你只能看到我爽,明白了吧?好,拜拜,我们下期再见,谢谢大家。

大家好,欢迎来到扣定茶水间,今天给大家介绍的题目是基于优漏算法的仪表指真检测系统,这个项目呢是我们做好的一个成品项目,如果有定制开发需求的项目,我们也可以做。我们的主要技术站以业务范围包括 计算机视觉领域,支持 python 与 metlab 的 开发,主要承接的方向包括目标检测,图像分类与识别,图像分割增强以及深度学习算法的复现与改进。 好的,我们废话不多说,继续看我们这个项目。这套系统呢,是可以检测我们的医保盘中的纸质的位置,以及它的最小值,最大值,还有它的精准点的位置。 好的,让我们看一下我们的主界面,我们主界面呢分为三个区域,左侧区域呢是我们的功能按钮区域,可以加载不同的载体来进行检测,可以加载单张的图片检测,可以加载一段视频流检测,可以批量化的检测某个文件夹下的多张图片,还可以检测连接到电脑上的摄像头传过来的实时的视频流数据。 然后模型选择呢,是可以选择我们使用哪个模型来进行检测,我们这套代码呢,默认配置的是使用 u 十二来检测的,然后呢,我们代码中也是训练了四套模型,之后呢,我会给大家演示切换不同的模型来检测的这个效果。 然后呢,这个结果保存呢,是可以将我们检测的图片以及视频生成新的图片和视频保存下来,然后新的图片和视频中是叠加有我们检测的目标的信息的,然后在这个右下角这块有个结果导出呢,是可以将我们检测的目标信息的数据以表格的形式保存下来。 然后我们界面中间区域呢,上方有两个参数调节,一个知心度,一个焦点笔,就可以通过滑动来调节。然后下方有个检测耗时,是当年画面检测的目标用了多长时间,以及检测了多少个目标。然后这个中间这个语音播报呢, 是当我们检测图片视频以及摄像头的时候,当检测到目标的时候,它会进行一个预知的语音播报提醒。 界面中间这块呢,我们是做了一个启动页的动画,这块呢是用来展示我们加载的图片视频以及摄像头的实时的视频流。然后最下方这块是一个 table 列表,是用来展示我们检测的目标的详细的数据。 右侧区域这个类别统计呢,是可以统计当前画面中检测到每个类别分别检测多少个目标。然后这个类别过滤呢,是可以过滤我们想要检测的类别。然后在下方这块区域呢,是用来展示我们这个 tab 列表中的 item 的 数据,那我点击这个 item 的 时候,它的详细的数据会展展示到下方这块, 然后我们这个侧边栏呢,还可以点击收缩展开。好的,我们现在呢演示一下功能,我先选择一张图片 发现目标。好的,可以看到当前画面中是检测到了这个仪表盘的这个最小值,以及它的最大值,还有它的指向的位置以及它的追踪点。 然后呢这个可以这样子,就是我们因为知道它的最小值的这个坐标,它的每个位置的坐标呢,我们都是有的,可以通过这个呢我们可以预估这个 医保盘的这个读数,我们知道它的最小值,知道它最大值,然后呢根据它的这个指针的位置和机针短的这个位置,通过这个角度计算,可以算出这个预估这个医保的读数,这是也是一个应用场景。 对,然后呢它检测到这个完成之后呢它会进行了这个语音播报,然后这个语音播报呢是我们预制的一个语音文件,当检测到目标的时候,它会就播放这个语音文件,这个呢也可以进行调整,比如说如果说 把它调整为进行读数的一个播报,我们通过检测完成之后进行这个角度的计算,计算完成之后可以把它把这个计算结果可以播报出来,这个也是可以进行优化修改的。 然后呢可以看到这个每个机轮点的这个坐标位置都是有的。对这个检这个画面的这个检测耗时呢是三点二八秒,因为我们当前是第一次检测,第一次检测的时候需要先加载模型, 所以第一次时间都比较长,我们再选择一张图片看一下,发现目标,好的这个检测号是是零点零六秒,发现目标这个检测号是也是零点零六秒,发现目标,对,这个是零点零五秒,就是我们正常的话检测的时间都是在零点零五秒左右。 然后这个类别呢也是我们可以查看这个追踪点对它的最大值以及它最小值对称,对, 然后当我们点击这个 item 的 时候,可以看到在这个右下方它的数据也是在切换,这个右下方这个数据也是在切换,然后呢在这个画面中也是会显示出当前这个 item 的 这个位置, 对的,然后呢我们看一下这个知心度,我们这个知心度呢默认设置的是零点五,比如说我把它调到零点八, 然后呢我再选择一张图片看一下,发现目标,这个时候呢它就只能检测出这个三个目标,因为它这个另一个那个目标的检测的这个知心度呢是低于零点八的,所以就被过滤掉了,这就是这个知心度的调节,我们默认使用的都是零点五。 好的,我们现在再选择一个视频看一下,发现目标,发现目标好,这个语音播报,它一直在播报,我就把它先关闭掉,就看到它会检测,这个 基本上都是没什么没有问题的,这个仪表数据最大值,最小值就能点击它指定位置对它检测。完成之后呢我们点击这个结果保存, 然后呢保存会提示视频已保存,然后呢我再结果导出一下, 保存好,这个结果也导出了,然后我们看一下我们保存的这个数据, 可以看到这是我们的原视频,这是我们检测后的视频。 对,这个视频中呢是带有我们这个标注检测这个结果的标注信息的,对,然后呢这块也有这个它的数据的保存结果,看一下 这里面有,因为它这个呢是每一帧的都会去保存,所以又会有一些重复的数据,可以看到是一帧的,其实这些数据是重复的,它是一帧是画面去保存的,哎, 会把所有的数据会保存下来,这里面总共保存了应该有个四百多条数据,五百五百二十四,五百二十六条数据。对,好的,这就是这个图这个视频的保存, 然后呢我们再选择文件夹看一下。好的,它会依次检测文件夹中的每一张图片。 对,检测完成之后呢,我们再点击激活保存,我们这个时候需要新建一个文件夹。 好的选择文件夹保存,然后呢就会导出一下。 好的,这个时候我再看一下我们这个保存的这个图片,这是我们刚才检测这个原图是在这个位置,然后我们检测后的图片呢是在这个目录下可以看到这个每一张图片都会带有这个检测的标注信息的。对,然后呢这是它的保存的这个数据, 这块呢是把每一张图片的数据都保存了下来。对,这是一张图片呢,因为它一张图片基本上是有四个值,一个追踪点,一个指向一个最大值,一个最小值。对,每一张图片的数据都保存了下来, 所以这总共是十张图片,总共是四十条数据,这就是这个图片的保存。我们再看一下我们这个摄像头的功能,我现在呢我现在打开一下摄像头。 好的,我这个时候呢我打开一张图片, 这个检测的还是挺精准的,可以看一下啊,这是能检测到的,然后我换一张图片看,切换一下也是可以的, 稍微放大一点功能就好。 对,这就是这个摄像头的功能,我先点击关闭摄像头,这个呢就是我们这个界面所有的检测的功能和数据保存的功能,然后呢我们这个代码也实现了一个登录的功能,这个是我们登录的脚本,我直接点运行, 然后这个登录界面呢登录需要用户名密码以及验证码,这块呢也可以刷新验证码。然后呢我先注册一个账号,先选择一个头像, 然后这块输入用户名密码注册,注册成功登录一下, 点击进入。 好的,我们登录成功之后呢,在这个左上角有个个人中心按钮,点击个人中心有个人信息的展示,然后呢可以修改信息,修改他的密码,修改他的头像,我就不不演示了。然后呢点击注销,用户确定就会退出到我们登录界面,这个呢就是我们这个登录的功能。 然后我们这个代码呢也实现了一个不需要任何界面操作,可以通过脚本来检测图片视频以及摄像头的一个功能,这是我们检测图片的脚本。这里面呢有两个重要的参数配置,一个是这个模型的全中文文件路径,我们默认配置的都是优酷十二。然后呢这块呢是 呃这个检测的图片的路径,我们现在呢我们给他配置一张图片, 然后点击运行。 好的,可以看到啊,这是我们的原图,这是我们的检测后的这个结果图, 这里面呢是检测到一个最大值,一个直角的位置极准点,这是这个最小值呢是检测到两个,应该是这个零点七,有这个数据,就可以按照这个数据,如果计算这个角度的话,用这个值就可以,这就是这个图片的检测视频的话也是一样的,这是我们配置好的一个视频流,我直接点击运行, 它会依次地去检测视频中的每一帧,检测完了之后呢就自动退出了,然后摄像头也是一样的,我就不演示了。然后我们这套代码呢也实现了一个训练的脚本, 这个 round chain 就是 我们这个训练的脚本,这里面是默认是配置了四个要训练的模型,这个呢可以根据自己的需求进行更改。然后呢 下面这块呢是我们的训练轮次,我们默认呢每个模型都是要训练一百次以上,然后这个是每批次的图片处理数量,这个是根据自己电脑配置来决定的,如果电脑配置一般的话,把它改成八就可以。然后我点击运行,这是开始训练第一个模型, 这块是加载我们的数据集,这是我们的训练集。这套代码的训练集呢是八千三百八十张图片, 这块呢是我们的验证集,我们的验证集呢是四百一十五张图片,所以这套数据集呢总共是八千七百多张图片。因为这个训练的时间比较长,我就不演示了。然后我给大家看一下我们这个目录, 这个 trace, 这个目录下呢放的是我们的数据集,包括有测试集、训练集以及见证集。然后我们训练完成之后,输出的结果是在这个 runs 目录下,这里面是我们训练好的四个模型,我们打开可以看一下,这里面包括有这个 f 一 的参数,这是它的一个召回率和精准度的一个参数曲线。 对,然后呢还有这个横向矩阵,这个是它的一个横向矩阵,这是它的一个识别率,可以看到这是每一个类别的一个识别率这条斜线。对,然后呢还有这个训练过程中的一些标注图, 对,这就是我们这个输出的这个数据表,然后呢这个 wait 是 目录下呢?这里面有两个权重文件,这个 best 是 训练过程中数据最好的一个权重文件,我们使用这个模型的时候,使用这个 best 就 可以。 然后关于这个训练结果的详细的说明。我们之前有一条视频,叫一条视频讲清楚 yellow 训练结果的含义,大家可以去看一下那条视频,讲的非常详细。好的,这就是这套系统完整的功能演示和说明。

大家好,我是浮沉中风,前两讲已经给大家讲解了如何去配置一个 gitlab 的 环境,让它能够支撑我们将代码直接提交到 gitlab 上,对吧?第一步我们实现了一个什么?我们看一下这个文档啊,就是我们在求实站上找到的这两篇文档,我们打开第一篇,我们第一步干的就是第一篇文章的这个内容。首先我们准备了一个 s h 命令队,给 gitlab 上配置了这个公钥, 在给他意义上配置了这个公要,给他意义上配置了这个公要,给他意义上配置配置的这个公要,明白了吗?首先我们配置了这个公要,然后我们实现了怎么去给他意义上去拉取我们的项目,是不是我们能在给他意义上拉取项目,我们来推送上去? 呃,遇到一个问题,就是我们即使配置了这个公要,我们也没有将项目拉取下来,主要原因是他在这个虚拟机,就是在我们这个 getlab 的 这个虚拟机这个服务器上是没办法去自动找到这个项目,就写了一个 copy 文件,指定了这个配置之后无法拉取项目的问题。 紧接着我们配置了一个 gitlab 的 文档的环境,这个环境的话也比较简单,就是我们打开这个管理员的地址,然后找到这个注册命令的这个串,把这个串复制下来之后替换到这里面, 最后执行这一二三所有的这些子指令之后,这个我们这个 gitlab 跟 run 呢就安装好了,你不需要知道这个命令每一行到底干了什么事情,你只需要知道你有了这个 run 呢之后,你就可以配置 gitlab 自动推送代码到 git 一 上完事。那这个环节准备我们在前两章给大家做了讲解,也解释完了。接下来我们要干的事情就是 真正的实现从 git 一 上自动将代码推送到,哎,从 gitlab 上自动将代码推送到 git 一 上,明白了吧?现在我们已经可以用到第二篇文章,第一篇文章我们可以给它封掉,第二篇文章就是去真正的去提交代码了。 由于演示的问题的原因,我们首先已经创建过了这个 git 一 的仓库了,我们也没有初步化,但是在创建的时候,我也给大家额外强调,不要初步化,因为你要跟站长保持一致,你遇到的问题跟站长也就是一致的,那站长这套教程就能帮你解决,你要不一致,那不好意思,你可能遇到一些问题是站长没提到的,那你要自己解决 好。我们这个仓库已经搞定了,我们这个密钥也已经搞定了。生成密钥。对,我们已经生成了好,他让我啥在 gitlab 中添加 sh 私钥作为 csd 的 变量。哦,这是要让我添加私钥对吧?我们刚才配色的这个公钥是,还记得不?刚才配色的公钥是不是这个公钥就是这个 gitlab 杠 deploy, 杠 key 点 p u b, 就 这个公要,这个公要的话,我们如何去找他这个私要,把他的私要给他配置进去呢?还是一样的方法,其实我们把它给导出来就行。怎么导?我们直接拖吧,拖看拖了一双手,好,那他就过来了,这就是我们的私要文件啊,就我刚才下载的私要文件,有这个私要文件之后,我们是不是可以去配置我们的变量呢?对不对?这个变量,然后就完事。好,我们打开,我们给他来, 大家一定要按照视频一步步来啊,这样的话得到的结果才是最完美的,不会遇到其他的问题。首先我们复制这个试药的内容,然后放到塞品 c a c d 这里面去,就是我们要配置这个试药,这个试药怎么配?首先找到我们项目,我刚才已经创建了个项目,还记得不?第一期我们就把项目给创建了,叫 it test, it 求知网 test。 好, 我们找到这个 test, 我 们点进去就行了, 因为本机的这个虚拟机可能反应上面不是特别快哈,但是这不影响其实。呃,这时候我们找到设置,设置里面有个 csd, 看到没有?有个 csd, 嗯,找到 csd 之后,我们找到这个变量,这不有个变量, 变量一直往下拉,找到一个 csd 变量,然后添加好,可以添加了,默认就是变量,然后全部特别需要注意的就是这个可见的,添加一个可见的变量,明白了吧?一定要勾选可见的,不要问原因,原因就是你不选可见的,你就会遇到问题。然后我们添加一下这个 私要私要文件的名字在,呃,求赞上面这个这个文章的这个名字就行了,你要不要换名字?换名字回头还得改脚本,那你改脚本,你回头又费事知道不 见名,就这个描述也写这个吧。值就是我们私要的私要的值,私要的值就在这里,那站长就不给大家看了。好,站长把这个私要给他复制,然后粘贴在这个位置, ok, 我 们私要已经粘贴在这个位置。嗯,漂亮。我们点击添加 好,已成功添加变量,看到没有?已成功添加变量,这个变量已经添加了,是不是?而且我是在这个项目中添加的,看到没?爱奇艺求知网站 test 添加的这个私钥,我们都已经添加过了,添加完了之后我们如何来实现呢?我们在项目,我们现在要做项目呢, 我们在项目下创建这个文件,项目的根部下创建这个文件,它就能够实现自动步数了。啊,那这个怎么创建啊?首先我们找到我们最开始创建的这个项目,对不对?我们创建了项目 get 的 本地地址,是不是这个地址?是不是这个地址?那这个地址的话它就存在一个问题,什么问题呢?就是如何去拉出代码的问题, 我们如何去拉代码呢?现在有这个地址,然后我们想去拉取它的代码是不是也得配置?就是我们可以去拉取它代码,就像给它意义上你要去拉取它的代码,你是不是得?首先你得能够去拉取它的代码, 明白我意思吧?他得能够去拉取代码,那它如何配?它?其实跟那个一样的配法,就是要配置一个访问的公要。接下来我们要配置就是当前这个 windows 我 们的开发环境到这个 gitlab 上的这个公要的配置如何配置?我们点击我们的头像,找到编号设置, 然后有一个 s h case, 这是我之前配置的一些这公要,并不是我们现在这个公要啊。那如何配置呢?就是把本机的这个公要给它配置上去,本机的公要,本机的公要就是你这个 windows 的 公要,你 windows 的 公要就在 c 盘下的用户,然后我的密, 我的密下面有一个点 s h g, 然后找到这个公要,随便找一个,比如说我找一个这个就是我经常要用的这个。好,我们把它放在这里,然后把这公要配置上去啊, 添加新密钥,然后粘贴他自动填写了一些东西。哎,我发现这个地方已经配置过公要了,就是这个公要,看到没有就是这个公要,那我就不配置了,大家点击保存就可以了啊,最好把这个到期时间给他去掉,他这样的话就是从不过期。好,我们这个公要名称看跟下面这个一样的,所以这个公要已经配置过了,大家点击确定添加就可以了,我这个已经有,那我有了公要之后呢?我是不是就可以访问了呢?其实不然,你还得配置一个 就是 configure, configure 的 话就是之前大家看到的第一篇文章里面的那个 configure, 第一篇文章是不是有 configure 哎? configure 文件,然后我们是二两百,然后我指定的这个 c 要的位置,就这个位置,大家按这个一配置就搞定了,就把这个 configure 给它配置成这个样子,就加这么几句话就可以了,下面都不用管,直接加战狼选中的这几句话 就可以进行访问,然后去进行提交。好,我们既然已经配置了,然后我们也指定了 c 要,那么我们这个项目是不是就可以进行把它给拉下来,明白了吧?把它给拉下来, 拉下来,我们首先创建一个目录,用来做演示,我就叫 it 求知网杠零零一,对不对?我们把群这个工具打开,把这个项目拖进去,它自动打开了这个项目。是不是自动打开了这个项目,看到没有?自动打开了这个项目,自动打开了这个项目之后,我们应该怎么去告他呢? 比较简单哈,就是我现在要创建这么一个项目,首先我们要把它拉下来,但我肯定不会让自己去拉,让他看。说到普通一点,就是你去 拉取一下代码,仓库代码是吧?仓库代码比较简单,就是这句话,让他去拉取一下就行了,是不是已经拉下来了?大家可以看这个地方是不是有个 readme, 对 不对?啥也没有,就是一个我们之前创建的一个空的一个项目, gettable 的 项目他已经拉下来了,他的任务也已经完成了。那接下来我们要干的事情是什么? 是不是创建一个这样的文件?我们打开求证站上的这个,这个,这个什么东西呢?我们打开求证站上的这个第一篇、第二篇文章,第二篇文章里面最后给了一个综合新的文件,记得不?综合新的文件就是这个创建一个 gitlab c i 的 样文件,这个东西我们手动创建一下就可以了,因为这个东西, 呃,你让 ai 创建也行啊,就跟他说一下,然后把内容给他,那我们手动创建一下就行了,我们右键新建一个文件,把它粘贴进去。好,我把它粘贴进去。 嗯,下面着重给大家解析一下这个文件,这个文件的话其实没有太多的内容,为了上面这些东西大家都不需要知道它是干什么的,那通化配置,但是这个地方一定要知道 tags, 就 刚才我说的这个 runner 的 标签,我写了这个这个这个标签,那这标签在哪里看呢?我们可以看一下我们配置的 runners 啊? 好, runescape 在 哪个位置? runescape 是 在这个管理我的 mean 这个位置,知道吧? mean 这个位置有个 csd, 有 个 runrun, 里面你看这个 run 是 在线的,然后它有个标签,它标签是这个颜色的,看到没有?这个颜色有个 sendos, 有 个线,有个 display, display 的 话,我们这里用的标签有个线,有个 display, 它就能找到这个 run, 然后去执行我们的命令。明白了哈?下面这一个, 这个就是说当我们用 master 就是 master 或者 n 进行推送的时候,它才会进行一个同步,就有些时候我们不是有很多的分支,但是我们不想在开发环境的时候,我提交个代码,你也给我推送了,那肯定只有 master 我 合并的时候你才去推送,明白了吧?所以只有 master 才能触发我们这个同步,然后下面这些代码大家都不用管,唯一要管的是啥?是不是唯一要管的是那个这个地址,对不对?要换成你自己的地址,而我这里的话要换成这个项目地址, 项目地址怎么换?就我刚才把这个项目地址抄下来了,复制,然后把这个地址换成它, ok, 是 不是这就完事了?为什么我刚才让大家不要改那个变量名哈,因为这里有个变量名的引流,你如果改了,这里也要改,听明白了没?现在我们这个项目就已经把这个文件给他建好了,建好了之后我如果现在让他去推送,他按到这个格式,他会就是,嗯,他会自己去注册,然后进行推送的,直接告诉他,我修改了代码,你提交一下 get 好, 我就加了这么一个文件啊,给他来个 bug, 就 在我们这个求知站的这个文档,求知站上面的这个文档,明白了,就求知站上面的这个第二篇文档啊, 第二篇文章就这个内容,但是这个复制下来的格式好像有点问题啊,大家自己想办法这个格式给它调。对啊,看我们这个文件它已经给推送过来了,平时是任务也完成了,然后文件也推送过来,那么我们就要看一下我们这个到底行不行 流水线,打开该下面这个流水线,哎,大家可以看这个已通过,在这这个流水线啊,就是我们注册这个东西,怎么看呢?作业是不是有一个同步到 get 一, 是不是并且已经通过了,就相当于已经执行成功了, 这是我们的流水线的这个格式。我们有了这个之后,我只是在这里做了一个提交,它就给我推送到这个仓库里面了,这仓库刚才我刷新给大家看了,现在可以看一下它是不是还是空的, 是不是有内容呢?并且是什么内容,并且是这两个文件,看到没有?这两个文件一个就是本地的这个仓库里面的东西已经被推送到 gitlab 上,我们就完成了从 gitlab 上将项目自动的推送到 gitlab 上,并且只有在 master 或者 man 层次进行推送的时候才会触发这个变化,这样的话我们就完成了 自动部署的第一阶段的任务,就是我们现在已经可以将它推送到一个在线的仓库中存放,后续站长也会给大家讲解如何从线上进行,就从线上的这个 key 的 这个仓库中实现生产环境的一个代码的一个更新, 这期视频就到这里,希望大家可以喜欢这期视频,然后各种操作命令都在求赞上,然后大家自己去发送关键字 get, 然后得到这两篇文章,然后看到操作指令,按照操作指令结合站长的视频就能搞定这件事情,你搞定了这件事情,你才能跟上站长之后的项目开发的节奏。 最后站长会实现一个什么效果,在这里发送指令。完成一次推送之后,线上直接就同步部署了,不需要我们再去手动的去搞任何操作,我们每天只需要敲提示词去更新我们的代码就可以了,其他的啥也不用干就能达到这个效果,但是你想达到这个效果,你就得像站长这个视频讲的这样去配置去想,然后站长之后的所有的文档用到的地址都在这个设置站上,大家直接去输入 getlab, 然后去找到对应的文章,然后打开它对应的文档,获得对应的指令进行操作就可以了。感谢大家收看这期视频,我们就到这里,希望大家点赞关注加收藏,给我最大的动力,让我继续下去,谢谢,拜拜。

大家好,这里是科定茶水间,今天给大家带来的是一个基于优乐的 pcb 板缺陷的检测系统。 这个项目呢是我们做好的一个成品项目,如果有定制开发需求的也可以找我们定做项目。我们的主要技术站业务范围包括计算机视觉领域, 这是 python 与 metlab 的 开发,主要承接的方向包括目标检测、图像分类与识别,图像分割增强以及深度学习算法的复现与改进。好的,我们废话不多说,继续来看我们这个项目。好了,我们这边首先进入登录界面,输入用户这边的一个账号, 输入对应的密码登录进来,这是我们的一个程序的主页,左侧分别有图像选择、视频选择、摄像头选择、模型选择和识别历史 图像选择。点击图像选择,我们可以选择一张图片来进行目标检测。视频选择是进行视频的一个选择,选择视频以后可以进行实时的检测。文件夹选择是选择对应文件夹下所有图片的一个识别。 摄像头选择是可以进行连接电脑的一个摄像头来进行对视频流的一个实时的检测。模型选择,可以选择加载不同的一个优酷的模型。识别历史是对我们已经进行过识别检测的一个历史记录的。回看好了,我们这里先选择图像选择, 选择一个图像,点击开始识别,可以看到这边是有一个破孔位的识别检测,我们再选择一张图像, 这边可以看到有几个短路的,这个位置已经检测出来了,点击下方的列表,可以在右侧这边能看到它的一个坐标的位置,以及它对应的知心度, 选择不同的选项可以看到不同的这个选项对应的一个标记框,这边我们还可以还可以进行一个过滤,比如说有漏孔的,如果选择漏孔这个地方就识别不到了,其他的也是一样的, 选择短路他就可以看到,这边也是可以看到这是一个短路的一个标记数,这个知性度我们可以调节一下,现在可以看到这边短路的一个知性度是零点七三,零点七五,零点六九,如果我们把它调到零点七,知性度调到零点七,我们再识别一下,就会把零点六九的那个已经过滤掉了, 只能显示高于这个知心度的一个检测结果。好了,现在我们选择视频选择,选择一个视频,点击开始识别,可以实时的看到视频中目标的一个检测结果, 这里我们点击保存结果,结果保存就会生成一个检测结果的一个视频,我们选择结果导出, 这里就是检测结果的一个实时数据的导出,里头包括知信度,还有它的坐标以及它在视频中的一个时间点。 文件夹选择是选择我们这个当前文件夹下所有图片的一个信息,这个 test media 下面是有图片的,我们选择上传 加载十一张图片,点击开始识别,会分别把这个文件夹下的所有图片进行检测。 好了,检测结束,摄像头检测,我们可以选择一下这个摄像头是我们连接 usb 电脑 usb 的 一个摄像头。好,我们这边选择一个视频, 我们可以看到视频中的这个摄像头中的这个信息也是能被识别出来的, 好,停止识别。这里还可以进行一个模型的选择,我们的模型文件其都是在这个 runs 下边的,默认我们加载的是优酷十二的模型,我们也可以选择其他的,我们选择这个 best 文件,需要加载 best。 好 了,加载成功,那么现在我们用来检测的模型就是这个优酷 v 八的模型了。这里的识别历史是刚才我们进行识别的一个历史回看, 比如说这个点开,这就是刚才这个图片检测的一个结果,还有这是刚才我们摄像头检测的结果,我们可以点击播放,是对刚才摄像头采集视频流的一个历史回看。 好了,我们这个系统还可以进行个人信息的一个编辑,可以更换头像,修改用户名以及修改密码,我们这里修改一下头像,头像统一都是在这个 media 下面的这个 avengers, 比如说我们可以修改成这个头像, 这个个人信息就修改成功了。好了,现在我们退出登录,可以进入一下管理员端的页面, 管理员端呢,可以对用户进行一个用户信息的一个编辑和管理,这边可以编辑可以修改他的一个密码,也可以更换他的头像,也可以进行用户的一个删除啊,也可以对识别记录进行一个浏览和删除,这个可以包括一个批量的删除,比如说我们这边点击删除 就对这条记录进行了一个删除。我们这个系统还支持不打开界面的一个直接运行脚本的一个删除,我们这个系统还支持不打开界面的一个直接运行脚本的一个检测, 这个 single run single image 就是 对图片单张图片的一个检测,这里是我们选择图片的一个地址,这里头选择的是 test media 下面的一个第一张图片,我们从这里也可以看到是这张图片,然后我们这边直接点击运行, 这边就是检测图片,这是原图,这是一个检测结果图。同理我们这个 video 和 camera 也是对对应的一个视频进行检测,和摄像头进行检测,同理呢这个 video 下边 这个 video 里面是对这个视频进行的一个检测,我们可以在这更改一个视频的名字,比如说改成这个 我们来进行检测就可以了,也是点击运行,我们就可以进行一个视频的检测,我们还有远程这么一个文件,可以是执行训练的一个功能, 在这里我们会依次训练 uluv 五 v 八十一、十二四种模型,在这里我们可以选择对应需要训练的一个模型,我们只选择训练 ulu 十二的话,可以把其他的模型删掉。然后呢在这边 有一个参数,这个就是代表的是训练的轮次训练一百轮,这个可以,这个是根据我们电脑的一个性能,一般我们家用电脑的话可以选择一个八,如果你的性能比较好,电脑显卡性能比较高的话,我们可以选择三十二, 这里我们删掉其他的模型,只用优乐十二的模型来进行训练,他所训练的数据就是这个春 day 下面的,这里分为了一个测试级、训练级和一个验证级, 我们修改好对应的参数以后,点击运行,这边就开始进行训练了,这边我们停止了,就不给大家演示训练的过程。训练时间比较长,训练完成后对应的数据就会保存在这个 rest 的 目录下, 里头包括了全中文件,以及对应的一个训练结果的展示。关于这个训练结果的数据含义,大家可以参考一下之前我们发布的一条视频,叫做一条视频,讲清楚优乐训练级的含义,优乐训练结果的含义。好了,今天我们的分享就到这里,谢谢大家。

在软件开发的流程里,测试工具是保障软件质量的重要帮手,我们可以把它分成三类来理解。一、静态测试工具代码的体件仪这类工具不实际,运行软件更像代码。体件仪在软件还没启动时就开始行动,他会对软件需求很大,设计 他的方式分析代码的复杂度、接口逻辑是否合理,提前揪出潜在的逻辑漏洞、语法错误和设计缺陷。比如,在开发一个电商网站的结算功能时,静态测试工具能提前检查出结算规则、代码 以及矛盾,避免后续上线后出现金额计算错误。不过,这类工具对复杂的定制化需求适配性有限, 专门针对特殊需求设计的工具比较少见。二、动态测试工具软件的模拟器动态测试工具要在软件运行时才能发挥作用,就像给软件做压力测试和场景模拟,它能生成测试用力,模拟用户的各种操作行为。比如在购物 app 里,模拟上万用 户同时下单的场景,然后监控软件的响应速度、崩溃情况和数据准确性记录 哪些还没覆盖到测试捕获和回 放同步执行来付现问题。这类工具里的测试捕获 工具测试的大管家这类工具不直接测试软件功能,而是负责整合整个测试流程。像测试团队的大管家,他可以帮你制定测试计划,安排测试人员,管理测试用力,还能生成测试报告,让整个测试过程更有条理。 比如在大型项目中,用它来跟踪每个测试任务的进度,统计不同模块的缺陷数量,能让团队清晰掌握项目质量,而且这类工具的功能很灵活,测试、计划制定、缺陷跟踪的功能都 能。总的来说,这三类工具各有侧重,静态工具、 众泰工具、验证类型、表现支持类工具,保障流程顺畅。根据项目需求选择合适的工具,才能让软件测试更高效,最终交付更人性的产品。

大家好,这里是扣鼎茶水间,今天给大家带来的是一个基于深度学习的水果检测系统。这个项目呢是我们做好的一个成品项目,如果有定制开发需求的也可以找我们定做项目。 我们的主要技术占业务范围包括计算机视觉领域,支持 python 的 开发,主要承接的方向包括目标检测、图像分类与识别,图像分割增强以及深度学习算法的复现与改进。好的我们废话不多说,继续来看我们这个项目。 首先我们进行系统登录,这里输入的是用户这边的用户名和密码,密码是一二三四五六七。 进入到我们识别系统的一个主界面以后,我们可以看一下左边这一边可以进行图像选择。图像选择就是对单张图片进行的一个目标检测。 视频选择是对播放的视频进行每一帧画面中的一个目标检测。文件夹选择是打开文件夹以后,对该文件夹下的所有图片依次进行目标识别检测。摄像头检测是通过连接电脑的 usb 接口的摄像头 对实时的一个视频帧进行目标检测。模型选择这边可以选择优漏 v 八、优漏 v 五以及优漏十一。优漏十二一共提供了四种默认模型,如果我们有其他的训练模型的权重文件,也可以在这里进行选择。 识别历史是对已检测的目标结果进行一个历史的回看,可以看到检测后的结果图和检测后的结果视频。好了,我们这边先打开图像选择,选择 test media 下面这是我们预制的一些图片 第一次识别,因为要需要加载模型,所以识别时间会稍微长一点,这边检测耗时是三秒多,可以看到我们能够检测到草莓的信度分别为零点八五、零点九、零点七六和零点八七。我们这边可以通过调节信度的一个范围,比如说我们调到零点八, 再点击开始识别,那么就会把之前的这个零点七几的这个目标过滤掉,我们一般将执行度调节到零点五就可以了。点击列表中的单个元素,我们可以看到这个元素所检测的目标的框,以及对应的目标的执行度和它的坐标位置。 这里头我们还可以对类别进行过滤,比如我们选择一个其他图片, 我们可以过滤一下茄子,这上面没有茄子。香蕉,选择香蕉以后,画面中就只会标出香蕉的标记框,其他的标记框就会消除。 这边我们演示一下视频,选择点击开始识别,可以看到识别结果是实时的,根据针来变化的,每一针的结果都可以实时绘制出来。 好了,识别结束以后,我们会保存一个识别的记录。另外我们这边可以点击结果导出,结果导出就是将已经识别的结果 excel 文件的形式导出来, 可以看到这是一个识别的具体数据,里头有知性度,以它的坐标以及在整个视频流中它的一个播放的一个时间点,我们选择文件夹,选择 test media, 点击开始识别,那么就会将这个 test media 下面的每一张图片依次进行一个识别。 我们也可以选择摄像头,点击摄像头 这边我们可以把图片放到这个角落, 摄像头对准图片中的草莓,可以看到草莓是能够识别出来的。好了,我们停止识别,也会进行一个识别结果的保存, 点击模型选择以后进入到 runs 目录下,这就是我们预制的一些模型,里头包含了 v 八,十二十一和 v 五,我们可以选择一下其他的模型,选择一下 v 八,我们只要选择这个 best 就 可以了, best 代表的是训练中最好的一个结果,我们选择 best 提示加载成功,那么后面所用来检测的模型就会是我们刚才所加载的模型。这里点击识别历史,我们可以看到刚才我们进行识别的一个历史记录,包括时间和这个检测结果的一个标注图, 还有刚才我们进行的这个摄像头检测,它也会以一个视频的形式保存下来, 刚开始我们这个摄像头是拿反的,我们把它旋转过来以后,对着这个草莓的图片,啊,对着这个草莓的照片,我们就可以看到草莓的一个识别结果了。 我们在用户端呢,还可以对用户的个人信息进行一个编辑,可以修改它的头像,我们预制的程序中的头像都是在这个 media 下边的 avengers, 我们可以修改成这个头像,也可以呢进行密码修改,我们不修改的话就保持默认保存,修改我们头像就可以看到就已经修改成功了。我们退出登录以后,选择管理员登录,用户名和密码都设置为 登录进来以后,管理员这边可以对用户信息进行一个编辑和删除,我们可以更改用户的头像,也可以更改他的密码,也可以对识别记录进行一个删除或者批量删除,选择单条点击这个就是单个删除, 选择多条以后点击批量删除,也可以把这个检测结果进行批量删除。 我们这套系统除了带有 ui 界面的功能以外,还预制了几个 pass 文件,可以直接对目标进行识别。这个 run single image 就是 对单张图片进行的识别, 这里头这个 image pass 代表的是所选择的图片的路径,我们这里头选用的是这个 test media, 下边这张图片可以看到就是这一张,我们这边点击运行, 可以看到就弹出了这个对草莓的一个识别结果。同理我们也可以运行这个视频的脚本和这个摄像头的脚本。视频这一块呢,它这个路径选择的是在 test media 下面,这个 test 文件 就是这个文件,我们这里就不对视频和摄像头进行演示了。另外我们这套系统内部还预制了一个这个 run trend 进行训练的一个脚本, 这里头是训练的模型,分别为 v 五、 v 八、十一、十二,这个地方是训练的一些参数,这个是训练的轮次,这个地方是每批次的一个处理的图像数量,我们一般选择八就可以,如果你的电脑性能比较好,显卡的配置比较高的话,可以将它修改为三十二,我们这里点击运行 脚本就会开始执行,就会对这个数据集进行训练,因为训练的时间比较长,我们这里就不再演示了,我们暂停它,训练完以后数据就会存在 runs 下面的 detect 路径下, 我们这边看一下训练结果的一个展示,关于具体的训练结果的含义,大家可以看一下我们之前发布的一条视频,叫做一条视频讲清楚优乐训练结果的含义。好了,今天的项目分享和功能演示就到这里。

最近几天呢, url 官方推出了最新一代的目标检测算法 url 二六,这个 url 二六的出现呢,它使得我们可以将我们的目标检测算法部署到各种各样的一个边缘计算,也就是我们的开发版当中, 例如部署到数码派, jason nano 等等的一系列开发版,因为它有极低的一个性能,也是对硬件的设备需求比较低,不需要再用大量的一个 gpu 来进行预算。 我们最近呢也更新了一个可算界面系统,这个是基于 roo 二六来进行开发的目标检测可算界面系统。界面呢,采用之前的一个 整体的一界面设计,我们接下来也来演示一下它的一个功能,那么这里呢,使用默认使用的是 yellow 二六 n 点 p d 模型,你也可以选择自己训练好的一个模型,点击它,然后选择对应的模型就可以了, 可以是自己训练的。你想检测单独检测一个人,那么就用人这一个数据集来进行训练,如果是改进的话,你需要在这一套系统里面修改对应的网络结构配置,也就是这里 需要修改再次修改一下,确保你训练的时候和使用的时候那网络结构一致啊,这是它一个模型,那么现在支持的类型有四种,一个是图片常见的图片格式, 离线视频也是 mp 四等等,这是电脑摄像头,这是文件夹检测,也称为批量检测。第五,你的文件夹里面有多张图片,那么选择它之后也是选择对应的文件夹,之后它会批量检测 检测里面的所有的一个内容。接下来我们来依次演示,选择图片,选择图片的位置,那么我是可以选择官方的这两个图片,复制一下路径,然后打开选择图片, 打开图片文件夹啊,这里选择全路径, 选择图片,选择一张图片,点击打开, 你看检测非常的快啊,这样就检测到一个人,两个人啊,一个领带,这是他的一个目标的数量,这是所用的时间,这个时间的单位是,好啊,这是检测的一个具体的信息,这检测图片,然后选择视频, 视频的话,其实在一开始的时候我们已经演示有了,我们再来演示一下, 我这里有几个检测的一个视频素材,那么刚我选择的这一个,那么选择人是一个 percent, 看一下,你看这是它检测的一个效果,那么在左侧这里有两两个调整的按钮,这个是自信度,这是 i o u, 他 们度低的值给屏蔽掉, 相当于一个高考的录取分数线,例如现在是零点三七,那我把它调大,调大,你会发现这框变少了,为什么?因为他只有高于一个 值的时候,他才会显示对应的方框,若是低于这个值的话,他不会显示,这 i o u 的 一个原理也是差不多啊,把它调高的话,那么他就屏蔽掉一些低的值。一个标注框, 然后这个已经检测完毕了,那么其实他还可以选择暂停或者终止,那么在右侧这里会显示实时检测,检测的结果,在右上角它会显示原来的一个效果,也是没有标注的一个框, 一个画面。那么检测完毕之后,你可以选择是否保存,这里默认是勾选保存的,勾选保存它检测的结果会出现在乱石文件夹里面,例如这里,这是我们刚刚运行检测的一个效果。打开图片所在文件夹, 这是刚刚检测的一个效果。双击打开, 那这是刚刚检测的一个结果,可以在文件夹进行查看, 当然你也可以选择不保存啊,然后直接在上面查看就可以了。然后我现在电脑上有一个摄像头,我点击它,那么它就会调用我的摄像头来进行检测,这里已经暂停了,我选择播放, 继续点击啊,点击选择摄像头,那这是我的一个摄像头的一个画面, 对吧?它就可以调用我们的电脑摄像头来进行检测,大拇指你看 就可以检测到了,这是我的摄像头检测关闭的话,可以点击这里的中指,或者继续点击一下,那么他就会关闭我的摄像头中指检测了,然后这是我的一个文件夹检测, 选择它之后,它会检测文件夹里面的所有的图片或者视频啊,为了演示,我们把刚刚的一个内容给删除掉, 并且啊勾选保存吧,勾选保存,然后选择这一个, 这个原本里面这里面是有两张图片的,刚我已经看到了选择,当然他这里没有显示啊,因为我的一个目标是一个文件夹,所以选择图片所在文件夹就可以了,选择之后会很快的看一下这个界面 啊,他一闪而过,只有两张图,第一张图检测完毕之后,他马上跳转到第二张了,我可以在这个结果看一下, 那我可以在图片文件夹打开,你看是吧,他就马上检测完毕了两张图片速度非常的快,所以我们他甚至一闪而过,我只看到了后面这一张啊,其实他会在这里 显示所有的一个检测图片,检测完一张他马上切换到下一张,这是批量检测的一个效果 啊,这是我们的一个原代码, 代码呢提供了一个大量的一个注示,方便大家阅读理解,你看会提供了对应的, 这是配置文件啊,这是官方的一个目录。然后这是我新增一个测试的脚本,这是通过一个代码来实现一个测试的脚本,然后这是新增的一个训练的脚本,大家可以在这里训练自己的数据级模型, 这是官方的模型,这是 ui 文件,这是装好的一个拍审文件,把 ui 转成拍审。然后这是我们提供的一个 啊原文件,大家可以在这里自己修改文字啊,或者说颜色样式等等。我这里已经安装好对应的插件了,我们可以打开打开一下这个 ui 文件来看一下 啊,这是他的一个 ui 文件,那么我如果我想修改这个标题文字,双击修改就可以了, 修改完毕之后,右键转换,把它转换成拍摄文件,然后就可以引用了。那么更加详细上,我们在这里 提供了对应的文章复制,然后打开网页,这里会有对应的详细的一个介绍啊,安装的一个 python 环境以及步骤我们都给有,后面可以预读一下这个文章 啊。再提一点的话,就是我对他这个整体的代码进行了一定的优化啊,重新插拔一下摄像头,我也可以演示一下摄像头,摄像头检测的话,你看我们现在的一个内存, 内存基本是在十三啊,十三左右的一个占用,我点击摄像头看它实时检测,你看它内存其实并没有太大的一个影响,一个波动基本也是保持在十三兆左右。若是官方的话,他默认的话 它一直检测,但它会堆积内存的。我们这个对内存进行一个优化,它内存基本没有太大一个变化。如果你使用官方的话,它的内存其实会一直升高,升高只是内存超出异常。