Python学习的知识复盘(卷积,选择循环语句)

一、开题报告总结

        上周的大部分时间都是在开题报告的制作与实现中度过的,经过答辩后,现对所学知识以及个人得失做以下总结:

        VGG16模型由于它的抽象程度,很难直接将其带入实际进行应用,当然对于该网络的结构我做了一个简单的理解。

1.卷积过程

        最初的我对于卷积的认识不过是一个简单的公式,完全不懂经常说的卷积神经网络到底什么才是卷积?网络层卷积过程到底怎么实现?

ab6bacbe70cf41228bf3a04c3b6b61d8.png

 

可以看到,卷积过程其实固定的矩阵(橙色),在另外一个矩阵(绿色)不断一格一格扫过去的到的数值的和,产生的一个新的矩阵,可以看出来一个5*5的矩阵经过3*3的卷积核卷积后得到的是3*3,前提橙色矩阵移动步长要为1。

2.池化过程

        池化过程其实跟之前没什么不一样,只不过他不是一行一行的去扫,而是以该矩阵的倍数去扫,最后可以发现,池化后其实就是把原来的矩阵的维度减少到1/n。 

224a60efe7e84a989ad436c5bcc0ea93.png

(可以看到对这个大矩阵做了1/4池化)

3.VGG16结构

        VGG中根据卷积核大小和卷积层数目的不同,可分为A,A-LRN,B,C,D,E共6个配置,其中以D,E两种配置较为常用,分别称为VGG16和VGG19。VGG16模型在ImageNet中实现了92.7%的前5个测试精度,这是属于1000个类的超过1400万张图像的数据集。

 

8ae449a7807d49b0a45205344f02ddc3.png

VGG16中以13个卷积层、3个全连接层,以及5个池化层所构成,并将其分为5大块分别以卷积层和池化层构成。

2433ecbf3ce74350a622552380e44a2e.png

 

图中两个黄色的是卷积层,将300*300*3的图像输入后,因为卷积核实三维的所以卷积后是一维的,64个卷积核过后得到300*300*64的图像进入池化层,由于池化层都是2*2的并且步长为2,所以滑动本身没有重叠,长宽减半,维度64不变。

530e135590c54d96892b22fb07f23b96.png

 

通过上面概念以此类推,输入图像是224*224*3的大小,经过通道翻倍由64一直增大为512,图像的高和宽也从224减为7。

卷积层、池化层和等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示"也就是起到分类器的作用。

二、Python环境搭建

1.Python环境安装

        网页搜索Python官网找到需要的python版本,注意安装版本是否正确(操作系统、64位)下载后,根据提示进行安装。

894ecb4ccb8045c48fceb1a8d2ad6607.png

        安装好之后设置环境变量,右键点击"计算机",然后点击"属性",然后点击"高级系统设置",选择"系统变量"窗口下面的"Path",双击即可,然后在"Path"行,添加python安装路径即可,最后设置成功以后,在cmd命令行,输入命令"python",就可以有相关显示。

 2.Anaconda配置环境

        Anaconda里面集成了很多和数据科学、机器学习相关的Python第三方开源库,由于Anaconda是集成环境,所以无法满足期望轻量安装的用户,Anaconda可能会有“为了一个轮子造一辆车”的困扰,对于新手来说,集成环境也会安装一些用户未必用得到的开源库。

这里列出了5个镜像站:

  1. 清华大学开源软件镜像站 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
  2. 腾讯云镜像站 https://mirrors.cloud.tencent.com/anaconda/
  3. 南京大学镜像站 http://mirrors.nju.edu.cn/anaconda/
  4. 上海交大镜像站 https://mirrors.sjtug.sjtu.edu.cn/anaconda/
  5. 上海科技大学镜像站 https://mirrors.geekpie.club/anaconda/

        通过官网进行安装

8a89f9fc434d4da49edc0665e1df0f14.png

3.配置虚拟环境

 进入命令行

a22d84a5781e40bcac39df15047828b1.png

安装

virtualenvpip install virtualenv

创建虚拟环境

