专访HuggingFace CTO:开源崛起、创业故事和AI民主化丨智源独家

news2024/11/28 22:34:07

47dc7e53b33163b98342733e9774c1d1.png

导读

HuggingFace CTO Julien Chaumond认为,在大模型时代,AI民主化至关重要。随着大语言模型和复杂人工智能系统的崛起,持续提升AI技术的可及性有助于确保这些技术的获取和控制不集中在少数强大实体手中。技术民主化促进了机会均等,减少了数字鸿沟,而说起来容易做起来难,事实上滴水穿石,需要长期不懈的努力。

开源社区的目标正是为机器学习的可访问性和民主化做出持续的贡献。Julien在巴黎综合理工学院求学期间,计算机这门学科还类似数学,实行纯纸质考试。神经网络还是个名不见经传的领域,与主流方法背道而驰,巴黎的小圈子内并不看好。而到了斯坦福,他才真正见识到周围人个个代码高手。斯坦福毗邻硅谷创业社区,在校园里他曾与YouTube创始人擦肩而过,身处创业旋涡之中早早萌生了创立公司的想法。经过多年的筹谋,Julien终于与两名学生时代的朋友一道创立了HuggingFace,其中一位好友兼创始人Thomas Wolf热爱量子物理学,他们还曾在同一个摇滚乐队中演出。智源社区与HuggingFace CTO Julien Chaumond进行了深度访谈,讲述了关于创业、开源和长期主义的故事。

要点速览

◆ 斯坦福大学最酷的一点是,当你怀揣一个创办公司的梦想,行走在校园里,你会看到各种知名创始人。印象最深的是,当时我骑着摩托车,停车地方的旁边就停着一辆轿车,车牌上写着YouTube,表明车主是YouTube 的创始人之一。

◆ 我在选择投资者的时候会倾向于那些会支持我们长期愿景的人,而不是催促我们在公司成立的早期就赚很多钱。和投资人之间长期的一致性非常重要。

◆ 开源的真正魅力在于,人类本就在协作上具有天然的兴趣。如果你对某个主题感兴趣,在网上遇到了正在研究同一主题的人,就会诞生更好的想法。比如说我们精心维护的transformers库。我们不需要参与者控制过多,很多事情都是有机自发地协作。

◆ 社区正在推动为机器学习提供更广泛的部署选项,不仅对于大型云厂商,而且在小服务器、少量GPU的场景下,包括边端,甚至在个人电脑、移动设备等。与需要购买100个GPU相比,如果可以在计算机本地运行SOTA模型,会更容易实现。

◆ 我们希望坚持长期主义,持续不断地就同一核心目标进行优化。所以我作为创始人的主要心理状态,例如,基本上在 10 年后,我仍然会做同样的事情,真的不是试图在短期内构建一些东西,而是尝试构建一个10年后仍然在运行的平台。挑战在于更多地考虑长期目标,而不是关注短期问题。

Julien Chaumond

Julien Chaumond毕业于巴黎综合理工学院和斯坦福大学,他是多家基于机器学习的初创公司的创始人或团队成员。他还曾担任法国数字事务部长的顾问。Hugging Face 被描述为现代机器学习中最具影响力的平台。作为联合创始人,Julien 热衷于为每个人普及最先进的 NLP 和 ML。HuggingFace 的愿景是建立一个开放、协作和共享的 AI 社区,使机器学习和 NLP 技术更加可访问和可应用。他们积极支持开源项目,并鼓励用户和开发者之间的知识交流和合作。

智源专访栏目意在通过展现技术研究者和创业者的研究经历和故事,记录技术世界的嬗变,激发当代AI从业者的创新思维,启迪认知、关注突破性进展,为行业注入灵感光芒。

在斯坦福与YouTube创始人擦肩而过,身处创业旋涡

讲讲你的学术和研究历程。

我是学数学出身,在巴黎理工大学(Echo Polytechnique)学的是应用数学专业,然后又在美国学了一年半的电气工程。巴黎理工是一所侧重工程的院校,因此我们虽然接触了一些科研但主要还是应用方面。顺便说一句,我很多年前2001年有幸去中国旅行过一次,只待了一周,留下了非常美好的回忆,总想以后还有机会能再去。那真的是很久以前的事了。有趣且短暂的旅行,我们一大群法国人,大约有五百人同行,在过去的20年来中国确实发生了翻天覆地的变化。

