他15岁在监狱里学编程,37岁获释后年薪70万

Sony微单相机alpha6000 wifi远程控制(1) 引言 Sony’s Camera Remote API beta SDK allows you to control a number of Sony cameras, including Sony Action cams, Sony Alpha cameras and Lens Style cameras, wirelessly from another device. 索尼于2017年三月Re... 阅读详情

点击“程序IT圈”,选择“星标????”

13:30 在看|星标|留言,  真爱


量子位 报道 | 公众号 QbitAI

最近公众号有的文章负能量可能有点大,今天必须跟大家分享个比较励志的故事,废话不多说,直接开始!

22年前,他是轰动一时的少年杀人案凶犯,杀死了自己的弟弟,还没有成年、没有读过大学就被投入了监牢;

22年后,他出来成了一位硅谷程序员,和斯坦福毕业生做同事,年薪六位数,也就是至少10万美元。

他是扎卡里·莫尔(Zachary Moore),一名杀人犯、刑满释放人员、也是程序员。

22年的阶下囚生涯,莫尔到底经历了什么?是什么让他有了如此巨大的蜕变?

少年学坏,铸成大错

故事的主角莫尔,出生在80年代的加州雷德兰兹(Redlands),这是洛杉矶东边的一座小城。

莫尔的童年并不幸福,老爸老妈都是酒鬼,每天都一副喝大了的样子,甚至孩子饿了没饭吃也不管。更严重的是,莫尔还经常会被爸妈虐待。

在这种环境下,莫尔不仅有烟瘾酒瘾,甚至还染上了吸毒的毛病,情绪暴躁,思想极端。

于是,在15岁那年的深秋,莫尔犯下了极端严重的罪行。

那天晚上,他和家人大吵了一架,多年以来积攒的情绪,愤怒、嫉妒、痛苦涌上心头,一个邪恶的念头在莫尔脑海中浮现。

当晚,莫尔的弟弟在沙发上睡觉。而莫尔悄悄拿了一把刀,走近睡着的弟弟,用刀刺死了他。

未成年人手足相残,莫尔杀人案成了当时的社会热点,甚至连续登上了好几周的报纸头条。

法面无情,劳改26年

然而在当时的莫尔心里,他觉得自己并非主观要杀人,而是被悲惨的人生逼迫作恶,法庭上的律师也“甩锅”给了毒品、酗酒和家庭的虐待。

但法庭并不这么认为,铁面无情。莫尔谋杀的罪名成立了,15岁的他被判刑26年。

被判刑后,他先在少年犯监狱服刑,成年前又被转移到了专门关押重刑犯的高安全等级监狱。

最初,莫尔和很多狱友一样,不愿意正视自己做过的事情。他也常常惹麻烦,甚至被关押到了有“牢中牢”之称的Ad-Seg监狱。在那里,他每天有23个小时被关在牢房里,几乎不会和其他人接触。

但就是在最封闭的世界里,他开始认清自己的罪行:不是他长大的环境迫使他杀了弟弟,是他自己杀了弟弟。

“很多人都在跟我差不多的环境下长大,但他们用其他方法应对了。所以,需要改变的是自己。”

此后,莫尔加入了监狱里一群试图改变自己的人们,互相支持。终于,在快到30岁的时候离开了“牢中牢”,搬到了一座不那么严苛的监狱,叫Ironwood,安全等级是中等。

没想到改变命运的事情就在这里发生。

改变命运的编程项目

在这所新监狱,莫尔发现了一个叫做最后一英里 (the Last Mile) 的非营利项目。

这个项目是硅谷投资人Chris Redlitz和妻子创立的,原本旨在教狱中人创业,后来增加了新项目:传授一技之长,帮助人们在刑满释放后融入社会,防止大家自暴自弃,重操旧业。

走出监狱的时候,每个人只会拿到10-200美元,政府也不提供住房和工作。以至于十人被释放,就有七人在三年之内继续犯罪,因为缺乏生活来源。恶性循环已经给监狱系统造成危机。

