跟着实训的第五天

练习一:用户输入一个三位数,弹出各个数位的和。比如:用户输入155,就弹出11用户输入316,就弹出10用户输入989,就弹出26用户输入678,就弹出21 练习二:大家从小到大,都玩儿过的一个庸俗的游戏:游戏玩儿法就是,大家轮流报数,如果报到能被7整除的数字,或者尾数是7的数字,都算踩地雷了。就应该罚唱歌。请在控制台输出1~60之间的所有“安全数”。比如:1、2、3、4、5、6、8、9、10、11、12、13、15、16、18、19、20、22、23、24、25、26、29、30…… 练习三:水仙花数是一种特殊的三位数,它的特点就是,每个数位的立方和,等于它本身。比如153就是水仙花数。因为:13+53+33 =153100~999之内,只有4个水仙花数,请编程找出来

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Document</title>

 

<script>

function myfunc1() {

var t = prompt("输入一个三位数:", 123);

var ans = t%10 + parseInt(t/10)%10 + parseInt(t/100);

alert("各位和为:" + ans);

}

 

function myfunc2() {

for(var i = 1; i <= 60; i++) {

if (i % 7 == 0) {

console.log(i);

}

}

}

 

function myfunc3() {

for (var i = 100; i <= 999; i++) {

var a = i%10;

var b = parseInt(i/10)%10;

var c = parseInt(i/100);

if (a*a*a + b*b*b + c*c*c == i) {

console.log(i);

}

}

}

</script>

</head>

<body>

 

<button type="button" οnclick="myfunc1()">练习1</button>

<button type="button" οnclick="myfunc2()">练习2</button>

<button type="button" οnclick="myfunc3()">练习3</button>

</body>

</html>

练习一:使用While循环计算出100以内奇数相加之和。 练习二:使用for循环打印99乘法表(在页面内输出可用“document.write(‘’);”)。

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Document</title>

<script>

function myfunc1() {

var i = 1;

var ans = 0;

while (i <= 100) {

if (i % 2 != 0) {

ans += i;

}

i++;

}

alert("100以内奇数和为:" + ans);

}

 

function myfunc2() {

var bg = "<table>";

for(var i = 1;i <= 9;i ++){

bg += "<tr>";

for(var j = 1;j <= i;j ++){

bg += "<td>" + i + "*" + j + "=" + i * j + "</td>";

}

bg += "</td>";

}

bg += "</table>";

document.write(bg);

}

</script>

</head>

<body>

<button type="button" οnclick="myfunc1()">练习1</button>

<button type="button" οnclick="myfunc2()">练习2</button>

 

</body>

</html>

练习一:编写函数,实现求圆面积 从页面输入圆半径,在控制台中打印出圆面积。 练习二:编写一个判断某个非负整数是否能够同时被3,5,7整除的函数,然后在页面上输出1~1000之间所有能同时被3,5,7整除的整数 提示:document.write()可在页面输出自定义内容

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Document</title>

<script>

function myfunc1() {

var r = prompt("输入圆半径:", 2);

var s = 3.14 * r * r;

alert("圆的面积为:" + s);

}

 

function myfunc2() {

var bg = "<br>";

for (var i = 1; i <= 1000; i++) {

if (i%3==0 && i%5==0 && i%7==0) {

document.write(i + bg);

}

}

}

</script>

</head>

<body>

<button type="button" οnclick="myfunc1()">练习1</button>

<button type="button" οnclick="myfunc2()">练习2</button>

</body>

</html>

练习一:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的, 加密规则如下:每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换 要求:从页面输入四位数字,编写函数实现此过程 提示:parseInt()将字符串转换为数字

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Document</title>

<script>

function myfunc() {

var i = prompt("输入一个四位整数:", 1111);

a = i % 10;

    b = parseInt(i / 10) % 10;

    c = parseInt(i / 100) % 10;

    d = parseInt(i / 1000);

 

a = parseInt((a+5)%10);

b = parseInt((b+5)%10);

c = parseInt((c+5)%10);

d = parseInt((d+5)%10);

 

var t = 0;

t = a;

a = d;

d = t;

 

t = b;

b = c;

c = t;

var ans = d*1000 + c*100 + b*10 + a*1;

alert("加密后的数据是:" + ans);

}

</script>

</head>

<body>

<button οnclick="myfunc()">练习1</button>

</body>

</html>

练习一:页面加载完成后,将奇数列的li背景色设置为红色,偶数列li背景色设置为绿色

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Document</title>