经过应用数学和电气工程上的积累,我开始进入计算机科学领域。我在计算机科学领域工作了大约 15 年或 20 年,参与创立了几家不同的初创公司,在过去的 10 年里我才真正专注于机器学习和人工智能。

你是如何从数学和电子工程转向人工智能的?是什么吸引你开始探索机器学习?

在当时法国的教育体系中,计算机科学几乎就像数学一样,我们参加的考试里不涉及任何需要些代码,而是纯纸质考试,基本上算法设计实际上更像数学而不是计算机科学。其实早在 20 年前就已经有人在谈论神经网络了,但由于当时的神经网络太小,基本上就一层或两层的感知器,所以没有任何用例。所以在某种程度上它就像一个玩具示例,没有实际的具体应用。

我上学的时候老师们都很保守,他们都说,研究神经网络没有意义,看起来很酷,却华而不实。而机器学习当时都还称不上是一个正儿八经的研究领域。所以他们很不愿意我们研究它。话虽如此,从我记事起,我就一直对语言,特别是对语言的自动理解感兴趣。我记得当时做了一些超级简单的基于规则的东西,用超级简单的算法从文本中提取一些信息,它甚至不能说是机器学习,但属于用计算机理解不同语言,这是我很长一段时间的兴趣。

在斯坦福深造期间,谁对你的影响作为深远?

但我们在法国学习的方式和我们在斯坦福学习的方式确实不同,后者确实更注重应用。例如,我讲述的关于法国计算机科学测试是在纸上完成的。我到了美国,每个人都非常擅长写代码,一开始另我相当震惊。我花了一些时间来调整并转向更务实的学习和做事方式。

我在斯坦福大学有幸遇见几位非常优秀的教授,其中脱颖而出的是一位名叫 Héctor García-Molina的数据库教授(墨西哥裔美国计算机科学家,斯坦福大学计算机科学与电气工程系的教授。1993年至1997年,他是Google联合创始人Sergey Brin的导师),不幸的是他现在已经过世了。斯坦福大学最酷的一点是,当你怀揣一个创办公司的梦想,行走在校园里,你会看到各种知名创始人。Hector教授实际上就是谷歌创始人之一的博士生导师,这给我留下了深刻的印象。那时我真的梦想着创办一家公司,所以这在学术层面和商业层面都非常有趣。 

斯坦福的创业氛围异常浓厚,你受到这些人的强烈影响吗?

对,我印象最深的是,当时我骑着摩托车,而且我停车地方旁边就停着一辆轿车,车牌上写着YouTube,表明车主是YouTube 的创始人之一。他当时是回到斯坦福大学攻读博士学位,他已经创立了 YouTube还卖给了谷歌(编者按:这位创始人是Jawed Karim),这是2006、2007年左右,硅谷充满活力,创业氛围如火如荼,也是Facebook这样的公司刚刚起步的时候,到处都是新的初创公司。身处于这种创业“旋涡”之中也是相当令人震惊的经历。我不敢与这些人直接互动,但参加了一些创始人回校后的商业演讲,对我真的很有用。

创立HuggingFace,和共同创始人曾是摇滚乐队队友

HuggingFace诞生之初的故事是什么样的,背后有哪些故事?

那是在 2016 年。正如我所说,基于计算机的自动理解人类语言一直是我感兴趣的事情。因此多年来,我在自然语言领域做了一些副业项目和开源项目。但在 2016 年,我有点想做一些新的尝试。那时我认识了我的联合创始人克莱姆·克莱门特 (Clément Delangue),还认识了托马斯·沃尔夫 (Thomas Wolf),我们志趣相投。我们最初的想法是尝试构建一个对话式AI,当时正好Siri、Alexa这种语音助手兴起。我们想做些更智能的事情,希望语音助手不仅仅是为了提高生产力,还能参与日常讨论。

eec6a1a552dd2a0895c1c0eeac8fc44b.jpeg

于是几个月后,决定围绕这个理念创办一家公司。2015、2016年是机器学习领域的重磅之年。2016年也是HuggingFace的开始,然后在接下来的几年里,我们花了很多时间更多地深入开源机器学习。 

你们三个,是什么让你们走到一起的?你们当时是怎么认识的?

托马斯和我,我们都是理工学院的学生。他更喜欢物理学,比如量子物理学,而我更喜欢计算机科学。但我们的友谊延续至今。有趣的是我们曾经一起在一个摇滚乐队中演出。