那么在硅谷,还有什么技能比编程更容易找工作?

于是,最后一英里在监狱里搭了局域网,教编程。

莫尔第一批报了名,并成功通过监狱记录、思维能力等各项测试,成为了编程课的学员。

要知道,莫尔入狱是在1996年,那时候电脑、互联网其实还都不发达,他之前从来没上过网,电脑也只用过3次,学习难度可想而知。

最后一英里提供的课程分为两期:一期是前端,二期是后端,每期6个月。

一期开始了,每周上四次课,从早上7点到下午2点,学的是HTML和CSS等前端代码。

第一个月只许手写代码。后来开始上机,莫尔是看着一系列教学视频 (来自谷歌、Airbnb、Slack、阿里巴巴这些巨头的技术专家) 以及真实用户流的截图来学习的。

实际上,整个学习过程,都在模拟的互联网里进行。连莫尔后来都感叹,没有网也能学编程真是难以置信。不知道外面的世界什么样子,逼着人靠直觉、靠创造力生存,一点也不简单。

二期课程专注于后端,结合了JavaScript和NodeJS。

莫尔的毕设,是从零开始做的一个模拟电商网站。

除了编程,他还顺便 (通过某种不上网的途径) 参加了一所大学的网络课程,拿到了两个副学士学位,毕业GPA 3.89。

课程结束,莫尔发现“最后一英里”还提供其他的培训,但在另外一座监狱,于是申请搬过去。

竟然又如愿了。

拥抱自由,也拥抱10万美元年薪

搬去不久,他又收到了另一个好消息:有机会获得假释。

核心原因是加州针对青少年暴力犯罪的法律修改了:新法规定犯罪时未满18岁、但在成年之后受审的人,有权进行假释听证,并进一步确定是否有资格提前释放。

于是在2018年,莫尔受惠于新法案,假释通过,而且如果假释决定在150天内没有被推翻,他就可以真的出狱了。

在重获自由前的最后一公里,莫尔再接再厉,完成了“最后一公里”项目的最后一部分课程培训,甚至在监狱里就完成了一家有机面包厂商Dave’s Killer Bread的网站制作任务。

终于,2018年11月12日,莫尔自由了。

此时距离15岁入狱过去22年,如今的莫尔已经是37岁的中年人,也是一个在监狱学成的程序员。

出狱后,他先一边在“最后一英里”做兼职工程师,一边开始往硅谷的科技公司投简历,申请实习。

没想到6个月后,莫尔竟然真找到了实习工程师的工作。

一家名叫Checkr的公司给了他背调技术工程师的实习职位。虽然Checkr名不见经传,但确是硅谷名副其实的独角兽,他们从事数据分类和机器学习相关业务,估值超过22亿美元。

在独角兽公司工作的自然也不是泛泛之辈,莫尔身边,都是一群哈佛、斯坦福、UCLA、EPFL等名校毕业生的同事。

而且这些精英同事,其实也知道莫尔的前科背景。但Checkr认为:犯过罪,不代表要在求职路上判无期。如果人有动力去改变生活,过去就不会决定将来。

于是就在3个月后,莫尔转正成为全职工程师,获得6位数年薪offer——至少10万美元起,换算成人民币就是70万元。

这样的案例,是不是听听就觉得格外传奇?

一个杀人犯,监牢关了

不止这一家公司,硅谷越来越多的企业都开始接受有前科的员工,包括谷歌。

无独有偶

今年10月,GeekWire报道了一个入狱四年、最近成功进入谷歌的程序员。

他叫Gareth Small,2012年因为抢劫和盗窃被捕,那时18岁。他因为母亲工作的关系,从小就接触电脑,虽然没正式学过编程。

在等待开庭的日子里,他便找到过一份编程工作:应聘时向雇主坦陈了经历,说应该工作不了太久,没想到会成功。出庭前他已经上班3个月了。

法庭判了Gareth五年监禁。作为一个爱编程的人,他惊喜地发现监狱有个计算机实验室。那是培训电脑技能的地方,先完成一个Office项目,再学网页设计、数字艺术,以及Java编程。

