微软独家采访龟叔! 大爆料13个问题,快来看看龟叔的怎么说!

Python之父龟叔,曾被认为最不可能发明自己的编程语言 阅读详情
点上方“菜鸟学Python”,选择“星标”
第479篇原创干货,第一时间送达

作为Python之父的龟叔,从加入微软到现在,已经有半年的时间了。微软也是在龟叔入职的半年之际,独家采访了龟叔。通过向网友广泛征集13个问题,来回答网友们的一些提问。小伙伴赶紧搬好板凳,听听龟叔怎么说吧。

1.Python是如何被创建出来的

龟叔自阿姆斯特朗大学硕士毕业后,加入了CWI研究实验室,从事的正是编程语言(abc)的开发工作,但是由于缺乏语言的用户而导致语言最终取消。而后,龟叔加入了分布式操作系统(amoeba)的研发工作,在研发过程中,龟叔发现利用C语言来进行脚本程序的撰写非常的不便。

而恰巧项目的leader在这个时间去了硅谷,给了龟叔自由发挥的空间,因此龟叔在圣诞节后,花了三个月的时间研发了一门编程语言,经过检测后,受到了同事的一致认可,而这门语言,便是Python。

随着团队越来越多的使用Python,龟叔决定将python开源。并在usenet社区公布了Python。一经推广便获得巨大成功,龟叔受到了大量的用户私信,就这样Python一步步的发展至今。

2.在创建Python之初,是否料想到Python在AI领域获得广泛应用?

”oh, No,No,No",重要的事情说三遍,龟叔听到这个问题后,立刻用三个No表达了否定。

龟叔表示,在Python创建的时候,AI并没有获得太多的关注,因为在60到70年代,AI做出了很多的预测,但是都没有实现,所以很多人认为AI已经没有发展的前景,所以Python在创建之初的目标就是能够成为一门优秀的工具语言。

3.对于Python的一些内置函数,2021年会有更新?

对于这一点,龟叔首先指出了几个Python常用的内置函数,例如lambda、map、filter和reduce函数。龟叔简要的介绍了函数的用法,并且提出想要去掉reduce的内置函数,但是这一想法遭到了一些用户的反对。

龟叔很有个性的表示,Python是我写的语言,有本事你自己去写一个语言,在我的语言里,我就是要去除掉reduce。龟叔也坦言,对于Python的更新,更像是一个game-changer,去改变一些Python的使用规则。

4.Python在web开发以及移动端的应用开发应用

“Web开发和移动端的应用开发是不同的事情”。龟叔首先指明了二者是不同的。对于Web的开发,Python是一门非常受欢迎的语言,就像Dropbox的服务器,就是利用Python进行开发。

当然对于Web的前端,则是JavaScript语言。当然也有利用Python进行web前端开发的尝试,但是需要用户下载并安装特定浏览器以及会出现各种bug,因此推广失败。

说到这里,龟叔也不忘提及,Java同样也是在做前端,但是也是没有太大的发展。当然还有例如将Python语言翻译成JavaScript语言的尝试,或者是由JavaScript写的Python解释器。

对于这些尝试,龟叔不确定他们是否会有发展。龟叔认为不同语言都有不同的目的,Python应该专注于Web的后端开发、数据科学这些更为擅长的领域。

对于移动端的应用 开发,龟叔指出确实有一些人在进行着方面的工作,但是Python更适合在桌面或者是服务器的环境中进行开发运行,很多在安卓或者是ios开发中使用Python的人发现,利用Python开发很吃资源。

5.对于新的语言,例如rust,typescript的看法?

至少从理论的角度来说,我是热爱新的语言的,经常阅读编程语言教程,但是我不擅长安装一门语言并编写程序,我没有学习过rust,但是我同一些使用过rust进行开发的人聊过天,它看上去是一门很棒的语言,对于一些特定的事情。

例如在解决内存分配的问题上,我确信当你在开发一个非常大的应用时,rust在解决内存分配问题上要比c++更优秀,所以我认为rust是一门非常有趣的语言。

1).龟叔在给出对于rust语言的表述后,也指出go语言也是非常有趣的语言。在所有的新语言中,go是最为pyhonic的语言。

2).Julia语言在一些细节上同Python非常的类似,但是在一些语法习惯上让习惯Python编程的人很头疼。在龟叔看来,Julia的应用很有局限性,例如无法在web开发中发挥优势