我和Clement在2010年左右在巴黎创立第一家公司的时候就认识了,也是这一领域的公司。2010年巴黎的企业家圈子非常小,互相之间基本都认识。那几年我们一直保持联络,我们总是在想,总有一天要一起创办一家公司。直到 2015、2016年,时机成熟了!我感觉是时候尝试开始做点什么了。

三位创始人的职责有何不同?三人之间的模式是什么样的?

Thomas 更多地致力于科学研究和开源方面的工作。所以他是transformers的原始创建者,他在开源和科学方面非常强。

我个人而言,更多致力于社区平台等平台和产品方面一切事务,基础设施,包括初创公司在技术上的一切,包括前端工程、后端社区功能等。作为CEO,Clement处理的事项包括投资者关系、公共关系团队、团队文化等等。我们的分工非常明确清晰,工作互补。

你们的想法总是一致的?很少有分歧?

我们总是对自然语言处理中的相同主题感兴趣,然后扩展到所有机器学习领域。我们的兴趣都是基于计算机来做以前从未做过的真正有趣的事情。我想这就是我们对这份事业充满热情的原因。

谁想出了HuggingFace 这个名字?

Clement和我,我们设想的是一家以表情符号命名的公司,因为表情符号是现代人类交流的重要组成部分。拥抱脸就像我们喜欢的表情符号,它看起来像一台机器,但同时也具有真正的人类属性,因为它给你一个拥抱,真的很人性化。所以这有点像人类和机器之间的交叉点,这确实是机器学习技术应该做的事情。

083c2e8f33213d7828ae383a9049ce29.png

你们觉得如何从头开始组建团队?整个过程遇到了哪些障碍和挑战?

在很长一段时间里,我们都是一个非常小的团队。我并不想让公司发展得太快,第一个加入的团队成员叫安东尼。最初几年陆续有一些团队成员加入。它在很长一段时间内一直是一家小公司。直到2020 年初,整整四年时间,我们公司大概只有七八个人,最大的挑战是找到准确的定位

HuggingFace的员工分布在世界各地,包括纽约和巴黎等全球其他地区,那如何管理这样一个地理分散的团队呢?

我认为HuggingFace的模式之所以行得通,是因为我们正在构建的核心是开源,并且我们在GitHub、Slack等平台上进行开源协作(open source repos),成员之间很多沟通都是通过书面的形式。讨论问题、提出需求,都是采用非同步的书面沟通习惯,从而消除了每个人同时在同一个房间同步会议的需要,节省时间提升效率。这对于不同远程团队之间协同也很有帮助,比如纽约和巴黎的办事处,通过各种通信渠道同步写下他们的工作安排。

开源和闭源,短暂的共存

如何看待开源和闭源?

也许闭源在一段时间内可能会比开源好,但随后开源社区会迎头赶上,通过协作开发出更好的模型。这就像一个永久的循环,有时闭源模型比开源模型要好一点,随后开源模型迅速崛起、赶超。我认为以API为基础的私有模型和开源模型将在很长一段时间内共存。

我记得有一个轶事,你在 GitHub 上传了法国法律。这是真的吗?

那是很久以前的事了,但我试图推动法国政府采取一种更加以技术为中心的法律合作方式。那是一个非常有趣的项目。

你也曾经在法国政府工作过,对吧?这段经历对您的管理风格或目前的业务运营有何影响?

说实话,完全不一样。我只在政府工作了一小段时间,当时正在研究数字事务,几乎就像是法国政府内部的一家初创公司。在这个岗位上,我真正看到了政治决策和技术是如何相互关联的。

AI民主化,如何本地运行大模型

从最初诞生以来,你是如何积累所有这些贡献者的?目前全球有 900 多名贡献者。您如何说服人们为开源做出贡献?

因此,开源的真正魅力在于,人类本就在协作上具有天然的兴趣。如果你对某个主题感兴趣,在网上遇到了正在研究同一主题的人,就会诞生更好的想法。比如说我们精心维护的transformers库,我们每个人都可以尝试从社区中获得尽可能多的贡献,我们的目标更像是提供平台和工具支持,以便于人们自发地保持积极互动,努力创建良好社区。我们不需要参与或者控制过多,很多事情都是有机自发地协作。