virtualenv 虚拟环境名称

进入虚拟环境

cd  虚拟环境名称
.\Scripts\activate.bat

三、Python课堂学习总结

4b6e2c47762f425785cd030e395bdb65.png

 通过上面思维导图可以清洗明了的看到,包括的基础数据类型以整数,浮点数,字符串为主。以及掌握了各种运算符(算术、赋值、逻辑)以及运算符法的优先量。

1.选择语句

if...else语句

用于为程序做判断的二分支语句

if...elif...else语句

当判断条件较多,二分支结构无法满足时,采用 if...elif...else语句可以实现多条件判断。elif即else if,意为"此外如果",用于引出下一个判断条件。

选择语句嵌套

嵌套,即在一个if...else语句里面继续使用if...else语句

if 判断条件_1:
    if 判断条件_2:
        代码块_1
    else:
        代码块_2
else:

2.循环语句

while循环

主要用于不确定循环的次数时,根据条件进行判断,条件成立,就去执行条件后的代码块,条件不成立,直接跳过。

while 判断条件:
   执行语句

for…in…循环

主要应用于知道循环的次数,直到遍历完整个序列的元素时,结束循环。

for 变量 in 序列:
   执行语句

3.相关语句

range() 函数

用来生成自然数的序列,用list()显示具体内容 。

range(start, stop, step)

start:开始,默认是从 0 开始,可省略;stop:结束,但不包括 stop;step:步长,默认为1,可省略。

break 语句

break语句用在while和for循环中,只要在循环里遇到break,则立即结束循环。

pass语句

pass是空语句,不做任何事情,一般用做占位语句。例如我们再搭建程序成体框架时,某些具体细节语句暂时不需要完善, 此时就可以通过 pass 语句来占位,留出语句位置或补齐所需要的语法格式。

continue 语句

continue语句用在while和for循环中,只要在循环里遇到continue, continue语句后的命令不在继续执行,中断本次循环,继续下一次循环。

四、案例及其作业分析

逢7拍腿游戏

total=99
i=random.randint(0,10)
print("随机生成数为:",i)
total=total-i+1
for number in range(i,100):
    if number %7==0:
        print(number)
        continue
    else:
        string=str(number)
        if string.endswith('7'):
            print(number)
            continue
        else: pass
    total-=1
print("从1数到99共拍腿",total,"次。")

这个案例中需要在1~10之间随机一个数字开始进行拍腿游戏,每次缝7拍腿,最后计算拍腿的数字以及拍腿的次数,由于加入了随机数生成,所以total的初始值变成了未知,所以在开始计算之前需要对total的值进行处理,案例中continue的使用成了点睛之笔,如果进入循环的选择语句后经过continue后直接跳出循环,所以不经过循环的次数都被减去,计算出拍腿次数。

篮球弹跳

篮球从一定高度向下掉落,每一次弹起的高度,都是前一次高度的三分之一。一次掉落和一次弹起视为一次弹跳。假设篮球初始高度为15米。

请用程序实现:输入篮球弹跳的次数num,计算num次后篮球所在的高度,并将计算结果输出。

high=15
def bounce(num):
    if num==0:
        return high
    else:
        return high/3**num
result=bounce(num)
print("篮球在弹起",num,"次后剩余的高度为:",result)

首先定义一个函数:当输入为0时,代表弹跳0次,所以高度为15米,否则根据弹跳次数计算剩余高度。

五、学习心得

        通过这次的学习首先成功的安装了python以及anaconda,并且配置了其虚拟环境,并且在python中下载了所需要的库,并且创建了虚拟环境,解决了文件路径中文问题,并且通过了开题答辩,从而得知的报告的可行性的发展以及中间存在的问题,当然除了报告,还学习了python的基础并且深刻体会了相关语句的操作,通过相关的案例以及作业,从中找到了许多问题,例如拍腿问题中,continue语句的退出逻辑,在加入随机数后,解决运行的bug。所以这次学习的知识总结如下:1、VGG16模型的认知。2、python环境的搭建与配置3、python基础知识的学习与相关语句的应用。

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值