3).至于typescript,龟叔同样表示typescript是非常好的语言,typescript解决了一些Python无法实现的问题,最近,龟叔和它的团队也在借鉴typescript的内容来拓展Python。

短短的一些话,龟叔提及了好几种编程语言,体现出龟叔对于编程语言的喜爱,和深厚的编程功底。

6.对于教学来说,是否应该在学习其他编程语言之前先学习Python

“绝对的,没有任何疑问!当被问道这个问题是,龟叔的回答是如此的干脆利落,没有丝毫的迟疑。龟叔指出,几年之前的发表在acm讨论区的一篇文章就指出越来越多的学校将Python作为编程语言教学的第一门课程。

事实也是如此,无论是国内还是国外,在人工智能如火如荼发展的当下,很多大学都开设了人工智能课程,并且需要学生们具备Python的编程能力。

7.Python2 到Python3的过渡,最应该学习的是什么?

谈到Python2到Python3的过渡,归谁认为这个过程是非常简单的,有些Python2的代码甚至不需要做太多的改变就可以转换到Python3。

同时龟叔也发现Python对于一些编程小白也是非常友好的,一些做金融交易的团队也在使用Python进行编程来解决问题。当然在进行Python2到3的转换时,龟叔的团队只是考虑到了Python的爱好者,认为他们都会认为Python3要好于Python2,但是实际情况有一些区别。

谈到这里,龟叔还不忘指出,自己曾在twitter上指出,Python3到Python4的转换与Python2到Python3的转换是完全不同的转变。

小编自己在学习的过程中,也是发现,Python2到Python3的转变并不是特别困难,而且在代码的更迭方面,只需要进行某几个语法点进行修改即可。

8.目前Python安装第三方库的方法,有新方法吗?

针对于目前Python的依赖库安装管理,pip 并不是唯一的安装方法,而且pip在针对某些第三方库的安装问题上,表现的也不是特别完美。龟叔提醒大家,在项目开发中最好是给每一个项目创建新的虚拟环境来避免“dll hell”问题。

虽然这样这并不能完全保证能够规避“dll  hell”问题。特别是针对于做机器学习和数据科学的人,尽管有很多很有用的第三方库,但是不同的开源社区会开发不同的库,在导入这些库时,往往会因为版本不一致而出现错误。

大家在平时的第三方库的安装过程中,相比也会遇到因为版本的不同,而导致程序报错的问题,并且这样的问题,解决起来往往并不是特别轻松。

9.为什么Python语言会被命名为“Python”

谈到Python的命名,龟叔提到了最重要的一点,是因为本人是monty Python(英国的一组超现实幽默表演团体)的超级粉丝,龟叔非常喜欢他们,并跟着他们学习英语。

在很长的一段时间里龟叔都是反对利用蛇来作为Python语言的logo。龟叔还自己己设计的一个logo,logo的内容是16-ton weight(出自monty Python的作品),龟叔自己说因为这是他能够画出的最简单的图画了。

在amoeba工作的时候,团队的人喜欢把每个模块都按照当时流行的TV show进行命名。

而且龟叔并不喜欢以一些科学、工程上的重大事件来命名编程语言,因此他决定从流行文化中来选择命名灵感。对于“Python”的命名,网上的原因总是五花八门,现在Python之父终于给出了最权威的回答。

10.Python未来会支持量子计算吗?

这个问题把龟叔也难住了,龟叔指出自己并不知道Python能够在量子计算领域发挥什么作用,但是龟叔知道有微软的库宣称支持量子计算的加速,是用Python编写的。

11.你在微软工作的内容和职责是什么?

“退休的我觉得太无聊了,当我从dropbox辞职后,我想的是跟我的妻子到处旅游,和朋友聚聚会什么的,但是时间久了我意识到我需要项目,因此我又开始编程,包括Python的改进。

“充满精力的龟叔永远都不愿意停下奋斗的脚步,龟叔为了重新找一份工作,便询问了一下,能够在微软兼职工作。但是当他参加了kevin scott的访谈后,龟叔意识到微软依旧想要全职雇佣他。

谈到这里,小编只能感叹道龟叔不小心就凡尔赛了一把。龟叔入职微软后,大概花了三四个月的时间让自己明确工作方向,与喜欢用Python编程的人进行交流,包括机器学习,notebooks,excel等方向。但是龟叔觉得自己宁愿去码代码也不愿意一直同人去交流,所以开始系统的研究自己能够胜任哪些项目。