推动我前进的动力是来自世界不同地方、有着不同兴趣主题的许多人正在共同努力,以实现机器学习的进步。这对我个人来说确实是一个很大的动力。因此,始终推动我们尝试为机器学习社区构建真正优秀的平台和工具的就是这种协作的意义。开源机器学习社区可以实现合力,比任何一家自己从事机器学习的公司单打独斗都来得更好,即使是像谷歌这样最大的公司,我觉得如果他们不与整个开源社区合作的话,他们在未来几年将很难想出真正先进的人工智能。

HuggingFace 发起了 BigScience 和 BigCode 等开放项目,有很多Datasets和Diffusers这样的库。如何选择项目呢?人工智能领域最需要什么样的研究产品?

所以很多都是真正有机的,我们拥有一支非常优秀的团队。每个人都被自己感兴趣的主题所驱动。最重要的是,如果社区真的对某个主题感到兴奋,我们将尝试为其提供一些工具和基础设施。例如,BigScience是一个非常酷的项目,因为在两年前,只有极少数人知道如何训练真正的大型模型。我们的目标是提供一些工具以及一个场所,让人们可以分享一些有关如何在大型 GPU 集群上训练这些大型模型的知识。

例如,我们尝试优化推理,使其尽可能高效,以便能够在许多不同的设置中将这些模型部署到生产中,不仅对于大型云厂商,而且在小服务器、少量GPU的场景下,包括边端,甚至在个人电脑、移动设备上,社区正在推动为机器学习提供更广泛的部署选项,不断提高机器学习的可访问性。

与需要购买100个GPU相比,如果可以采用最先进的模型并在计算机上本地运行它,它会更容易实现。为了这一目标,社区在机器学习的可访问性和民主化方面做了很多工作。

总结技术创业的经验

创业中最困难的事情是什么?

既有积极的一面,也有消极的一面。挑战是我们想要长期这样做,需要耐力,你不应该感到倦怠。如果你长时间在一个特定的主题上投入过多的精力,那么你就会对自然而然到有点厌倦,并且你会想做别的事情。我们希望坚持长期主义,持续不断地就同一核心目标进行优化。

所以我作为创始人的主要心理状态,例如,基本上在 10 年后,我仍然会做同样的事情,真的不是试图在短期内构建一些东西,而是尝试构建一个10年后仍然在运行的平台。挑战在于更多地考虑长期目标,而不是关注短期问题。

未来 HuggingFace 将提供对哪些先进技术的代码库支持?

我们将自己视为一个平台,为其他公司构建IT"基础设施"。因此,我们尝试专注于其他公司可以使用的底层基本构建模块,并进行更精确的应用。例如,开始有公司在我们的模型存储库或数据集(甚至应用程序部署和托管产品)之上构建东西。

HuggingFace希望招募什么样的员工,或者说在初期,你希望先聚集什么样的人来组建团队?

我的意思是,我们在公司建设过程中最大的幸运是团队成员。我们很幸运,在公司历史的早期,甚至在最近,都有非常聪明的人加入公司,我一直对加入我们的团队成员的素质感到惊讶,与其他公司有点不同的是,我们试图让员工尽可能自我驱动和自主。所以我们没有很多管理层会议。

我们团队中没有很多人告诉其他人该做什么。它更像是真正的有机和协作。我们确实在一些主题上对我们想要构建的东西有长期愿景。但我们也有很多团队成员正在与社区合作,他们机会主义地看到一个主题,对我们来说非常有趣,可以与社区一起构建它。

我们团队成员之间最大的共同点是,他们非常擅长定义自己的目标,并激励自己从事很酷的事情,而无需任何人告诉他们到底要做什么,例如发现有趣和有影响力的主题的自主能力是我们团队成员最大的最大品质。

你会如何定义HuggingFace短期目标和长期愿景呢?

是的,长期愿景是成为机器学习社区最好的协作平台。机器学习社区曾经很小,几年前世界上有几十万人。现在几乎有数百万人积极致力于机器学习。但我们的愿景是,机器学习将在四年内变得与软件工程一样庞大,甚至可能更大,有一两亿人。几年后让机器学习成为人们生活的中心,让尽可能多的人理解它的工作原理和运作方式。

最后的想法,也许您一开始是否遇到过一些资金困难?我们知道HuggingFace已经开始认真融资了,对吧?关于这部分有什么想法吗?

不,我的意思是我们很幸运能够拥有优秀的投资者,我们一直都是如此。正如您提到的,多年来我们筹集了多轮融资,但每次我们都很幸运地找到投资者,他们非常支持我们的愿景,即不要试图快速赚很多钱,而是更愿意建立长期平台,专注于如何让机器学习变得更好,让尽可能多的人更容易使用。