Gareth不止学完编程课,还当上实验室助理,在电脑前越待越久,最后达到了每周12-15小时。

2016年,他被提前释放,联系了之前上班那家公司的一位创始人,很快找到了工作。不过他一直想去谷歌,从2018-2019年,简历投了一年才终于有回音。最终面试通过,他哭了。

其实,谷歌接受有前科的员工,可能和公司旗下的慈善机构Google.org有关。

机构的美洲负责人Justin Steele,一直致力于解决美国大规模监禁的问题。他说:我们相信,接受计算机教育,可以帮助出狱的人成功就业。

这个慈善机构,还向“最后一英里”项目捐赠过3000万美元。

而从最后一英里毕业后,成功找到工作的人也越来越多:

有人经历14年牢狱生涯之后,在陈和扎克伯格基金会 (Chan-Zuckerberg Initiative) 当上了产品经理,年薪六位数美元。

有人服刑17年,却因为在监狱里为Airbnb过写代码,获得了Fandom软件工程师职位。

有人甚至在出狱之前,就已经拿到两Offer,恢复自由后的第三周便正式当上了程序员。

看完本文,你有什么想说的?欢迎在评论区留言 。

参考资料:
1、https://thehustle.co/how-one-man-went-from-a-life-prison-sentence-to-a-100k-engineering-job/
2、https://www.geekwire.com/2019/prison-google-seattle-software-engineer-found-hope-working-computer-lab-behind-bars/
3、https://thelastmile.org/category/student-stories/

--完--

感谢大家置顶一下公众号,不要错过公众号每月的打卡活动!

第七期送书来了,这次送的都是畅销书!

另外,新关注我们公众号的朋友,可以在公众号后台聊天框回复【1024】,可以免费获取2T的编程视频,算法、人工智能、Python、Java、Linux、Go、C语言、软考、英语等等资源 。

推荐阅读:

面试字节跳动,我被怼得体无完肤!

字节跳动CEO炮轰HR , “按这要求我自己都进不来”

WPS金山软件,死磕微软31年,故事要从1988年说起...

年底300人被裁,亲身经历互联网民工讨薪到底有多难?

如果你喜欢本文,

请长按二维码,关注 Java后端编程.

转发至朋友圈,是对我最大的支持。

好文章,我在看❤️

CATIA二次开发CAA:(一)开发环境搭建 CATIA+CAA+RADE+VS2012 阅读详情

相关推荐

手把手教你用fusb302实现PD快充:从驱动移植到实战调试(附源码)

本文详细解析了基于FUSB302芯片实现USB PD快充的完整开发流程。内容涵盖芯片选型、硬件设计要点、Linux驱动移植与内核集成,并重点剖析了PD协议交互中的关键调试技巧,如“死亡15ms”时序问题与中断模式选择。文章通过实战经验,帮助嵌入式开发者高效完成从驱动移植到系统集成的全链路开发,并附有源码参考。

sky77的博客 375

15岁入狱,狱中学编程,获释后逆袭年薪70w程序员

谁也想不到一名15岁因谋杀罪被判终身监禁的人却在38岁逆袭为,年薪。10月中旬,外媒The Hustle报道过去22年长期被关在一个约5平米“监狱”里的Zachary Moore,现如今在旧金山一个开放式办公室码程序。监狱→开放式办公室,犯人→程序员,如此翻天覆地的变化,他是怎么做到的呢?一辈子那么长,人难免都会做一些错事,只不过有的人犯得错误无足轻重,有的却要接受惩罚,改过自新。

JAVAmonster12的博客 781

Surface Pro 4/5/6/7保姆级黑苹果安装:从Windows分区到OC引导配置全流程(含EFI文件替换避坑)

本文详细介绍了在Surface Pro 4/5/6/7上安装黑苹果的全流程,包括Windows分区、OC引导配置和EFI文件替换等关键步骤。通过实战经验分享,帮助用户避开常见陷阱,实现Windows与macOS双系统完美共存,特别适合对黑苹果安装感兴趣的Surface Pro用户。