通过观察,龟叔发现机器学习和Python的流行是相辅相成的,而且他熟悉web服务器的开发,但是对机器学习却知之甚少,所以龟叔开始跟微软的机器学习工程师进行了解,但是发现需要学习很长时间。

无奈龟叔还是回归了老本行,组建团队来提升Python的运行速度。前不久龟叔的团队就发行了Python3.10beta的测试版本,未来还将将会公布Python3.11版本,3.11版本将会在速度上远远超过3.10版本。不得不说,龟叔针对于Python的更迭是无人能比的,也不愧为Python之父。

12.Python4 什么时候会发布?

”当前,谈论Python4的发布完全是一个笑话“,龟叔诙谐的回答让大家明白,Python4的发布将会是一个遥远的未来。紧接着,龟叔补充道:”我们会在今年的十月份发布3.10版本,然后再一年之后发布3.11版本,然后是3.12 ...的版本。

我们会一直更新Python3的版本。我不能确定Python4会在何时出现,但是我们在以后可能会更改垃圾回收机制,全局的解释器锁也会被更改。

但如果在C语言的拓展上有完全的不兼容,或者是去除掉GIL,那么或许会将Python更改为Python4版本。“通过龟叔的回答,至少让我们明确了,在很长的一段时间里,虽然会有Python版本的不断更迭,但是都不会有Python4的公布。

13.个人爱好

龟叔自嘲自己是一个很无趣的人,但是自己喜欢阅读,喜欢阅读科幻小说,喜欢骑自行车。听到龟叔这么多的爱好,小编觉得自己才是一个最无趣的人。

龟叔也很热爱家人,提到自己19岁的儿子时,也是一脸的自豪,并滔滔不绝的讲起自己和儿子在生活中的一些事情。


看完这个13个问题,发现龟叔也是一个典型的程序员,除了写代码也没有啥特的爱好,貌似菜鸟哥也喜欢看科幻的,修仙的小说,哈哈!原来我跟龟叔也有一样的爱好。

好了,今天的分享就到这里,欢迎大家在留言区吱一声,你对上面的点评有啥看法,你有啥跟龟叔一样的爱好。


推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影

年度爆款文案

点阅读原文,领廖雪峰视频资料!
Python简介 Python崇尚优美、清晰、简单,是一个优秀并广泛使用的脚本语言。Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。 阅读详情

相关推荐

简单的时间代码,易学易懂

这是自己初学C#积累的事件代码, 希望对初学者有用。

大佬龟叔写的一个无聊程序

