yolov7 tensorrt模型加速部署【实战】

0. linux环境配置

基于tensorrt+cuda c++实现模型end2end的gpu加速,支持win10、linux,在2023年已经更新模型:YOLOv8, YOLOv7, YOLOv6, YOLOv5, YOLOv4, YOLOv3, YOLOX, YOLOR,pphumanseg,u2net,EfficientDet。
Windows10教程正在制作,可以关注仓库:http://github.com/FeiYull/TensorRT-Alpha

参考我这篇保姆教程《yolov8 tensorrt模型加速部署【实战】》第二章Ubuntu18.04环境配置

路测视频:yolov7 tensorrt + cuda路测

1. 导出onnx

直接在网盘下载onnx[weiyun]:weiyun or google driver 或者手动导出onnx:

git clone http://github.com/WongKinYiu/yolov7
git checkout  072f76c72c641c7a1ee482e39f604f6f8ef7ee92
# 640
python export.py --weights yolov7-tiny.pt  --dynamic  --grid
python export.py --weights yolov7.pt  --dynamic  --grid
python export.py --weights yolov7x.pt  --dynamic  --grid
# 1280
python export.py --weights yolov7-w6.pt  --dynamic  --grid --img-size 1280

2.编译 onnx

使用tensorrt官方工具编译onnx文件。

# 把你的onnx文件放到这个路径:tensorrt-alpha/data/yolov7
cd tensorrt-alpha/data/yolov7
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/TensorRT-8.4.2.4/lib
# 640
../../../../TensorRT-8.4.2.4/bin/trtexec    --onnx=yolov7-tiny.onnx  --saveEngine=yolov7-tiny.trt  --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640
../../../../TensorRT-8.4.2.4/bin/trtexec    --onnx=yolov7.onnx   	--saveEngine=yolov7.trt       --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640
../../../../TensorRT-8.4.2.4/bin/trtexec    --onnx=yolov7x.onnx   	--saveEngine=yolov7x.trt      --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640
# 1280
../../../../TensorRT-8.4.2.4/bin/trtexec    --onnx=yolov7-w6.onnx    --saveEngine=yolov7-w6.trt    --buildOnly --minShapes=images:1x3x1280x1280 --optShapes=images:4x3x1280x1280 --maxShapes=images:8x3x1280x1280

# note:if report an error(Error Code 1: Cuda Runtime (an illegal memory access was encountered "bool context = m_context->executeV2((void**)bindings)" returns false) 
when running the model(yolov7-w6), just lower the batch_size.

4.运行

git clone http://github.com/FeiYull/tensorrt-alpha
cd tensorrt-alpha/yolov7
mkdir build
cd build
cmake ..
make -j10
# note: the dstImage will be saved in tensorrt-alpha/yolov7/build by default

## 640
# infer image
./app_yolov7  --model=../../data/yolov7/yolov7-tiny.trt --size=640  --batch_size=1  --img=../../data/6406401.jpg  --show --savePath
./app_yolov7  --model=../../data/yolov7/yolov7-w6.trt   --size=1280 --batch_size=1  --img=../../data/6406401.jpg  --show --savePath

# infer video
./app_yolov7  --model=../../data/yolov7/yolov7-tiny.trt     --size=640 --batch_size=8  --video=../../data/people.mp4  --show --savePath=../

# infer camera
./app_yolov7  --model=../../data/yolov7/yolov7-tiny.trt     --size=640 --batch_size=4  --cam_id=0  --show

下面右图是运行效果,左边是yolov7官方效果。这里给一个视频测试:
在这里插入图片描述

yolov7-tiny : Offical( left ) vs Ours( right )

TensorRT-Alpha

CV&DL
本文转载于网络 如有侵权请联系删除