weixin_30300225的博客 1373

监狱里的囚犯都在学习编程,你还有什么理由拒绝呢

很多美国人已经意识到,计算机编程和相关技术以后将会是人类的一项核心技能。近日,一条关于美国圣昆丁监狱的囚犯积极学习编程技能的微博备受关注。下图为美国圣昆丁监狱的囚犯正在积极学习编...

滴水穿石,点石为金 1628

BetaFlight开源飞控源码分析

BetaFlight是穿越机领域比较成熟的开源飞控,本篇文章主要分析一下源代码以及如何使用这个开源代码

weixin_43811044的博客 1万+

X3850x6 6241 fireware固件升级

登录联想https://datacentersupport.lenovo.com/cn/zc网站,选择system x,x3850 x6,type选择6241 选择驱动及应用程序,BIOS/UEFI 选择lnvgy_fw_uefi_a9e156a-4.90_anyos_32-64.uxz 文件,点击下载 选择IMM2, 下载lnvgy_fw_imm2_tcoo58b-5.80_anyos_noarch.uxz ps:3837和3839会跳转到ibm网站下载 笔记本直连.

zds00virtue的博客 5457

程序员坐牢了,会被安排去写代码吗?

欢迎关注方志朋的博客,回复”666“获面试宝典今天给大家分享一篇有意思的爽文,但也是根据多年之前一个真实报道改编而来的。本文字数较多,建议先收藏,上下班路上、带薪上厕所、浑水摸鱼时再慢慢看~来源:https://www.zhihu.com/question/483752248/answer/2127520344本故事纯属虚构请大家不要随意模仿,后果自负!— — — ...

方志朋的博客 205

【嵌入式原理系列-第七篇】ld脚本实战:从零构建MCU内存布局

本文是一篇针对嵌入式开发者的实战指南,详细讲解了如何从零开始为MCU编写ld链接器脚本以构建自定义内存布局。文章以STM32F103C8T6为例,深入剖析了MEMORY和SECTIONS指令的用法,并提供了OTA分区、非易失数据存储等高级定制案例,帮助开发者解决实际工程中的Flash与RAM管理难题,实现对程序运行的深度掌控。

weixin_29271263的博客 249

15岁成杀人犯,监狱里学编程,37岁获释后年薪70万

栗子 郭一璞 发自 凹非寺量子位 报道 | 公众号 QbitAI 授权转载22年前,他是轰动一时的少年杀人案凶犯,杀死了自己的弟弟,还没有成年、没有读过大学就被投入了监牢;22年后,他出...

程序员吴师兄的博客 790

点云从入门到精通技术详解100篇-基于点云语义分割的电力线提取及聚类研究

在现代社会,电力一直扮演着最重要的角色之一。它不仅与人民的生活息息相关,更是一个国家发展的命脉。近年来,随着我国各特高压输电线路建成(比如2022年1月份白鹤滩江苏特高压输电线路的放线)以及电网规模的不断扩大,我国年发电量稳步上升,人民的生活水平越来越高。我国土地辽阔,输电线路分布广泛,再加上地形环境复杂多样,电力线可能遭受风吹雨晒甚至是冰雪寒灾的影响。因此,为了保障电力线的可靠供电,防止停电意外发生,电力部门要定期对输电线路进行检查。目前我国主要。

getusushu的博客 1010

从零开始讲DDR(7)——modelsim独立仿真DDR4

本文主要内容为DDR4 MIG ip核仿真,modelsim独立仿真DDR4。在进行DDR仿真的时候,我们会面临一个以往常规仿真不存在的问题:DDR本身并不是一个我们通过RTL代码设计出来的部件,常规的模块或者IP仿真,都是基于RTL代码就能进行的,但是回顾一下我们DDR的开发流程,调用的IP核也只是MIG ip,其本质是一个DDRC+DDRPYH的组合,并不能模拟任何DDR本身的行为,因此,在进行仿真之前,我们首先要做的就是获取DDR的仿真模型。

