精华内容
下载资源
问答
  • 借鉴意义怎么写
    千次阅读
    2021-06-24 12:55:58

    课题申报研究,课题研究的背景和意义是必须要在课题申报书中进行体现的,没有或者写的不好,可能会给人不信任或怀疑。那么,课题研究的背景和意义怎么写?

    首先,课题研究的背景

    即提出问题,阐述研究该课题的原因。研究背景包括理论背景和现实需要。还要综述国内外关于同类课题研究的现状:①人家在研究什么、研究到什么程度?②找出你想研究而别人还没有做的问题。③他人已做过,你认为做得不够(或有缺陷),提出完善的想法或措施。④别人已做过,你重做实验来验证。

    其次,课题研究的意义

    通过该课题研究将解决什么问题(或得到什么结论),而这一问题的解决(或结论的得出)有什么意义。

    最后,实例说明课题研究背景和意义怎么写

    (一)课题研究的现实背景

    课程资源是新课程改革所提出的一个重要概念。没有课程资源的广泛支持,再美好的课程改革理念也很难变成实际的教育效果。为此,新课程改革不仅明确了课程资源的概念,而且十分强调,无论是国家课程的创造性实施,还是地方课程和校本课程的建设,都应该充分发挥当地课程资源的优势,因地制宜地开发和利用各种课程资源,更好地实现课程改革的目标。

    现行华东师大版数学教材的编写力求呈现“问题情境——建立数学模型——解释、应用与拓展”的模式,每节的节前语都有一个情境问题,但有些问题对大多数学生来说不够熟悉、较抽象,这就需要教师在教学中重新处理,而选用学生身边的素材创设情境。 然而,在当前的初中数学教学中,教师对乡土资源的挖掘和利用仍却缺少关注。为了及早弥补这方面的缺失,本课题想作一番尝试。

    (二)研究的意义

    通过对乡土资源的挖掘、收集和利用的研究,我们认为对当前及今后的教学实践具有重大的意义,具体体现在教师和学生两个方面。

    1.学生方面:

    (1)培养学生的观察、操作实践能力,激发学生的数学兴趣及良好的行为习惯,提高学生在学习和生活中自主发现问题、解决问题的能力,并使之内化为自身的需要,为培养高素质的未来人才奠定基础。

    (2)拓展学生数学学习的空间,提高学生的数学综合素养,加深学生对家乡风土人情的了解,激发学生对家乡的热爱之情。

    (3)逐步改变原有的数学课堂教学中学生学习方式被动单一、学习主动性难以发挥的问题。

    2.教师方面:

    (1)转变教师的教育观念,提高教师钻研教材、灵活使用教材、提高课堂教学设计的能力。

    (2)解决当前初中数学教学内容封闭,脱离学生生活、教学方式单一,忽视学生学习需要的状况,建立一种开放的、与生活相结合的、生动的课堂教学方式,探索符合新课程标准的数学教学新模式。

    (3)为其他教师今后的教学提供借鉴和有效帮助。

    更多相关内容
  • 这是一个用vs2008c#的Silverlight跟随鼠标的例子很有借鉴意义哦希望大家来下载
  • 在最后 现在是周五的23:11,部门聚餐稍微喝了一些,微醺,一口气完这篇文章,在表达上可能会有些不当,如果能对大家有一些借鉴意义的话,我还是觉得非常荣幸的,这篇文章的短板是我没能从别的岗位上来分析,像...

    1. 写在前头

    大家好我是方圆,这篇帖子仅仅是以我的眼界来复盘我的校招过程,给同学们出一些选Offer的建议,不一定有用,但是我能想到的都在帖子里了,还是希望能帮助到大家


    2. 秋招、春招拿到的Offer

    • 以下Offer顺序按照选择优先级从小到大排列
    1. 经纬恒润(秋招,天津)Java开发工程师
    2. 小米集团(秋招,北京)Java开发工程师
    3. 捷信消费金融有限公司(秋招,天津外企)Java开发工程师
    4. 京东集团(春招,北京)Java开发工程师
    5. 美团(春招,北京)Java开发工程师,假设拿到了这个Offer。这里要解释一下,美团所有流程都走完了,HR说节后会有同事联系我,但是我什么都没等到,连感谢信都没有,如果有美团的HR看见了这一条,就容我在这里嘲笑一番吧(狗头.jpg)

    3. 先讲故事吧

    秋招的时候,我是一心想留天津,一是因为我大学就在天津,我实在是太喜欢天津的风土人情了,你问我为嘛喜欢?你听听天津话就知道了,“耐人儿!”;再者就是天津嘛,北方第二城,如果选择留北方,北京相比于天津,不论是房子还是户口,都是难上加难,在天津家人帮着交个首付,自己一点点儿的还,就是慢节奏的一边工作一边生活,当时我觉得我会喜欢这种生活,所以我秋招投的所有简历,都围绕着天津,当然也如上所述,也拿了俩offer。经纬恒润是开始我觉得我非科班学了半年,没有实力冲什么大厂,在我看来能拿到小厂的offer,我就满意了,实在不行我一点点往上涨呀。再之后就是小米,当时面完小米二面发挥很不错的时候,我一个人走在食堂的路上,一边走一边流眼泪,我是真的觉得我这半年不论多么累,多么不好走,都值得了,我特别清楚的记得,那天天气实在太好了,现在我还能回想起来落日的样子,在那个阶段我真的是太需要一个机会来证明我自己,来证明我还挺不错的,也是那个时候,我才真正的体会到每个人都想过上自己想要的生活。之后再拿到捷信offer的时候,就没了这种感觉,更多的还是在理性上的考量,一是两家薪水大差不差,当然小米更多一些,但是没有多到让我动心,天津相比于北京的开销和生活节奏,都是前者花费更小且生活更轻松一些二是外企的工作节奏,朝九晚六,完全没有工作压力,还能协调生活,相比于小米,我觉得捷信对我的吸引力更大一些,当然,以上的想法,都是在我没有进入工作环境之前,都是在我觉得的状态下,但是当我进入捷信实习的时候,都变了

    “靠,这工作节奏也太轻松了吧,六点下班,吃个饭回到家七点多一点儿,回家刷刷b站,我这一下都看到头了”,这就是我在捷信实习的时候,给我带来的最大感受,只有当我真正经历的时候,我才知道,我到底喜欢还是不喜欢,所以我又去春招了。当我准备春招的时候,其实我心里有很多情绪化的怨气,“为什么我刚刚把生活定下来,又要折腾,又要折腾想去北京,又要把这些面试的东西都捡起来,为什么是我!”,讲这些我只是想表达,我也不过是个普通人罢了,我也会情绪化,我也会觉得在这个卷来卷去的环境里觉得不舒服。在年前我约了我最好的朋友吃饭,我朋友说,“你到这个份儿上,我觉得已经很不容易了,让我想想都难,但是什么是自己真正想要的,还是得自己去争取,光说你想去北京,你得行动起来啊,我相信你去得成北京”,对啊,得试试啊,不试试怎么知道呢?

    之后就是年后先面字节,被按在地上摩擦,我父母问我,“XX,最近怎么不太开心呀?”,“哈哈,没啥,最近上课压力还挺大的”,我没敢直说,我不想留天津,哪怕是当时秋招时放弃读研,也是我在真正的拿到了捷信的offer之后才跟家人交代的,我是真的不想让他们为我担心。想换一份工作去北京的想法,是后来我拿到了京东的offer之后才跟他们说,但是他们并没有表现出来我拿了更好的offer、更多的薪水之下的喜悦,而是“我们觉得你留天津挺好的,别让自己太累了”,可能这就是父母对我的期许吧!当时我收到京东offer的时候,我立马就签了,为什么呀?因为我觉得我能拿到大厂offer有运气成分,而且我实在太需要一个行业背书了,我非科班太让我难堪了,其实如果后来美团在节后给我发offer,我也会立马违约京东签美团,不为别的,就因为美团钱更多,其他条件差不多,甚至美团行业背书、技术更好,当然没去成美团这都是后话了

    这里我还是想穿插一个插曲,当时我跟捷信的HR,Alina,讲我要去京东的时候,她极力的挽留我,“XX啊,多好的孩子啊,我非常迫切的希望你能留下来,你可以在咱部门里边随便挑,慢慢儿轮岗,你喜欢哪个部门,你就留哪个部门,这些我都能包容你,这是咱公司第一年招应届生,我非常希望你能留下来,我觉得你在京东不如在这边儿自由,也没这么好的机会选择你喜欢的部门”,其实现在想起来心里还是非常想感谢她,其实那时候我不太值得被这样极力的挽留,我也只不过是是个把面试题刷的好一些的半吊子而已。就让我把这个插曲当做职场上少见的温情吧!


    4. 开始说为什么这么选

    1. 公司背书
      这个其实是我在后来春招想来北京的时候最看重的一点,公司越大,互联网程序员背书越好,我就越倾向,不为别的,就为了摆脱我自己非科班的身份,让我知道大公司内部开发是怎样的流程,它是怎样运作的,它到底像不像是我之前实习的公司一样,它们有什么区别等等。我也想以此来让我在两到三年之后,能拿到更好的机会来作为跳板。于我而言,直白点儿就是,“我就是冲着你的背书来的”,不为你给我开多少薪水,工作制度什么样,哪怕没我在天津过得好,都无所谓,我就想先把大厂的Logo打上,后话呢,等我有本事议价了再说,这就是我很看重的一点。当然这仅限于我非科班的选择上,可能大家对此并没有很大的执念,或者大家觉得我在这一点儿上比较激进了,但是我真的是这么想的… 当时Alina也跟我说过这点,你凭啥不肯松一口气留下来呀,“我就是冲着京东的背书去的”…

    2. Base
      我的Base选择其实都是围绕着北方来的,当我在天津实习完的时候,我也是才发现我真的是不太习惯慢节奏的生活,至少现在没有,也所谓只有自己真正经历了才能更加的了解自己想要什么。我还有一个体会就是,只有当我真正的经历过这些紧张的生活之后,我才能体会好好生活的回甘。投简历的时候我也只有一个执念,我只投北京。以北方来说,北京的互联网环境最好,机会也最多,这都是天津比不了的,我想要的就是依托这个城市有更好的成长,其实我没想过一定要在北京定居下来生活,从现在的视角来复盘这个选择,我觉得当时视角还是窄了一些,我也没有因为我离家很近就经常回家,或者说在离家很近的城市工作给我很强的归属感,都没有,反而如果现在让我再去经历春招的话,我会把Base选择扩大一些,北京,深圳,杭州,在我看来这三个城市都是程序员很好的选择,尤其杭州的人才引进政策,深圳对年轻人的包容等等…

    3. 部门业务和个人技术成长
      如果是公司核心部门的话,我觉得很值得去,这不是废话吗?我现在的部门业务都是2B,高并发等复杂场景并不多见,平时工作更多的还是倾向在做业务上,在技术上的提升在我现在来看非常有限,如果可以选或者有的选,我还是更加倾向的去选技术部门,能带来更好的技术成长,何乐而不为呢?我觉得这一点选择只是针对很喜欢写代码,很喜欢钻研技术的同学,因为于我而言,写代码的快乐相比做业务带来的快乐,不言而喻。如果并不是很喜欢写代码,像带我的师傅一样,他就是很喜欢做业务,从他工作的那一天就就专注在业务上,能把复杂的业务场景捋清楚,代码什么的不太在乎,他工作起来也的确很快乐,找到自己真正的兴趣点,才是这一点我想说的吧。我师傅也和我说,“这一年内,该好好的考虑自己是更倾向于业务还是技术,之后得让自己做好抉择,不能像个无头苍蝇,乱撞”,“但是呢,也别压力太大,这一年内上边儿给啥任务,执行就行了”。现在能安慰自己的就是一个新人初入职场,哪怕是做业务总能学到东西

    4. 部门工作氛围
      这一点我觉得对我来说是比较玄学的一点儿,碰上碰不上好部门好导师全靠运气,因为我没有资源去了解这些。我去问我学长“京东的XX部门怎么样?”,“哪个大厂好进一些能捡漏呀?”,“进去之后让哪个导师带,能帮我介绍下吗?”,“工作制度咋样啊,加班严重不严重呀?”,这些我都无从问起,我非科班,学长们跨行很少,大家都不在一个行业,谁知道我说的夹娃是代码还是娃娃机啊?所以,如果大家手头有资源问的话,就张开口去问吧,这可能真的能帮大家避开一些坑,免得因为部门整改或者遇到不当人的师傅让第一次工作体验不太顺利,这一点我也仅仅是能给一些建议,实操起来,还得看大家呀。在此我也要感谢我能遇到一个好导师吧!

    5. 薪水
      我把这一点放在了最后,因为我觉得除了特别优秀的同学以外,大家薪资水平其实相差不是特别大。如果在其他情况近乎一致的话,那就,“谁给钱多跟谁干,他说咋干就咋干”,哈哈哈哈,其实我还是觉得真的有可比性的还是在两三年后的自己身怀本事的议价能力,可能这一点儿有些局限了?


    5. 写在最后

    现在是周五的23:11,部门聚餐稍微喝了一些,微醺,一口气写完这篇文章,在表达上可能会有些不当,如果能对大家有一些借鉴意义的话,我还是觉得非常荣幸的,这篇文章的短板是我没能从别的岗位上来分析,像前端,测试等等,我也没考虑过投国企,再者就是我也没女朋友,少了这方面的抉择,所以大家还是要辩证的看,去真正的遵从自己的内心,而不是人云亦云,我想这才是最好的状态,也是我写这些东西最想表达的东西,你做的选择就是你自己最想要的。这也仅仅是我从后端Java开发的眼界去看这件事儿,如果以我现在的想法再去经历春招的话,我一定会再多面几家大厂,而不是拿了某个大厂的offer就收手,当然这都是后话了,我当时的状态也确实有一些疲惫,要不然怎么才是从上帝视角看待这件事儿呢?值得感叹的是,哪怕是拿到了大厂的offer,也再没有了当时得到小米认可时的那份喜悦,更多的还是一份坦然和平静,如果我把这说成是水到渠成可能有些不低调了,但是这就是给我的最直观的感受。

    现在我也是一个工作了近半年的打工人了,在一些想法上和我在上学时已经有了很大的改变,但是当我静下来时,还是会怀念在大学的日子,怀念那个单纯快乐又无忧无虑的我,怀念和同学一起看比赛大喊“RNG牛逼”的日子,怀念大学门口健身房,怀念和大家一起看过的漂亮姑娘,怀念文博,怀念利志,怀念子健,怀念钧淏、保伟、老高、彬宇、某凯、老铁,怀念我的舍友们,怀念我一时不翻手机却想不起来名字的好朋友们,怀念河北工业大学…

    最后,怀念归怀念,没给自己留下什么遗憾是我现在最感激的吧,我想大家在选择Offer的阶段,还没真正的从大学生活里走出来,那就好好的去珍惜这最后一段大学时光吧,这真的是我最最最快乐的四年!


    有时出门我还会下意识的摸下有没有带门禁卡,“原来我已经毕业了”


    牛客原文 —— “如果有借鉴意义的话” —— 从上帝视角复盘Offer选择

    展开全文
  • 2010年过360自启动,有借鉴意义:最近发现360另一漏洞,360的主动防御程序360Tray.exe程序退出后,HIPS保护就基本上不起什么作用,只留一个ZhuDongFangYu.exe保护自身。而360Tray.exe不是系统进程,在系统关机或注销...
  • 刚开始涉及到图像处理的时候,在opencv等库中总会看到mask这么一个参数,非常的不理解,在查询一系列资料之后,下它们,以供翻阅。 什么是掩膜(mask) 数字图像处理中的掩膜的概念是借鉴于PCB制版的过程,在...
  • 大学生为什么要博客?意义

    千次阅读 2020-02-17 21:39:23
    为什么要博客? 1,弥补自身学习时间不足 回想起刚上大学,学校老师建议我们学着博客,等到毕业有一份自己的博客可以展示,既提升自己又受益他人,现在看来有些晚。 2,表达能力 用文字把事讲明白。的确有点难 3...

    为什么要写博客?

    1,弥补自身学习时间不足

    回想起刚上大学,学校老师建议我们学着写博客,等到毕业有一份自己的博客可以展示,既提升自己又受益他人,现在看来有些晚。

    2,表达能力

    用文字把事讲明白,真的是一件比较难的事情.

    3,高效率学习

    艾宾浩斯记忆曲线,艾宾浩斯遗忘曲线
    总结来说就是,你上课记住,但会忘得很快,要反复看反复记忆。
    最佳学习方法就是,学会后给他人讲,反复记忆。

    4, 直接收益

    大学生刚上学就业慌得一匹,写博客有利于面试,面试时有博客或自己的项目都是加分项。

    5, 积累性学习法

    一天看完一本书当然不科学,每天积累小知识就不会厌倦。

    6, 直面回答

    因为要写这方面的知识,事先一定会先借鉴他人的文档,在写下自己的想法的时候,自己与他人的想法便会出现偏差,从发现偏差->纠正自身->换位理解,你就学会了这项知识点,这个博客就变得有意义。

    7,别人的博客写的那么好,自己写和别人差太多了,自己写还有意义吗?

    博客盗用现象很多,你的原创带来的是你自己的收益,买来的会比你自己写的更好,但没太大意义。自己写的博客像个憨憨也没关系,写出来就是给别人看的。

    8, 看完了,然后呢

    (1)做点什么,有利于你当前知识的进步,积累性学习也好,总之别闲着。
    (2)你总是看着别人做,自己当然不是有进步(别人好与坏都与你无关).

    子乔语录

    展开全文
  • FlyAi实战之MNIST手写数字识别练习赛(准确率99.55%)

    千次阅读 热门讨论 2019-10-22 19:29:11
    这个想法最初是来源于用小的转换来改变训练数据,以重现某人在一个数字时发生的变化,尤其适用于数据量较小的情况。以改变数组表示的方式改变训练数据,同时保持标签不变的方法称为数据增强技术。一些常用增强是...

    欢迎关注WX公众号:【程序员管小亮】

    一、介绍

    最近发现了一个比较不错的竞赛平台,很适合练手,也就是很多人熟知的 FlyAi
    在这里插入图片描述
    为什么觉得它好呢?

    直观上两点很吸引我:1. 有奖金!!!2. 难度适中0-0

    话不多说,直接正题,MNIST手写数字识别练习赛。

    MNIST 是计算机视觉领域的 hello world 数据集。自从1999年发布以来,这个经典的手写数字识别数据集就成为分类算法的基础,即使新的机器学习技术在不停地出现,但 MNIST 仍然是研究人员和学习者的可靠资源。这里选择用 keras API(Tensorflow backend)来构建它,这会使得整个过程非常直观且便于理解,这也是 Keras 唯一的优势,因为其他方面它真的不如 TensorFlowpytorch

    简单跑了一次,没怎么认真调参,跑了四十五轮(感觉三十多轮就收敛的很好了),结果还马马虎虎,99.55%
    在这里插入图片描述

    注:如果多跑几次,很大可能上会出一个更好的结果,因为初始化和其他的原因,每次的结果稍稍带有一些偶然性,如果有兴致,可以多跑几次选一个最佳结果。

    FlyAi的一个优势在于它并不需要多少代码的实际编写,因为会有代码示例,只需要填写或者改动网络结构和超参数即可。
    在这里插入图片描述

    二、代码实现

    正常的一个流程应该是如下:

    • 数据加载
    • 归一化
    • 定义网络结构
    • 设置优化器和退火函数
    • 数据增强
    • 拟合数据

    不过 FlyAi 较为简单一些,很多都帮你弄好了。

    1_数据加载

    FlyAI 的项目中封装了 Dataset 类,可以实现对数据的一些基本操作,比如加载批量训练数据,示例中已经写好

    from flyai.dataset import Dataset
    ...
    ...
    dataset = Dataset(epochs=args.EPOCHS, batch=args.BATCH)
    ...
    ...
    

    processor.py 完成了对单张图片的读取。

    # -*- coding: utf-8 -*
    import numpy as np
    import cv2
    from flyai.processor.base import Base
    from path import DATA_PATH
    import os
    
    class Processor(Base):
        def input_x(self, image_path):
            # 获取图片路径
            path = os.path.join(DATA_PATH, image_path)
            # 读取图片
            img = cv2.imread(path)
            # 将图片BGR格式转换成RGB格式
            img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
            # 对图片进行归一化操作
            img = img / 255.0
            # 将图片转换成 [28, 28, 1]
            img = img[:, :, 0]
            img = img.reshape(28, 28, 1)
            return img
    
        def input_y(self, label):
            # 对标签进行onehot化
            one_hot_label = np.zeros([10])
            # 生成全0矩阵
            one_hot_label[label] = 1
            # 相应标签位置置
            return one_hot_label
    
        def output_y(self, data):
            return np.argmax(data)
    

    该数据集中的数字图片是由 250 个不同职业的人手写绘制的,其中训练集数据一共 60000 张图片,测试集数据一共 10000 张图片。每张手写数字图片大小都是 28*28,每张图片代表的是从 09 中的每个数字。
    在这里插入图片描述
    官网在此:http://yann.lecun.com/exdb/mnist/

    2_归一化

    归一化的目的就是使得预处理的数据被限定在一定的范围内(比如 [0,1] 或者 [-1,1]),从而消除奇异样本数据导致的不良影响。

    ...
    ...
    # 将图片BGR格式转换成RGB格式
    img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    # 对图片进行归一化操作
    img = img / 255.0
    # 将图片转换成 [28, 28, 1]
    img = img[:, :, 0]
    img = img.reshape(28, 28, 1)
    ...
    ...
    

    3_定义网络结构

    重头戏到了!!!

    这里使用了 Keras Sequential API,从输入开始,每次只需添加一个层。

    • 卷积(conv2d)层就像一组可学习的过滤器:前三个 conv2d 层设置32个过滤器,后三个层设置64个过滤器。

    • 池化(maxpool2d)层是一个下采样滤波器:它着眼于2个相邻像素,并选择最大值。这些都是用来减少计算成本,并在一定程度上也减少了过拟合。

    • 归一化层(BN)是一种正则化方法,可以加快收敛速度,控制并减少过拟合,同时还允许网络使用较大的学习率。

    • Dropout 是一种正则化方法,其中某些层的部分节点被随机忽略(将其 wieghts 设置为零)。这将随机丢弃网络的一个属性,并强制网络以分布式方式学习特性。该方法还提高了泛化能力,减少了过拟合。

    解决过拟合的方法可以看这个博客——深度学习100问之神经网络中解决过拟合的几种方法

    • relu 是线性整流函数,又称修正线性单元,也就是俗称的激活函数,公式是 max(0,x)relu 的主要作用就是向网络中添加非线性,故也称为非线性激活函数。

    • Flatten 层用于将最终特征映射转换为一个一维向量,展开之后可以在某些 卷积/maxpool 层之后使用全连接层,它结合了以前卷积层提取的所有局部特征。

    • 全连接(稠密)层是用于实现分类,即人工神经网络分类器,在最后一层(Dense(10, activation='softmax')),网络输出每个类别的概率分布。

    # 构建网络
    sqeue = Sequential()
    
    # 设置CNN模型
    sqeue.add(Conv2D(32, kernel_size = 3, activation='relu', input_shape = (28, 28, 1)))
    sqeue.add(BatchNormalization())
    sqeue.add(Conv2D(32, kernel_size = 3, activation='relu'))
    sqeue.add(BatchNormalization())
    sqeue.add(Conv2D(32, kernel_size = 5, strides=2, padding='same', activation='relu'))
    sqeue.add(BatchNormalization())
    sqeue.add(Dropout(0.4))
    
    sqeue.add(Conv2D(64, kernel_size = 3, activation='relu'))
    sqeue.add(BatchNormalization())
    sqeue.add(Conv2D(64, kernel_size = 3, activation='relu'))
    sqeue.add(BatchNormalization())
    sqeue.add(Conv2D(64, kernel_size = 5, strides=2, padding='same', activation='relu'))
    sqeue.add(BatchNormalization())
    sqeue.add(Dropout(0.4))
    
    sqeue.add(Conv2D(128, kernel_size = 4, activation='relu'))
    sqeue.add(BatchNormalization())
    sqeue.add(Flatten())
    sqeue.add(Dropout(0.4))
    sqeue.add(Dense(10, activation='softmax'))
    

    如果算不清楚各个行的参数,可以可视化一下。

    # 输出模型各层的参数状况
    sqeue.summary()
    

    在这里插入图片描述
    如果对于 CNN 的一些知识不知道的话,可以看一下这个高赞博客——大话卷积神经网络CNN(干货满满)

    4_设置优化器和退火函数

    一旦网络模型构建成功,就需要有一个损失函数和一个优化算法。

    • 损失函数用来衡量模型在带有已知标签的图像数据集上的性能有多差,它是目标标签和预测标签之间的错误率。使用最多的是交叉熵损失函数,即 categorical_crossentropy loss

    • 优化器是最重要的功能,它将迭代地改进参数(filters kernel values, weights and bias of neurons ...),以最小化损失函数。

      • 可以选择 rmsprop,它是一个非常有效的优化器,以一种非常简单的方式调整 adagrad 方法,试图降低其攻击性强、单调下降的学习率。
      • 还可以使用 adam
      • 也可以使用 sgd 优化器,但它比 rmsprop 慢。
    ...
    sqeue.compile(loss='categorical_crossentropy', optimizer="adam", metrics=['accuracy'])
    ...
    

    为了使优化器更快地收敛,并且最接近全局最小损失函数, 这里使用了一种学习率(lr)的退火方法。lr 是学习率,它越高,步长越大,收敛速度越快。然而,由于 lr 较高,采样非常差,优化器可能会陷入局部极小值。所以可以在训练过程中降低学习率,以有效地达到损失函数的全局最小。为了保持计算速度快、lr 值高的优点,根据需要(在精度没有提高的情况下)每 x 步动态地减少 lr 值。

    ...
    # 设置一个学习率衰减
    annealer = LearningRateScheduler(lambda x: 1e-3 * 0.95 ** x)
    ...
    ...
    history = sqeue.fit(x, y, batch_size=args.BATCH, verbose=0, 
    						validation_data=(x_val, y_val),
    						callbacks=[annealer])
    ...
    

    记得要在拟合中填写学习率衰减!!!

    5_数据增强

    又称数据扩充/数据增广。

    为了避免过拟合问题,需要对手写数字数据集进行人工扩充,它可以让你现有的数据集变得更大。这个想法最初是来源于用小的转换来改变训练数据,以重现某人在写一个数字时发生的变化,尤其适用于数据量较小的情况。以改变数组表示的方式改变训练数据,同时保持标签不变的方法称为数据增强技术。一些常用增强是灰度、水平翻转、垂直翻转、随机裁剪、颜色抖动、平移、旋转还有缩放等等。

    通过数据增强可以轻松地将训练集的数量增加一倍或多倍,从而可以创建一个非常健壮的模型,因此这个改进很重要!!!

    #数据增强
    data_augment = ImageDataGenerator(
            featurewise_center=False,  				# 在数据集上将输入平均值设置为0
            samplewise_center=False,  				# 将每个样本的平均值设置为0
            featurewise_std_normalization=False,    # 将输入除以数据集的std
            samplewise_std_normalization=False,  	# 将每个输入除以它的std
            zca_whitening=False,  					# 使用ZCA白化
            rotation_range=10,  					# 在范围内随机旋转图像(0到180度)
            zoom_range = 0.1, 						# 随机缩放图像
            width_shift_range=0.1,  				# 水平随机移动图像(总宽度的一部分)
            height_shift_range=0.1,  				# 垂直随机移动图像(总高度的一部分)
            horizontal_flip=False,  				# 随机翻转图像
            vertical_flip=False)  					# 随机翻转图像
    

    为了增加数据选择了:

    • 训练图像随机旋转 10 度;
    • 随机缩放 10% 一些训练图像;
    • 将图像水平移动 10% 的宽度;
    • 将图像垂直移动 10% 的高度;
    • 没有应用垂直翻转或水平翻转,因为它可能导致错误分类对称数字,如 69

    6_拟合数据

    示例中写好了,直接用就可以了,不要忘记了前面说的学习率衰减即可。

    history = sqeue.fit(x, y, batch_size=args.BATCH, verbose=0, 
    						validation_data=(x_val, y_val),
    						callbacks=[annealer])
    

    在这里插入图片描述


    7_训练轮数和批大小

    在调交运行时会有提示,真的方便!!!

    在这里插入图片描述

    EPOCHS 45      BATCH SIZE 64
    
    • EPOCHS 就是训练轮数,需要尝试才能找到最佳,但是尝试太多又会浪费时间,我一般会首先尝试 30,然后尝试 4515,像第一名的 1000 轮,不建议。

    • BATCH SIZE 就是批大小,即每一次读入到网络中的数据数量,太小的话会导致数据随机性过大,极其影像网络的收敛;太大的话会导致显卡 爆炸,因为数据会预先读入到显存中(极其不准确的说法,但是大概是这个意思),所以你的显存大小决定了你的最大批大小,一般适度即可,或者可以尝试调节看看结果。

    8_准确率和损失

    示例中自带的代码,直接提交即可,😃

    ...
    ...
    for _ in range(dataset.get_step()):
        step += 1
        first_time = int(time.time())
        x_train, y_train = dataset.next_train_batch()
        x_val, y_val = dataset.next_validation_batch()
        # 数据增强
        batch_gen = data_augment.flow(x_train, y=y_train, batch_size=args.BATCH)
        x, y = next(batch_gen)
    
        history = sqeue.fit(x, y, batch_size=args.BATCH, verbose=0, 
    						validation_data=(x_val, y_val),
    						callbacks=[annealer])
        print(str(step) + "/" + str(dataset.get_step()))
        train_log(train_loss=history.history['loss'][0], train_acc=history.history['accuracy'][0],
                  val_loss=history.history['val_loss'][0], val_acc=history.history['val_accuracy'][0])
        val_acc = history.history['val_accuracy'][0]
        # 用 val_acc_list 保存最新的 10 个 val_acc
        if len(val_acc_list) >= 10:
            val_acc_list.pop(0)
            val_acc_list.append(val_acc)
        else:
            val_acc_list.append(val_acc)
        # 每隔10步进行一次比较,用来保存最优结果
        if step % 10 == 0 and np.mean(val_acc_list) >= best_score:
            best_score = np.mean(val_acc_list)
            model.save_model(sqeue, MODEL_PATH, overwrite=True)
            print("********************  step %d, best accuracy %g" % (step, best_score))
    

    这个部分相当于可视化了整个训练过程,FlyAi 提供了这个过程的实现,只需要观察即可。
    在这里插入图片描述
    如图,蓝色是验证集,可以看到蓝色曲线收敛的非常好,浮动很小,这就是一个健康的曲线。

    三、总结

    整体来说,

    • Keras 的上手难度很低,很多层不需要像 TensorFlow 那样一点点去写,只要调整网络结构和超参数即可实现学习过程;
    • FlyAi 的初体验也是不错的,减少了上手的学习成本,但是还是需要你去读懂代码,这样才不算是浪费了一次学习的机会;
    • MNIST 作为计算机视觉的 Hello,World 固然有很多借鉴意义,但是还是过于简单的 CNN 模型,建议不要投入过多精力,要放眼宇宙星辰,去做更多的比赛!!!

    最后的警告,不要直接把开头的 GitHub 代码 fork 一下就算了,还是要自己手敲一下,改一改参数去体会每个参数的意义!!!

    展开全文
  • 观后感的信签纸格式

    千次阅读 2020-12-23 21:49:51
    导语:观后感,就是看了一部影片或连续剧后,把具体感受和得到的启示成的文章。所谓“感”,可以是从作品中领悟出来的道理或精湛的思想,那么关于“观后感的格式”怎么呢?一起来看看吧!观后感的格式一、格式...
  • 因此想请教一下前辈们:在发表文章的过程中有哪些经验可借鉴? 补充一点信息: 我指的不是普遍适用的学术型文章的写作方式:比如用语要精练准确、注重表达的逻辑性之类,而是诸如: 1、是先不管格式篇幅图片...
  • 最小二乘法 几何意义

    千次阅读 2019-07-17 15:43:43
    上次了篇文章来阐述几何投影与傅里叶级数的联系,今天我想谈谈几何投影与最小二乘法的联系,这种联系的好处是不管多复杂的公式,又可以被瞬间记住了。本文的中心思想是:最小二乘法中的几何意义是高维空间中的一个...
  • 今天在家周末休息,有点时间来整理一点基金申请申请的体会,希望能给刚毕业不久的年轻虫子提供点借鉴作用。 先还是介绍一下简历增加体会的可信度吧。本人07年7月博士毕业留校任教,目前作为主持人已经批准的纵向课题...
  • 妆容设计灵感怎么

    千次阅读 2020-12-21 14:55:26
    1.室内设计灵感来源怎么估计是在设计说明或是报告之类的文章吧。做方案时有时候是想到什么做什么,看到什么参考什么,哪来那么多灵感。不过要把这些跟你的案例串起来,就得找点说头。首先,你的方案有主题没有?...
  • 缺陷报告怎么

    千次阅读 2022-01-26 19:01:54
    缺陷报告怎么 意义:开发人员和测试人员沟通的重要工具 1、缺陷编号(Defect ID)------提交缺陷的顺序 2、缺陷标题(summary) ------简明扼要的描述缺陷 3、缺陷的发现者(Defect by)– 4、发现缺陷的日期...
  • 手写数字识别的现状

    千次阅读 2021-05-22 15:01:48
    其中,联机手写数字识别相对较简 单些,它利用实时监控数字输入终端将所数字笔划变为一维电信号、笔尖移动的轨迹变为 坐标点序列输入电脑,因此联机手写数字识别处理的是一维笔划串信息,这些信息涵盖了笔划走向、...
  • 竞品分析怎么

    千次阅读 2018-06-14 08:50:35
    核心的目标用户相同但是解决的需求不同的产品,其实严格意义上来说不算是竞品,甚至一般来说可以是合作伙伴,但是不管是什么,它们对我们自己的产品也是有很多借鉴价值的。 举个可能不太恰当的例子,比如说: 一...
  • 什么是token和使用的意义

    千次阅读 2020-03-03 22:04:34
    二、token的意义 令牌:代表执行某些操作的权利和对象,访问令牌(Assess token)表示访问操作控制主题的系统对象,令牌是一种控制站点的特殊帧,以区别数据帧和其他控制帧 三、token的作用 Token 是在服务端产生的。...
  • 缓存的双一致性一. 何谓双一致性二. 解决方案2.1 先更新数据库,再更新缓存2.1.1 问题1 每秒一万次改请求,一次读请求?2.2 先删除缓存,再更新数据库2.3 先更新数据库,再删除缓存2.4 最终问题制作不易,转载都请...
  • 图像处理中掩膜(mask)的意义

    万次阅读 多人点赞 2016-12-05 17:27:18
    刚开始涉及到图像处理的时候,在opencv等库中总会看到mask这么一个参数,非常的不理解,在查询一系列资料之后,下它们,以供翻阅。 数字图像处理中的掩膜的概念是借鉴于PCB制版的过程,在半导体制造中,许多芯片...
  • 十年老码农佛系总结,新博主可以借鉴的万粉之路

    千次阅读 多人点赞 2022-01-08 12:37:51
    今天特地找到了以前的老号,不知不觉了十三年代码! 总结: 4个一些:一些粉丝,一些专栏,一些奖品,帮助一些人 来看一些非严肃数据 今年涨了近2万多粉丝 入驻了多个平台拿了一些专家称号 跟小伙伴合力经营了一...
  • ④ 不要使用纯数字、中文等命名,尽量使用英文字母来表示 ⑤ 命名要有意义,尽量使别人一眼就知道这个类名的目的 案例 利用类选择器画三个盒子 利用类选择器画三个盒子 有点意思 这是红色 这是绿色 这又是红色 2.4 ...
  • 用户故事和MVC没有关系,因为MVC是实现方法,因此在思考用户故事的时候,不要一下就想到实现方法,很容易把故事...但相信对Java中的MVC也有借鉴意义。如果您已经认可之六中产生用户故事的方法,那么也就得到了这样的一
  • 但这并不意味着,没测试经验、分析能力弱就不能好用例,还是有方法可循的。作为混迹测试职场 9 年的老人,给大家分享一些用例编写的心得,接下来我会从以下几个方面展开来讲: 测试用例概念、作用、内容等介绍 ...
  • 数据结构实践课程-表

    2021-06-22 06:52:05
    数据结构是非常重要,无论是考研还是...课程中讲的用C语言实现面向对象的思想,借鉴了linux内核和redis源代码,非常有实现意义。希望大家能通过这个课提高自己,有任务问题讲随时给我留言。我非常愿意和大家讨论技术。
  • 前两年自己的一个完整的基于采集卡的网络硬盘监控系统,中间使用了数据库操作,串口操作,网络通信,界面编程等等,很丰富的内容。...虽然没有采集卡不能运行,但作为一个大型程序的开发,有很好的借鉴意义
  • 你真的思考过自己的代码为啥这么垃圾吗?

    千次阅读 多人点赞 2021-09-27 11:18:00
    从 Java 8开始,Java 官方的 SDK 借鉴了各种程序库,引入了全新的日期时间解决方案。这套解决方案与原有的解决方案是完全独立的,也就是说,使用这套全新的解决方案完全可以应对我们的所有工作。 我们现在的这个项目...
  • //上一行是注释好像没有意义,测试后发现,post来的数据,并没有把+替换为空格 if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image, $result)){ //匹配成功 if($result[2] == 'jpeg'){ $...
  • 牛逼!Java 从入门到精通,超全汇总版

    万次阅读 多人点赞 2021-05-06 19:40:33
    文章目录Java 基础Head First JavaJava 核心技术卷一...Java 虚拟机Java 虚拟机规范HotSpot 实战自己动手 Java 虚拟机MySQLMySQL 基础教程SQL 基础教程深入浅出 MySQLMySQL 必知必会SQL 必知必会高性能 MySQLMySQL
  • SCI论文写作 -- 新手如何第一篇sci

    千次阅读 多人点赞 2021-03-02 22:21:00
    因为你是借鉴别人的实验方法,可能原创性不够、或者实验过程不够严谨,容易让人质疑。这时候,你就不要去投1区或者2区的杂志了,可以投3区或者4区的杂志。找到几本杂志之后,确定该杂志上,近年来是否有中国人发表的...
  • 文献综述怎么

    千次阅读 2020-02-13 19:35:02
    五、如何实现 六、模型构建与未来研究方向 既然文章的框架如此,那么我们日后文章也可以从中得到借鉴,以同样的行文格式来撰写自己的文章。 当我们看过越多优秀文献,我们在行文格式、框架、理论理解、用词、行文...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 43,498
精华内容 17,399
热门标签
关键字:

借鉴意义怎么写

友情链接: 1356506.rar