冒烟测试,应该是微软首先提出来的概念,与微软一直提倡的每日构建(build)有很密切的联系。
大家好,我是社区主编彬哥,今天给大家带来的H5游戏编程中,烟雾特效的js库; 源码如下 var smokemachine = function (context, color){ color = color || [24, 46.8, 48.2] var polyfillAnimFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationF
代码:https://github.com/Huangdebo/SMOKE-window [x] 模型效果 1 网络结构 smoke 的网络机构比较简单粗暴,一个 DLA 直接出 w/4, h/4 2 3D 检测 2.1 关键点分支 类似 centernet,把目标看成点来检测,但不同的是,smoke 利用的是 3D box 的中心投影点,而不是 2D box 的中心点。 对于 x,y,则是通过关键点分支得到的投影中心点和回归的偏移量计算得出,然后在通过反投影计算出 location: dimension 也是通过统计预设值和回归值来计算: 对于航向角的计算比较绕,smoke 但 smoke 也不是直接回归 αz,而且转化成另外一个变量 αx,αx 也是编码成 [sin(α), cos(α)],进行归一化处理 基于上面的计算值,就可以 3D box 的8个顶点坐标了 所以总的 loss 就是 分类 loss 和 3 个不同的 L1 回归 loss 结论: SMOKE 的backbone 使用了 DLA,而且依赖 Dcnv,所以模型比较大,对落地部署不是很友好。
你抽烟,你上墙 You smoke, You up ? ? 原来,搞事情的人就是百度工程师,也正是他们创造了“控烟侠”。从视频里看到,有不少同学看到“控烟侠”cue自己,很快就熄灭了手中的烟。
我有一双神奇的解题小手,不断的化简——代入——化简——代入,不断的迭代——搜索——迭代——搜索,咦,答案出来了!!! 本集大纲: 1.回顾 2.处理奇葩值 3.SMO算法 ---- 1. 回顾
向大家介绍一篇CVPR 2020 Workshop的文章:SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation 相比于其他方法,SMOKE算法取得了很好的结果,且推理时间只有30ms,完全满足实时性要求。 将SMOKE生成的3D框用于位置估计,并与其他方法比较,结果如下: ? 相比其他两种方法,SMOKE在位置估计上有明显优势。 此外,SMOKE也可以用于2D目标检测,将能包围3D框的最小2D框定义为2D目标检测的结果,结果如下: ? 5. 论文:https://arxiv.org/abs/2002.10111 源码:https://github.com/lzccccc/SMOKE
第六话:SMO算法(像Smoke一样简单!)
仅供学习,转载请注明出处 匹配多个字符 思考 场景:胖子老板在写字板写了一大堆东西,判断是否存在smoke的语句,判断正确就可以送你一包烟。 1fatboy@163.com').group() AttributeError: 'NoneType' object has no attribute 'group' In [71]: 寻找smoke mxznjhsaioduoiwuasdjhkljasmnxnlkjsxhjalsdnkjlasbldkjnasdjnajsldnajlskdsmokeasjdlka;sjd;lkjasd;lkjasdsmokesmoke 问在这里面有多少个smoke sjd;lkjasd;lkjasdsmokesmoke" In [87]: result = re.findall('smoke ', 'smoke', 'smoke'] In [90]: ?
正则表达式概述 思考 场景:胖子老板在写字板写了一大堆东西,判断是否存在smoke的语句,判断正确就可以送你一包烟。 mxznjhsaioduoiwuasdjhkljasmnxnlkjsxhjalsdnkjlasbldkjnasdjnajsldnajlskdsmokeasjdlka;sjd;lkjasd;lkjasd 问在这里面有多少个smoke ' In [6]: 可以简单地看出,re模块的这个match方法只能匹配出smoke开头的内容,不然就匹配不出来。 如果胖子老板鬼头一点,就不把smoke放最前面,那不就是找不出来? 看来是要再增加些技能点了。 @1 \n元' In [92]: 但是拥有匹配单个字符的技能,还不能满足找到多个字符之中的smoke呀。
= ["蓝利群", "芙蓉王", "万宝路"] In [34]: for smoke in smoke_list: ...: print smoke ...: 蓝利群 芙蓉王 In [48]: smoke_list.reverse() In [49]: for smoke in smoke_list: ...: print smoke ...: 万宝路 = ["胖哥槟榔"] In [55]: smoke_list.extend(smoke_list2) In [56]: for smoke in smoke_list: ...: smoke in smoke_list: ...: print smoke ...: 万宝路 芙蓉王 蓝利群 王者农药 胖哥槟榔 In [59]: In [61]: smoke_list.remove (smoke_tuple) Out[80]: tuple In [81]: smoke_tuple = list(smoke_tuple) In [82]: type(smoke_tuple) Out
return 10 ...: In [39]: sp = Smoke_Price In [41]: sp() Out[41]: 17 In [42]: bl = Binlang_Price return Smoke_price() + 1 return call_func @add_price def Smoke_price(): return 17 sp = Smoke_price add_price @set_price(1) ## 写入装饰器的参数 price = 1 def Smoke_price(): return 17 sp = Smoke_price() print(sp) 只要在add_price(Smoke_price)外部再包一层闭包,淡定写上参数price,这样就可以啦。 首先先看看更改参数后的方法 ## 修改Smoke_price方法,添加折扣discount参数 In [1]: def Smoke_price(discount): ...: price
aggregate(cont.vars, by = list(smoke = birthwt$smoke), mean) aggregate(cont.vars, by = list(smoke = birthwt $smoke), sd) 函数 aggregate( )中的参数 by 必须设为 list。 如果直接使用 list(birthwt$smoke),则上面分组列的名称将会是“Group.1”而不是“smoke”。 我们还可以在 list 里面设置多个分类变量,例如: aggregate(cont.vars, by = list(smoke = birthwt$smoke, race = birthwt 当然,你也可以使用下面任一方式写: aggregate(birthwt[,c("age","lwt","bwt")], by = list(smoke = birthwt$smoke
/ 2) { display_smoke_value(smoke_value, GREEN, 1); < ALARM_THRESHOLD) { display_smoke_value(smoke_value, GREEN = mq2_sensor_interface.get_smoke_value(&mq2_sensor_interface) ; display_smoke_value = mq2_sensor_interface.get_smoke_value(&mq2_sensor_interface) ; display_smoke_value ,smoke_value); } } 这才是我们想要的高逼格嘛!
应用的场景如环境部署后,需要验证环境的可用性,只需要执行打的标签为“smoke”的TestCase,案例代码如下。 _001(): pass def test_login_002(): pass @pytest.mark.smoke def test_product(): pass @pytest.mark.smoke 与book”,如果只执行标签为“smoke”,那么执行的命令如下。 pytest -s -v -m "smoke" test_command.py 执行结果信息如下。 pytest -s -v -m "smoke and login" test_command.py 执行结果如下所示。
and pid = 1655 finish 0 smoke, time = -0.10 start 3 smoke !!!! and pid = 1656 finish 3 smoke, time = -0.87 start 4 smoke !!!! and pid = 1656 finish 2 smoke, time = -0.98 start 5 smoke !!!! and pid = 1655 finish 1 smoke, time = -1.67 start 6 smoke !!!! and pid = 1656 finish 6 smoke, time = -1.17 finish 8 smoke, time = -1.60 finish 9 smoke, time = -1.62
4.2 软件实现 (1)传感器数据结构定义 typedef struct Sensor { /*烟感值*/ int Smoke_Value; /*报警灯状态*/ uint8 = HAL_ADC_GetValue(&hadc1); return sensor_handle->Smoke_Value ; } (3)实现传感器接口注册接口 /*提供访问传感器的接口*/ / 1000 % 100, smoke_value / 100 % 10, smoke_value / 10 % 10, smoke_value % 10); LCD_ShowString / 10000, smoke_value / 1000 % 100 % 10, smoke_value / 100 % 10, smoke_value / 10 % 10, smoke_value % 10
- 当次数据,old-smoke_value-上次数据 */ int smoke_value = 0, old_smoke_value = 0; /* LCD清屏,防止干扰显示 */ = smoke_value; smoke_value = (int)E53_SF1_Data.Smoke_Value; printf("Smoke Value is % is 0 WELCOME TO IOT_LINK SHELL LiteOS:/>Smoke Value is 0 Smoke Value is 0 Smoke Value is 0 Smoke Value Smoke Value is 103 Smoke Value is 88 Beep and Light OFF! Smoke Value is 0 Smoke Value is 278 Beep and Light ON! Smoke Value is 27 Beep and Light OFF! ……
<- as.factor(Smoke[complete.cases(data)]) df <- data.frame(True=tps.comp, Estimated=eps, Smoke=Smoke.comp ) eps <- m.out$distance tps.comp <- tps[complete.cases(data)] Smoke.comp <- as.factor(Smoke[complete.cases (data)]) df <- data.frame(True=tps.comp, Estimated=eps, Smoke=Smoke.comp) ggplot(df, aes(x=True, y=Estimated =Smoke.comp) ggplot(tmp.df, aes(true, estimated))+ geom_point(aes(color=Smoke))+ geom_abline(intercept <- factor(data.complete$Smoke) rf.out <- randomForest(Smoke~x.Age+x.Gender, data=data.complete) rf.out
threading模块 单线程执行 [root@server01 many_task]# vim test2.py #coding=utf-8 from time import sleep def smoke for i in range(5): print("我抽 %d 根烟"%i) sleep(1) if __name__ == '__main__': smoke root@server01 many_task]# vim test2.py #coding=utf-8 import threading from time import sleep def smoke (): print("我抽 %d 根烟"%i) sleep(1) if __name__ == '__main__': #smoke() for i in range(5) : t = threading.Thread(target=smoke) t.start() 运行结果: [root@server01 many_task]# python
2 配置文件格式 pytest.ini [pytest] markers = demo: just for demo smoke ① 案例一: 之前在讲解用例被标记为@pytest.mark.xfail test_demo02") 如果需要输出信息更详细、输出调试信息及用例执行错误时立即退出,那么配置如下: [pytest] markers = demo: just for demo smoke pytest.ini [pytest] markers = demo: just for demo smoke 其中smoke为标签,用例前加上标签名smoke,即都属于冒烟测试用例。 test_demo.py import pytest pytestmark = pytest.mark.smoke class TestDemo: def test_demo01(self): def test_demo04(): print("这是test_demo04") 命令行输入:pytest -v -m smoke test_demo.py 输出结果为: ?