<style>

li{

            width: 10000px;

            height: 30px;

        }

</style>

</head>

<body>

<ul>

        <li>1</li>

        <li>2</li>

        <li>3</li>

        <li>4</li>

        <li>5</li>

    </ul>

 

<script>

var lis = document.querySelectorAll("li");

for(var i = 0;i < 5;i++){

if(i % 2!=0){

lis[i].style.backgroundColor="green";

}else{

lis[i].style.backgroundColor="red";

}

}

</script>

</body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 目标检测的定义 目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。 目标检测任务可分为两个关键的子任务,目标定位和目标分类。首先检测图像中目标的位置(目标定位),然后给出每个目标的具体类别(目标分类)。输出结果是一个边界框(称为Bounding-box,一般形式为(x1,y1,x2,y2),表示框的左上角坐标和右下角坐标),一个置信度分数(Confidence Score),表示边界框中是否包含检测对象的概率和各个类别的概率(首先得到类别概率,经过Softmax可得到类别标签)。 1.1 Two stage方法 目前主流的基于深度学习的目标检测算法主要分为两类:Two stage和One stage。Two stage方法将目标检测过程分为两个阶段。第一个阶段是 Region Proposal 生成阶段,主要用于生成潜在的目标候选框(Bounding-box proposals)。这个阶段通常使用卷积神经网络(CNN)从输入图像中提取特征,然后通过一些技巧(如选择性搜索)来生成候选框。第二个阶段是分类和位置精修阶段,将第一个阶段生成的候选框输入到另一个 CNN 中进行分类,并根据分类结果对候选框的位置进行微调。Two stage 方法的优点是准确度较高,缺点是速度相对较慢。 常见Tow stage目标检测算法有:R-CNN系、SPPNet等。 1.2 One stage方法 One stage方法直接利用模型提取特征值,并利用这些特征值进行目标的分类和定位,不需要生成Region Proposal。这种方法的优点是速度快,因为省略了Region Proposal生成的过程。One stage方法的缺点是准确度相对较低,因为它没有对潜在的目标进行预先筛选。 常见的One stage目标检测算法有:YOLO系、SSD系和RetinaNet等。 2 常见名词解释 2.1 NMS(Non-Maximum Suppression) 目标检测模型一般会给出目标的多个预测边界框,对成百上千的预测边界框都进行调整肯定是不可行的,需要对这些结果先进行一个大体的挑选。NMS称为非极大值抑制,作用是从众多预测边界框中挑选出最具代表性的结果,这样可以加快算法效率,其主要流程如下: 设定一个置信度分数阈值,将置信度分数小于阈值的直接过滤掉 将剩下框的置信度分数从大到小排序,选中值最大的框 遍历其余的框,如果和当前框的重叠面积(IOU)大于设定的阈值(一般为0.7),就将框删除(超过设定阈值,认为两个框的里面的物体属于同一个类别) 从未处理的框中继续选一个置信度分数最大的,重复上述过程,直至所有框处理完毕 2.2 IoU(Intersection over Union) 定义了两个边界框的重叠度,当预测边界框和真实边界框差异很小时,或重叠度很大时,表示模型产生的预测边界框很准确。边界框A、B的IOU计算公式为: 2.3 mAP(mean Average Precision) mAP即均值平均精度,是评估目标检测模型效果的最重要指标,这个值介于0到1之间,且越大越好。mAP是AP(Average Precision)的平均值,那么首先需要了解AP的概念。想要了解AP的概念,还要首先了解目标检测中Precision和Recall的概念。 首先我们设置置信度阈值(Confidence Threshold)和IoU阈值(一般设置为0.5,也会衡量0.75以及0.9的mAP值): 当一个预测边界框被认为是True Positive(TP)时,需要同时满足下面三个条件: Confidence Score > Confidence Threshold 预测类别匹配真实值(Ground truth)的类别 预测边界框的IoU大于设定的IoU阈值 不满足条件2或条件3,则认为是False Positive(FP)。当对应同一个真值有多个预测结果时,只有最高置信度分数的预测结果被认为是True Positive,其余被认为是False Positive。 Precision和Recall的概念如下图所示: Precision表示TP与预测边界框数量的比值 Recall表示TP与真实边界框数量的比值 改变不同的置信度阈值,可以获得多组Precision和Recall,Recall放X轴,Precision放Y轴,可以画出一个Precision-Recall曲线,简称P-R
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值