apple_53311083的博客 3226

吊炸天!15岁成杀人犯,监狱里学编程,37岁获释后年薪70万

点击上方“码农突围”,马上关注这里是码农充电第一站,回复“666”,获取一份专属大礼包真爱,请设置“星标”或点个“在看”量子位 报道 | 公众号 QbitAI22年前,他是轰动一时的少年...

欢迎关注公众号:【码农突围】,公号后台回复9999,可以获取一份500页的LeetCode刷题笔记。 846

lammps案例:热导率模拟案例讲解(NEMD方法)

lammps计算热导率大体可以分为三种方法:EMD、NEMD、rNEMD。 本文介绍非平衡模拟(NEMD)热导率的计算方法。 NEMD下热导率计算公式为: k=dQ*dZ/dt k:热导率 dQ:能量通量。 dT/dZ:温度梯度。 非平衡态下计算热导率的原理是在材料的两端或者中间设置热源和冷源。 在热源输入热量,在冷源抽取等量的热量,在这个过程中计算材料内部会有热量的传递,产生温度梯度。 在lammps模拟中得到能量通量和温度梯度,代入公式即可求得热导率。 热量的输入方式有多种,如fix langevin

lammps_jiayou的博客 1万+

15岁杀人犯监狱学编程,37岁保释年薪70万

来源:量子位公众号原文地址:https://mp.weixin.qq.com/s/LsUfqSEI7R5NPig-9e1LEg22年前那时候没有马化腾、马云、张晓龙、雷军这些传奇的程序员...

张巧龙的博客 937

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

18 岁抢劫入狱,36 岁学编程重启新人生

(给程序员的那些事加星标)原创:程序员的那些事(id:iProgrammer)编程改变命运的故事,我们以前发过不少。比如:《从流水线工人,到谷歌上班的程序媛》。今天又要给大家推一篇编程改...

程序员的那些事 1538

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

万字长文!Unix 和 Linux 你不知道的那些历史(详解版)

点击上方 "程序员小乐"关注,星标或置顶一起成长每天凌晨00点00分,第一时间与你相约每日英文Everyone would get tired.Nobody can ...

程序员小乐 1205

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

微软试用 Rust 重写 Windows 底层组件​

(给技术最前线加星标,每天看技术热点)原创:技术最前线(ID:TopITNews)微软尝试基于 Rust 重写 Win 10 底层组件据 Zdnet 12 月 2 日报道称,微软有一个实...

redditnote的博客 913

【并查集】关押罪犯(BSOJ2809)

Description   S城现有两座监狱,一共关押着N名罪犯,编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨 气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为 c 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为c的冲突事件。每年年末,...

215

NOIP2010提高组 关押罪犯 -SilverN

(洛谷P1525) 题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为c 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为c 的冲突事件。...

diaoxiangxi0422的博客 73

18.12.16 [NOIP2010]关押罪犯(并查集)

描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为c 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为c 的冲突事件。 每年年末,警察局会将本年内...

dhc65376的博客 98

终于明白为什么要加 final 关键字了!

点击上方 "程序员小乐"关注,星标或置顶一起成长每天凌晨00点00分,第一时间与你相约每日英文Everyone would get tired.Nobody can ...

程序员小乐 640

Springboot/java/node/python/php监狱罪犯信息管理系统【2024年毕设】

springboot基于Springboot的在线教育平台的设计与实现。springboot基于SpringBoot的私人物品管理平台。springboot基于SpringBoot的优选超市购物系统。springboot基于springboot的产后护理系统。ssm基于SSM框架的同城快递配送平台的设计与实现。springboot基于39健康网的个性化推荐系统。springboot基于微信小程序的美食推荐系统。springboot基于微信小程序的课堂考勤系统。ssm基于Android的城市公交查询系统。

灵军程序设计 1596
上一篇: 说说Python中PEP8到底是什么?
下一篇: Redis最常见面试问题,附答案!
编程IT圈
博客等级 码龄6年 1130粉丝 544原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值