标题大佬龟叔写的一个无聊到数瓶子的程序 我有一个习惯,基本安装过的程序我都喜欢打开它的安装目录去看看,Python3.8安装完毕后,同样进目录转了一转,发现了一个文件夹Demo, 有很多Python自带的示例小程序,每个都看了一看,其中的第一个beer.py文件就是龟叔写的小程序,对程序的具体解析看下面代码演示,中文是我写的解析:` #!/usr/bin/env python3 声明这个程序的版...

zsk_john的技术分享专用博客 516

告别ROS1思维:在ROS2 Humble上,用Python搞定MoveIt2机械臂控制的完整流程

本文详细介绍了在ROS2 Humble环境下使用Python控制MoveIt2机械臂的完整流程。从环境配置、架构变革到实战操作,涵盖URDF适配、Action接口编程及性能优化技巧,帮助开发者高效迁移ROS1项目至ROS2平台,实现工业级机械臂控制。

weixin_30352645的博客 451

Julia(编程语言)

Julia

m0_72572822的博客 5271

【RViz2】导入urdf模型时报错:Could not load resource xxx,Unable to open file xxx,Error retrieving file xxx

初学ROS2,想要在RViz2中显示urdf模型。其中.urdf文件引用了外部的meshes文件夹。

qq_43557907的博客 9489

计数译码驱动显示电路实验报告_京东方G0A电路、阵列基板、显示 装置及驱动方法广州威彩...

图1、实施例二所述的选择子单元的结构示意图图2、实施例四所述的GOA电路结构示意图图3、实施例七所述的阵列基板的局部结构示意图图4、实施例所述的极性反转驱动方法的第一场的各信号时序图图5、实施例所述的极性反转驱动方法的第二场的各信号时序图图6、实施例所述的极性反转驱动方法的第三场的各信号时序图图7、实施例所述的极性反转驱动方法的第四场的各信号时序图图8、为图4所示时序下,实施例八所述显示...

weixin_35696112的博客 925

Python创始人为什么叫“龟叔”?

因为 吉多·范罗苏姆(Guido van Rossum)中的Guido(吉多),拼音(哥威龟)Gui龟,所以被中国程序员戏称为“龟叔”。 网上查了查,关于这个问题的资料比较少,大家怎么看这种观点,欢迎在评论区留言~~~ ...

小橙子的博客 8065

手把手教你玩转Infoseek舆情监测系统:从数据爬取到智能分析实战

别只会监测品牌名!一个有效的监测体系应该包括:// 完整的监测关键词策略brand: ["品牌名", "产品名", "缩写"],executives: ["CEO姓名", "高管姓名"],campaign: ["当前营销活动名称"],competitors: ["竞品A", "竞品B"],industry: ["行业通用关键词"],// 别忘了常见拼写错误和黑称defensive: ["常见的错误拼写", "用户起的黑称"]产品优化:从用户吐槽中发现改进点市场洞察。

2501_93332955的博客 760

终身仁慈独裁者、Python 之父龟叔,曾被认为最不可能发明自己的编程语言

????????关注后回复“进群”,拉你进程序员交流群????????转自:OSC开源社区(ID:oschina2013)近日,Python 之父龟叔(Guido van Rossum)发布推特称在高中,他被认为最不可能发明自己的编程语言。结果没想到他不仅创造了风靡全世界的 Python,还被冠以“终身仁慈独裁者”(Benevolent Dictator For Life-BDFL) 称号。终身仁慈独裁者 (BDFL...

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 1075

Sigrity Power Tree如何进行直流压降仿真分析操作指导

Sigrity Power Tree模式可以用于前仿真,在没有layout文件的情况下对电源进行直流压降仿真分析,用于评估原理图设计以及器件选型是否合理。Model:设置为Equal Current,设置为等电源模型,意思该负载每个电源pin都是等电流的。Current:设置每个负载的电流,U30为3A,U3-U6各为1A。Nominal Current:设置能够承载的最大电流,设置为10A。Upper/ Lower Tol:设置为压降范围为5%Output Current:设置输出电流为10A。

weixin_54787054的博客 733

国科大学习资料--人工智能原理与算法-2021年期末考试题解析(学长整理)

国科大学习资料–人工智能原理与算法-2021年期末考试题解析(学长整理) 国科大学习资料–人工智能原理与算法-2021年期末考试题解析(学长整理) 国科大学习资料–人工智能原理与算法-2021年期末考试题解析(学长整理) 根据学弟的反馈,该年的期末题只有5道,且均是作业题(所以大家一定要积极完成作业,考前多做几遍!!!!) 下面解析: 3.25 由于该题,我没有做过,所以只能给你英文版的答案。答案如下,其他的题目答案都是中文版。 5.9 8.10 12.20 15.13 ...

无名何许人的博客 3984

微软独家采访Python之父! 大爆料13个问题,快来看看龟叔的怎么说!

公众号后台回复“图书“,了解更多号主新书内容 作者:菜鸟哥 来源:菜鸟学Python 作为Python之父的龟叔,从加入微软到现在,已经有半年的时间了。微软也是...

数据森麟 1676

华为OD新系统机试真题 - 配置操作失败数量统计

华为OD机试新系统 4月8号【配置操作失败数量统计】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【配置操作失败数量统计】。

qq_45776114的博客 1164

Julia两天极速入门学习笔记

本人有c,java,python,php,shell等多种编程语言基础,两天速度入门了一下Julia,这是我写的一些学习笔记,省略了一些,保留了经典简短的代码案例,希望能帮到大家。

Tom197的博客 4627

Attention优化|2w字原理&图解: 从Online-Softmax到FlashAttention V1/V2/V3

本文通过原理分析和图解的方式,通俗易懂地FlashAttention系列算法。FlashAttention V1/V2在LLM领域的应用已经非常广泛,相关的论文也反复读了几遍。FA1和FA2论文非常经典,都推荐读一下(不过FA2论文中公式错误不少本文大约1.8w字,包括以下内容:0x07 分布式训推使用FlashAttention0x09 FlashAttention中MQA/GQA以及Causal Mask处理。

具身机器人和通用AI 5233

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Julia语言简介及编程环境搭建

Julia语言简介及编程环境搭建 (该图来自于网上资源) 一、Julia语言简介 1.如果你在网上关键词搜“Julia”,会搜到一个女人。但是我们本次的话题与女人无关,我们是在谈一门计算机语言新秀:Julia(我不关心为啥起这个名字)。 2.Julia可以说一个集人类的欲望和贪婪的性格的一门语言,有点夸张了,它身负众望,在设计之初就打靶多种语言:如C、Python、Perl...

孤星夜神的博客 5546

深度学习工具包 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")

python龟叔是哪国人_Python之父成微软打工人,Python人究竟有多强?

原标题:Python之父成微软打工人,Python人究竟有多强?Python之父,被业内人士尊称为龟叔的吉多·范罗苏姆(Guido van Rossum)老爷子,退休之后赋闲在家才刚满一年,本以为这位传奇大神会逐渐淡出IT界安享退休生活,其本人却在前几天官宣正式加入微软,给出的理由却是:在家“太无聊”了。 在龟叔的职业生涯中,成就最高的就是创造了Python。Python已经诞生31年了,作为目前...

weixin_27729671的博客 1730

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Julia 初学者指南(一) | 安装、配置及编译器

Pluto 是 Julia 的轻量级反应式(reactive)笔记本,可以看做 Julia 版本的 Jupyter-notebook,但支持功能更多。Jupyter Notebook 是一个 Web 应用程序,便于创建和共享程序文档,支持实时代码,数学方程,可视化和 markdown 等。如果电脑使用多个 Julia 版本,比如说希望将 Julia 1.7 也添加到 Jupyter,先打开 Julia 1.7 然后执行下边代码。安装完成,桌面出现 Julia 图标,双击图标在命令行运行 Julia。

RexWang 的博客 1万+

Julia编程基础

技术背景 Julia目前来说算是一个比较冷门的编程语言,主要是因为它所针对的应用场景实在是比较有限,Julia更注重于科学计算领域的应用。而Julia最大的特点,就是官方所宣传的:拥有C的性能,且可以像Python一样便捷的开发。这对于科学计算领域来说确实是一件好事,目前也有一些科学领域的应用,但是毕竟赶了个晚集。在生态上必然是没有Python丰富,而又缺少C语言的受众基础,所以现在甚至知道的人...

Dechin的博客 1496

从仁慈的独裁者到微软打工人,Python之父和Python将走向何方?

Python语言本身以及众多的使用者和支持者们似乎先天存在着一种深深的自卑和焦虑,对于Pyton未来发展的不确定性表现出异乎寻常的关注。即使在11月初,业界权威的TIOBE编程语言排行宣布20年来Python首次超越Java成第二最受欢迎的编程语言(第一位是C),也未能彻底打消他们的自卑和焦虑。尽管TIOBE官方使用了unstoppable(势不可挡)一词来形容Python的这次上位夺权,但是Python的拥趸却表现得极为冷静。

Python作业辅导员 - 天元浪子 2万+

氨基酸密码子表(Amino Acid Codon)

氨基酸密码子表(Amino Acid Codon) 

幽客独往 6万+

这是我的人生宣言[z]

人就活一次,我不敢有时刻忘怀,随时用这样的想法勉励自己  我就活这么一次,不知道什么时候就会结束的生命,我到底要怎么样过才行?  从现在算起,抛开天灾人祸,我还有大概60年好活,抛开变成糟老头的时间,我大概还有35年好奋斗,而且我已经奋斗了5年,原来,这不知不觉的感觉,就是我所有奋斗时间的八分之一  还剩下八分之七,或者更短  我可以接受我老的时候一贫如洗,孤身一人,露宿街头,被人唾弃,甚至坐牢,

ZhangGuozhong's Blog 1448

【Julia入门】1.1 Julia语言入门指南——《Julia全栈工程师》

为了达到这个目标,Julia拥有简单易懂的语法和丰富的标准库,使得开发者能够轻松上手,并快速构建出功能强大的应用程序。为了达到这个目标,Julia的设计者们在其核心库中集成了大量的统计和数据分析函数,使得开发者能够直接利用这些功能进行复杂的数据分析和建模工作。Julia的语法简洁明了,易于学习和使用,同时其高效的编译器和运行时系统保证了计算性能。命令式编程使得开发者能够直接控制程序的执行流程,函数式编程提供了无状态、无副作用的计算方式,面向对象编程则提供了封装、继承和多态等机制,有助于构建复杂的软件系统。

Python老吕的博客 4606

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 378
上一篇: Python竟然能监控抖音?这也太刺激了!
下一篇: 大厂月薪6万招AI产品经理,看到要求我就傻眼了!
菜鸟学Python
博客等级 码龄9年 8087粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值