所以我们在愿景上一直高度一致。我想我们之前创办过其他公司,所以我们有一点与投资者打交道的经验,我在选择投资者的时候会倾向于那些会支持我们长期愿景的人,而不是催促我们在公司成立的早期就赚很多钱。和投资人之间长期的一致性非常重要,过去几年早期用户增量大幅提升,公司管理模式也非常简单,这就是能轻松获取融资的原因。

长期的协调非常重要。目前的收入模式是怎样的?

收入模式主要以算力为核心。计算显然是一个很大的市场,因为如果你想部署模型或训练模型,你通常必须为 GPU 支付很多钱,就像基础设施相当昂贵一样。因此,我们通过为云厂商开放算力访问权限,或直接销售算力访问权限来赚取收入。

正如我所说,长期愿景是,我认为机器学习将成为技术的重要组成部分。例如,我认为五年内,大部分云计算将是以人工智能为中心的工作负载。云计算的这些大市场将由大量机器学习模型和人工智能驱动。因此,我们将自己视为算力之上的一个抽象层,通过这种轻松无缝的算力访问来获利,计算市场真的异常庞大。

在HF之前,为什么你创办的公司并没成功?

老实说,我真的不知道,成功需要一个组合。在HuggingFace,我非常幸运能够与非常优秀的联合创始人和非常优秀的团队成员一起创办这家公司,并且在一个曾经并且仍然非常令人兴奋并且不断发展的领域。删除其中任何一项,比如你没有好的联合创始人,或者你正在研究一个发展不那么快的主题,或者你在最初的团队中没有那么幸运。

创业成功显然也有很多运气和坚持,所以就像之前我创办的公司,我在一年后就放弃了,花的时间不够。如果你真的想创办一家成功的公司,就不应该在一年后就放弃,你应该再尝试一段时间。不过,这是很好的学习经历。 

对于想要自己创业的开发者创始人有什么最终建议或指导吗?

现在是从事机器学习工作的非常有趣的时期。我觉得我们都很幸运能够在这个最好的发展迅速的时代致力于机器学习,并且即使在人类进程中也将成为一项真正有影响力的技术。这是一个拐点,人工智能市场相当庞大,很多不同的公司将在未来几年开始,变得超级成功并且超级有影响力。所以我觉得现在是启动人工智能项目的最佳时机,尤其是开源人工智能项目。

更多内容 尽在智源社区

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1172301.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue根据环境变量打包项目

当你的项目分为多个地区的时候,而且每个地区的逻辑稍微有点差异的情况下,不需要每个地区都打包一次,只需要根据环境变量配置一个公共文件即可 1、新建多个环境变量文件 2、新建globelParams.js //globelParams.jsconst taiYuan {NODE_ENV:…

虚拟机vmware使用桥接方式联网设置