相关文章

  • 俄乌争端致使 DDoS 攻击达到历史最高水平

    据DarkReading网站消息,卡巴斯基的一份调查报告,自2月份以来,围绕俄乌争端导致的DDoS攻击达到了空前的规模,使DDoS攻击数量突破了历史最高水平。与2021年第四季度相比,2022年第一季度的分布式拒绝服务(DDoS)攻击增加了46%,报告显示,大部分攻击被用于针对俄罗斯。同时,DDoS攻击的持续时间也比去年要长,几乎是2021年末的80倍。报告例举了上季度的一个例子,攻击者建立了一个类似于流行的益智游戏“2048”的网站,使对俄罗斯网站的攻击更像是一种招募他人发动额外攻击的游戏。卡巴斯基安全专家亚历山大·古特尼科夫在一份声明中表示,DDoS攻击的上升趋势在很大程度上受到地缘政治局势的影响,非常不寻常的是DDoS攻击的持续时间很长,持续了数天甚至数周,表明攻击背后有政治因素推动。其实在刚过去不久的2021年,DDoS攻击就已经达到了历史最高水平,ComcastBusiness在4月份发布的一项调查显示,攻击者往往不分青红皂白,对各行业均发动了攻击,但医疗保健和教育部门仍然是最受欢迎的目标。参考来源https://www.darkreading.com/attacks-bre

  • HBase 学习一(基础入门).

    一、HBase是什么?HBase是一个分布式的、面向列的开源数据库,该技术来源于FayChang所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(FileSystem)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。二、HBase的特点?大:一个表可以有上亿行,上百万列。面向列:面向列表(簇)的存储和权限控制,列(簇)独立检索。稀疏:对于为空(NULL)的列,并不占用存储空间,因此,表可以设计的非常稀疏。无模式:每一行都有一个可以排序的主键和任意多的列,列可以根据需要动态增加,同一张表中不同的行可以有截然不同的列。数据多版本:每个单元中的数据可以有多个版本,默认情况下,版本号自动分配,版本号就是单元格插入时的时间戳。数据类型单一:HBase中的数据都是字符串,没有类型。支持过期:HBase支持

  • DNSPod十问李丛:腾讯CDN的出海历险记

    问答时间:2021年3月10日嘉宾简介:李丛:腾讯CDN技术负责人,2010年毕业后加入腾讯,一直从事腾讯CDN的平台的研发和运营工作,见证了腾讯CDN从100G到100T+的全过程,先后支持Qzone、腾讯视频、微信、DNF&LOL&王者荣耀、微视、全民K歌等内部重量级业务的运营优化和保障工作。2016年开始至今,开始负责腾讯云CDN的相关研发运营优化工作,带领团队在TCP协议栈、缓存引擎、高性能Server、智能调度、系统架构等各个方面进行优化突破,使得腾讯云CDN在各大业务竞标中领先竞品,在ToB服务方面有着相当的实战经验和方法论。主持人简介:吴洪声(人称:奶罩):腾讯云中小企业产品中心总经理,DNSPod创始人,洋葱令牌创始人,网络安全专家,域名及DNS技术专家,知名个人站长,中欧国际工商学院EMBA。01吴洪声:在云计算领域,腾讯云的网络加速产品相比较头部友商而言,起步略晚。但是在短短的数年间,业务从0起步,实现了覆盖全球2100+节点,超过120T资源储备,全网链路进行实时监控,自研GSLB调度体系。腾讯的云计算领域是如何快速崛起的?李丛:其实腾讯CDN的起

  • Jtro的技术分享:unity打包webgl的包和js数据通讯

    首先要选择打包成wegl的包,然后在Asset文件夹中新建一个Plugins的文件夹,在此文件夹中再新建一个.jslib的文件,(可以使用notepad++新建文件),然后打开jslib文件,在里面写上如下代码:mergeInto(LibraryManager.library,{ });复制这样写就相当于在unity中新建了一个c#的脚本。具体要实现的方法,需要在里面进行写代码。例如,我现在在里面新建一个有参函数:这个函数的功能就是讲传入的参数通过alert弹窗显示出来 mergeInto(LibraryManager.library,{ HelloString:function(str){ //这里使用Pointer_stringify方法转换unity传递过来的字符串 window.alert(Pointer_stringify(str)); },//如果是多个方法,要用逗号隔开。 });复制然后回到unity的代码中,新建一个通讯的脚本:usingSystem.Runtime.InteropServices; usingUnityEngine; publicclasscall

  • 智能硬件-摄像头测试

    前言随着社会的发展和不断的进步,4G/5G网络的出现,使得智能硬件这块有了更进一步的发展,智能家居、智能安防、智能摄像等电子产品不断涌现,涉及到的摄像头这块的性能越来越优秀,使用范围越来越广,对于摄像头性能的测试就变得越来越普遍和重要。当给监控摄像头加入智能识别时,测试解析度和畸变值就变成必须;当我们的手机逐步代替数码相机时,解析度,色彩还原、白平衡以及灰度测试就变得很重要。一、如何验证摄像头好坏1、USB摄像头可插入电脑主机后面的USB接口,打开QQ看看能不能进行视频即可 2、普通摄像头验证在装好驱动后,用来照一照附近景物/人物,看看有没有变形/局部不清晰.同时也调节下那个焦距,看看焦距有没有作用(焦距跟镜头有关的).接着把焦距调清晰后照一张纯白纸,记得这张白纸不能太薄,保持几分钟,这几分钟你可以在电脑上看看照出来的效果,看有没有黑点/脏污/彩点之类的,在白纸上基本可以看出来.然后拿掉白纸,直接用一黑色盖子把入光口挡住,要全部挡好,在电脑上看效果,看有没有亮点/白点/彩点之类的.进过这几个步骤基本可以确认摄像头的状态了二、查看摄像头的分辨率1、通过Potplayer工具查看摄像头录制

  • 你的爬虫会送你进监狱吗?

    爬虫究竟是合法还是违法的?随着大数据的火热,数据相关行业竞争不仅“蒸蒸日上”,爬虫之间的战争也越发地激烈。一篇《你的爬虫会送老板进监狱吗?》在程序猿圈子里被大量转载,甚至有的程序员因为非法获取数据的新闻从而放弃了这一行当。那么,爬虫是什么,它会是悬在程序员头上的达摩克利斯之剑吗?网络爬虫(英语:webcrawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人。通俗来讲,爬虫就是一项计算机技术,方便用户自动化、高效率地浏览互联网并从互联网上获取数据。最早的爬虫程序是1994年休斯敦大学的Eichmann开发的RBSE。著名的谷歌公司使用的GoogleCrawler是当时还是斯坦福大学生Brin和Page在1998年用Python开发的。(见罗刚《网络爬虫全解析:技术、原理与实践》,电子工业出版社,第65-66页。)爬虫作为一种计算机技术就决定了它的中立性,因此爬虫本身在法律上并不被禁止,但是利用爬虫技术获取数据这一行为是具有违法甚至是犯罪的风险的。所谓具体问题具体分析,正如水果刀本身在法律上并不被禁止使用,但是用来捅人,就不被法律所容忍了。详细分析既然我们说爬取

  • AngularDart Material Design 步进器 顶

    MaterialStepperComponentSelector:<material-stepper>材料设计风格的步进器。步进器是用于将进度或功能作为导航工具传送的编号指示器Inputs:legalJumpsString  跳转(定义为由“继续/取消”按钮触发的步骤开关)是合法的。 可能的值:    'none'(默认值;不允许跳转),    'backwards'(跳到已完成的不允许的步骤),   'all'(允许任何跳跃,无论步进状态如何)。 noTextString 要返回到前一步骤的按钮上显示的文本。 默认情况下,显示“Cancel”。 orientationString制定步骤的方向。 可能的值:'horizontal'和'vertical'(默认值)。 sizeString  尺寸主题又确定各种步骤标题元素的大小(例如,步骤编号,步骤名称等)。 可能的值:'default'(默认值)和'mini'。 stickyHea

  • 大数据时代感受人文和科技的跨界之美

    点击标题下「大数据文摘」可快捷关注作者:张首晟,斯坦福大学物理系教授纽约时间2014年11月3日,富兰克林奖委员会决定将本年度富兰克林物理奖授予美籍华人物理学家、斯坦福大学教授张首晟,奖励他在拓扑绝缘体研究领域的开创性贡献。从小我就酷爱读历史,那些可歌可泣的故事深深地打动着我的心灵。历史似乎就是一盘棋,命运时时在那些伟人的掌控之中。然而,我也经常会问一些可笑的问题,例如:当年如果荆轲刺秦王成功,中国的历史将会如何演化?如果布鲁图刺杀恺撒大帝失败,欧洲的历史又会怎样?如果普鲁士军队来到拿破仑与惠灵顿打得不可开交的滑铁卢战场时迟了两小时,世界又将转向哪个方向?如果,如果……人类的历史好像就被那些偶然的因素牵着走。学习物理把我带进了另一个世界。牛顿方程下的宇宙,就像一个瑞士手表,每分每秒都在精密地运转。小到树上的苹果,大到太阳系的行星,用一个简单而优美的万有引力定律就能描述。这两个截然不同的世界都神秘地吸引了我,但是物理世界的必然与历史世界的偶然却让我困惑不已。当我深入学习了统计物理学之后,才开始慢慢看到两者的相似之处。牛顿方程之所以能精密描述行星的运动,是因为这是个简单体系,仅有少量的几个

  • 05:Cave Cows 1 洞穴里的牛之一

    总时间限制: 10000ms单个测试点时间限制: 1000ms内存限制: 262144kB描述很少人知道其实奶牛非常喜欢到洞穴里面去探险。    洞窟里有N(1≤N≤100)个洞室,由M(1≤M≤1000)条双向通道连接着它们.每对洞室间至多只有一条双向通道.有K(1≤K≤14)个洞室,里面放有1捆干草.牛吃1捆干草,体重指数就会增加1.    贪吃的贝茜要到洞窟里面探险.她希望能吃尽量多的干草,但每条通道有一个宽度阈值,如果体重指数超过相应的阈值,贝茜就会被卡祝她从洞窟1出发,体重指数为0.在洞里溜达一圈后,她要返回洞窟1.    那她最多能吃多少捆干草呢?注意,贝茜经过一个洞室,不一定非要吃掉里面的干草.输入第1行输入N,M,K,之后K行每行一个整数,表示在这个洞室放有一捆干草;接下来M行每行三个整数,表示一条双向通道的起点终点和宽度阈值.输出最多能吃掉的干草数.样例输入675 1 2 3 4 5 123 362 6210 241 511 451 161复制样例输出4复制来源USACO2004OpenOrange思路:贪心,把每个稻草的阈值都排一个序,能吃的就吃注意几个细节:1、要

  • 专家:大数据关注what(相关性)比why(因果关系)更重要?

    很早的时候,我们一提到大数据都会把他形容成数据大的代名词,此前由于服务器厂商为了销售更多的硬件设备也把大数据跟数据中心联合起来,一时间市场上传递出来关于大数据的概念和理解也就五花八门,弄得讲者吹的天花乱坠,听者一头雾水,那么到底什么是大数据?怎么理解大数据,今天我们来听听美国权威大数据专家为我们解开答案。 近日美国大数据权威专家麦尔荀伯格(ViktorMayer-Schönberger)来台分享大数据趋势。他认为,大数据三大特性,是巨量、杂乱和相关性,而不是一般常见的3V(Volume、Velocity、Variety)定义。如何从这些看似杂乱无章的海量资料中,找出最适合的相关性,并以此来改变决策,帮助我们更了解世界,正是企业和政府所面临的新挑战。 麦尔荀伯格认为,经过搜集而来的大数据,往往具备有三大特性,第一就是拥有非常多的讯息量。 这边所指的“多”代表的是具有一定规模的完整资料,可透过搜集分析发现具有相关性的问题或现象。他以过去相机对焦为例,一般只有在对焦范围内拍出来的人物轮廓才会清晰,但范围以外的人物轮廓往往会是模糊的,但是改用一台可先拍照后对焦的光场相机,就能先将所有人物资料完

  • 阿里云服务器使用slb以后出现大量监控检查导致系统宕机的问题处理

    现象:   阿里云服务器ecs启动了python程序,当使用slb以后会建立大量的保留地址会话,而且会一直上升 咨询阿里云售后发现是健康检查的地址,但是一般最多只有几十个,这样几千个的establish会话不正常,重启系统,或者重启程序后刚开始没问题,后面一直累加establish会话   后面问了同事发现是使用了5.4的内核,于是降低内核版本,重启系统问题得到解决 说明阿里云的slb和最新的内核版本不兼容,不要随意升级操作系统内核   #载入公钥 rpm--importhttps://www.elrepo.org/RPM-GPG-KEY-elrepo.org #安装ELRepo rpm-Uvhhttp://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm #载入elrepo-kernel元数据 yum--disablerepo=\*--enablerepo=elrepo-kernelrepolist #查看可用的rpm包 yum--disablerepo=\*--enablerepo=elre

  • [LeetCode] 504. Base 7 基数七

    Givenaninteger,returnitsbase7stringrepresentation. Example1: Input:100 Output:"202"复制 Example2: Input:-7 Output:"-10" 复制 Note: Theinputwillbeinrangeof[-1e7,1e7]. 给一个整数,返回它的七进制数。 解法1:迭代 解法2:递归 Java: publicclassSolution{ publicStringconvertTo7(intnum){ if(num==0)return"0"; StringBuildersb=newStringBuilder(); booleannegative=false; if(num<0){ negative=true; } while(num!=0){ sb.append(Math.abs(num%7)); num=num/7; } if(negative){ sb.append("-"); } returnsb.reverse().toString(); } } 

  • C#微信开发小白成长教程一(公众平台的工作原理与调试环境部署,附视频)

       黑夜给了我黑色的眼睛,我决定录视频到天明。半年前的现在,我还在苦逼着加着班,半年后的今天我依旧苦逼着加着班。不过现在的是为自己加班,作为一个资深程序小白,一个月前我光荣的成了一个不称职的资本家,不称职的原因有二:一是我人丑钱少脸皮薄(没有资本),而是我先阶段还只能剥削我自己。    回想着半年的历程,好像发生很多事。从由于辛辛苦苦准备的微信培训资料被公司的同事忽视而在博客园写下的第一篇微信教程,到电子出版社的编辑联系到我商讨出版的事,从签订出版合同到开始写下书的第一个字,从每天加班到凌晨回去还得加班写会书再到前段时间的全职写我的这个处女作。冷暖自知。    距离上次写博客已经过去差不多四五个月了,但现在回头看看之前的博客感觉还是差点什么。推到重写也是需要勇气的,因为现在对于我来说自由的时间相对多些,可以持续的更新我的这个系列教程,希望能帮助更多的朋友进入微信开发者的行列。   废话少说了,说说写这样一篇博文的原因吧。说实在的,在平常在群里和其他微信开发者进行交流的时候发现

  • Java开发中判断集合类为空的方法-转载

    避免写两个判断 org.springframework.util.CollectionUtils 方法: publicstaticbooleanisEmpty(Collectioncollection){returncollection==null||collection.isEmpty();}   publicstaticbooleanisEmpty(Mapmap){returnmap==null||map.isEmpty();}---------------------原文:https://blog.csdn.net/sinosoft12345/article/details/54614005

  • 独立使用 ecj

    ECJ是EclipseCompilerforJava的缩写,是JavaTM认可的Java编译工具(类似javac)。可以单独下载使用。 下载地址:http://mirrors.ustc.edu.cn/eclipse/eclipse/downloads/drops4/R-4.11-201903070500/ecj-4.11.jar (使用ustc的mirror,然后在eclipse的下载里表中找到独立的ecj包)   因为是jar包,所以,需要jre来执行,我写了个小脚本: @echooff java-jar"C:\ProgramFiles(x86)\Java\jre1.8.0_211\lib\ecj-4.11.jar"-7%*复制 如上所示,我把它拷贝到了java的标准lib里面放着了。 上面脚本的意思呢就是,使用java执行这个包,然后把所有的参数都传进来。其中-7是指定编译使用的java版本为java7,目前ecj支持java9及以前的所有java版本。 为了能在cmd下直接使用,我把这个脚本命名为ecj.cmd,放在了:C:\ProgramFiles(x86)\Co

  • 【影评】- 芙蓉镇

    作者:种花家的猫 创建时间:2020/11/28 前言 看《芙蓉镇》之前,对他的了解只局限于导演是谢晋,主演是姜文。其他的关于故事背景,电影情节之类的信息一概不知。毕业之前,我看电影或者电视剧、动漫什么的,非常喜欢别人给我剧透。因为我感觉剧透之后我就像神一样可以预知人物的动向,了解他的所有,那种上帝视角的感觉让我非常有满足感。但是之后发现当时的我是很幼稚的,那并不是什么神,就是瞎扯。现在我更满足于跟随人物的轨迹,沿着他的路线走一遍,一切都是未知的,下一秒会发生什么谁也预测不了。这才是生活,这才是人生啊! 影评 《芙蓉镇》有背叛,有爱情,有自由,有阶级斗争。这个故事在当时的时代背景下极为典型。所表达的思想也是极其深刻的!有多深刻呢?以我浅薄的思想当然是表达不出来的。 秦书田这个人物我很喜欢。被打成五类分子,可以说是社会阶级的最底层,遭到所有人的唾弃。但是他依旧不放弃自己,甚至对生活还希望满满。想起一句话,只要你内心是自由的,即使绑上枷锁也不能折断你的翅膀。(大概是这个意思)他拿着扫帚跳舞的姿态令我动容,这种思想高度值得我们所有人攀爬。记得这部电影在法国的宣传海报就是两把扫帚,有深度!

  • 【SpringBoot】通过Feign调用传递Header中参数

    如何通过Feign传递Header参数   问题描述 我们在SpringCloud中使用Feign请求另一个服务的Api接口时,有将Header中参数传递下去的需求,如果不做特殊处理,就会将Header中的参数丢失。   解决方案   方案一:通过@RequestHeader(name="headerName")来传递 例如:Feign定义如下   @FeignClient(name="service-name") publicinterfaceXXXFeignClient{ @RequestMapping(value="/user/getUserTicket",method=RequestMethod.GET) StringgetUserTicket(@RequestParam("id")Stringid); }复制   假设在服务service-name中的/user/getUserTicket接口需要从Header中取Referer数据,那么我们可以将上面代码进行改造: @FeignClient(name="service-

  • 三、以用户为中心的数据驱动产品设计

    以用户为中心的数据驱动产品设计 产品Idea与可靠性 https://mubu.com/doc/explore/17173 行业分析报告与竞品分析 https://mubu.com/doc/explore/17174 产品分析画布 https://mubu.com/doc/explore/17175 产品的格局与方向 https://mubu.com/doc/explore/17176 PMF+MVP思想(市场匹配+最小化可行性产品) https://mubu.com/doc/explore/17177 产品立项 项目立项文档 用户调研 https://mubu.com/doc/explore/17178 产品调研 https://mubu.com/doc/explore/17179 需求分析 https://mubu.com/doc/explore/17180 迭代安排 https://mubu.com/doc/explore/17181 功能和流程 https://mubu.com/doc/explore/17182

  • Kafka介绍

    1.1应用场景   日志聚合、数据监控、流处理等等 1.2高吞吐率实现   Kafka将消息写入到低速大容量的硬盘,但仍然保持了超高的吞吐率,是因为: 顺序读写:在segment中采用顺序写 零拷贝:生产者、消费者对Kafka中的消息操作采用零拷贝实现 批量发送:Kafka允许使用批量消息发送模式 消息压缩:Kafka支持对消息集合进行压缩 1.3基本术语   1.3.1Topic   1.3.2Partition     分区,一个topic下的消息存在于若干分区中,一个分区只能由一组消费者中的一个消费,类似于RocketMQ中的queue   1.3.3Segment     段,一个partition分成了若干segment文件,每个segment文件的最大大小相等,顺序写。segment文件名代表当前segment之前有多少条消息(每个partition单独算,其第一个segment全24个0)     segment文件由两部分组成,.index文件和.log文件,这两名字一样,后缀不同。     index文件存索引,每条数据两部分组成,第一部分代表在这个segment

  • 404 Note Found 队-Beta6

    队名:404NoteFound 组长博客:https://www.cnblogs.com/heihuifei/p/10145324.html 作业博客:https://edu.cnblogs.com/campus/fzu/Grade2016SE/homework/2497 目录组员情况组员2:胡青元组员3:庄卉组员4:家灿组员5:恺琳组员6:翟丹丹组员7:何家伟组员8:政演组员9:黄鸿杰组员10:刘一好组员11:何宇恒展示组内最新成果团队签入记录燃尽图站立会议合照会议耗时记录(每次追加记录)个人PSP个人学习进度条 组员情况 过去两天完成了哪些任务 删除功能的优化完成 主界面的备忘录状态跳转 描述: 主界面备忘录状态跳转 删除功能的优化完善 展示GitHub当日代码/文档签入记录: 接下来的计划: 和后端云端库的对接 界面美观性优化 还剩下哪些任务: 和后端云端数据库的对接 界面美观性优化 燃尽图: 有哪些困难: 适配器的具体使用 有哪些收获和疑问 适配器使用更加熟悉 前端各个界面函数的结构联系更加清楚 组员2:胡青元 过去两天完成了哪些任务 描述: 继续进

  • hdu 5723 Abandoned country(2016多校第一场) (最小生成树+期望)

    Abandonedcountry TimeLimit:8000/4000MS(Java/Others)    MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):1756    AcceptedSubmission(s): 475   ProblemDescription Anabandonedcountryhasn(n≤100000) villageswhicharenumberedfrom1ton. Sinceabandonedforalongtime,theroadsneedtobere-built.Therearem(m≤1000000) roadstobere-built,thelengthofeachroadiswi(wi≤1000000). Guaranteedthatanytwowi aredifferent.Theroadsmadeallthevillagesconnecteddirectlyorindirectly b

相关推荐

推荐阅读