步骤:虚拟机设置----》网络适配器---->桥接模式 这样设置好;只是这样设置是无法联网的 现在进入到虚拟机内部----->电机右上角的”网络连接“(wired connection)(没错就是wired connection 虽然是连接WiFi热点但…

【每日一题】移除链表元素(C语言)

移除链表元素,链接奉上 目录 思路:代码实现:链表题目小技巧: 思路: 在正常情况: 下我们移除链表元素时,需要该位置的前结点与后节点, 在特别情况时: 例如 我们发现&…

模版方法模式-定义算法的框架

在生活中,很多事需要通过几个步骤才能完成。例如找工作,一般都包含投递简历、面试、等待结果等几个步骤。投递简历何等待结果这两个步骤大同小异,最大的区别在于面试这个步骤。 在软件开发中,有时也会遇到类似情况。某个方法的实…

.mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

导言: 随着网络犯罪日益猖狂,勒索病毒已经成为数字时代中的一大威胁。.mkp勒索病毒是其中一种,其已经衍生出了多个不同的变种,其中常见的有.[MyFilewaifu.club].mkp勒索病毒,[hendersoncock.li].mkp勒索病毒,[myersairmail.cc].mk…

炸了!CVPR 2024投稿ID突破18000

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>【计算机视觉和Transformer】交流群 扫码加入CVer知识星球,可以最快学习到最新顶会顶刊上的论文idea和CV从入门到精通资料,以及最前沿项目和应用&…

【黑马程序员】Maven 进阶

文章目录 前言一、分模块开发与设计1. 分模块开发意义2. 分模块开发(模块拆分)2.1 创建 Maven 模块2.2 书写模块代码2.3 通过 Maven 指令安装模块到本地仓库(install 指令) 二、依赖管理1. 依赖传递1.1 依赖传递冲突问题 2. 可选依…

RMI初探

接口 import java.rmi.Remote; import java.rmi.RemoteException;public interface IFoo extends Remote {String say(String name) throws RemoteException; }import java.rmi.Remote; import java.rmi.RemoteException;public interface IBar extends Remote {String buy(Str…

【已解决】设置SSH主机:VS Code-正在本地下载 VS Code 服务器

问题描述 很简单,就是我电脑强制重启之后用vscode再去连服务器,发现连不上了 解决办法 如上图,点击重试按钮,下面的这些东西就可以复制粘贴了 ctrf查找commit,这个时候就能找到一串d037ac076cee195194f93ce6fe2bdfe296…

leetcode:387. 字符串中的第一个唯一字符

一、题目 函数原型 int firstUniqChar(char* s) 二、算法 设置一个大小为26的字符数组,位置0 - 25 分别对应字符 a - z 。遍历两次字符串,第一次记录下每个字符出现的次数,第二次检查哪个字符最先遍历到且出现次数为1,返回该字符即…

【CIO人物展】黄淮学院副CIO周鹏:构建数智化平台赋能学校高质量发展

周鹏 本文由黄淮学院副CIO周鹏投递并参与《2023中国数智化转型升级优秀CIO》榜单/奖项评选。丨推荐企业—锐捷网络 大数据产业创新服务媒体 ——聚焦数据 改变商业 黄淮学院是2004年经教育部批准成立的一所省属全日制普通本科高校。学校位于素有“豫州之腹地、天下之最中”之美…

【每日一题】数组中两个数的最大异或值

文章目录 Tag题目来源题目解读解题思路方法一:哈希集合 其他语言python3 写在最后 Tag 【哈希集合】【位运算-异或和】【数组】【2023-11-04】 题目来源 421. 数组中两个数的最大异或值 题目解读 找出数组中两个数的最大异或结果。 解题思路 一看数据量达到了 …

【leetcode】88. 合并两个有序数组(图解)

目录 1. 思路(图解)2. 代码 题目链接:leetcode 88. 合并两个有序数组 题目描述: 1. 思路(图解) 思路一:(不满足题目要求) 1. 创建一个大小为nums1和nums2长度之和的…

做读书笔记时的一个高效小技巧

你好,我是 EarlGrey,一名双语学习者,会一点编程,目前已翻译出版《Python 无师自通》、《Python 并行编程手册》等书籍。 在这里,我会持续和大家分享好书、好工具和高效生活、工作技巧,欢迎大家一起提升认知…

emoji对齐 特殊字符对齐 文本对齐

emoji如何对齐 特殊字符如何对齐 高级文本对齐 问题引出 我们在程序打印输出时,如何我们所输出的字符中包含emoji文本,或者其它特殊的字符文本,则我们的打印对齐效果将出现错位。以下代码复现了这一效果(tips: 马老师…

“第六十天”

SRAM和DRAM: DRAM:动态RAM(随机存期存储器),是使用栅极电容存储信息的; SRAM:静态RAM,是使用双稳态触发器存储信息的。 重点在于DRAM由于要通过电容放电来表示信息,所…

R语言gplots包的颜色索引表--全平台可用

R语言gplots包的颜色索引表–全平台可用

【Liunx系统编程】命令模式3

目录 一,zip/unzip压缩指令 二,tar打包/压缩/解包指令 三,uname获取系统信息指令 四,Liunx下常用且重要的按键和关机指令 五,文件之间的互传 1,Windows与Linux之间的互传 2,Linux系统之间…

初识JVM

1. JVM内存区域划分 jvm在启动的时候,会申请到一整个很大的内存区域。整个一大块区域,不太好用。为了更方便使用,把整个区域隔成了很多区域,每个区域都有不同的作用。 本地方法栈 此处提到的栈和数据结构中的栈不是一个东西&…

STM32F103C8T6第二天:按键点灯轮询法和中断法、RCC、电动车报警器(振动传感器、继电器、喇叭、433M无线接收发射模块)

1. 点亮LED灯详解(307.11) 标号一样的导线在物理上是连接在一起的。 将 PB8 或 PB9 拉低,就可以实现将对应的 LED 灯点亮。常用的GPIO HAL库函数: void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init);//I/…