从业余项目到全世界最受欢迎的编程语言之一,Rust 是如何做到的?

4a27221c98c358f27f134c627e261705.gif

【CSDN 编者按】从日常生活中发现电梯软件的系统崩溃,到将一个业余项目发展成为最受开发者喜爱的编程语言,这是全球开发者Graydon Hoare与Rust的一段奇妙故事。

原文链接:https://www.technologyreview.com/2023/02/14/1067869/rust-worlds-fastest-growing-programming-language/

未经授权,禁止转载!

作者 | Clive Thompsonarchive page   译者 | 弯月

出品 | CSDN(ID:CSDNnews)

许多软件项目的建立都是因为某个地方的某个程序员遇到了一个需要解决的问题。Graydon Hoare 的故事也源于此。

97bbbd5c4202eff98ec28827b7990201.png

Rust 诞生背景

2006 年,Hoare 是一名 29 岁的计算机程序员,就业于开源浏览器公司 Mozilla。有一天,回到温哥华的公寓,他发现电梯坏了,原因是电梯的软件系统崩溃了。这已不是第一次发生这样的事情。

Graydon Hoare 住在 21 楼,想到要爬楼梯回家,他顿时感到很恼火:“我们这些从事计算机工作的人甚至无法制造出一部不会崩溃的电梯!”

Graydon Hoare 知道,许多此类的崩溃都是由于程序使用内存的方式存在问题而造成的。电梯之类的设备内部的软件通常是用 C++ 或 C 等语言编写的,用这两种语言编写的代码运行速度非常快,而且代码非常紧凑。然而,问题在于,这两种语言也很容易意外引入内存错误,这些错误会导致程序崩溃。根据微软的估计,其代码中 70% 的漏洞是由于使用这些语言编写的代码存在的内存错误造成的。

对于大多数人而言,当知道自己需要爬到 21 楼时,都会很生气,但也就仅此而已了。但 Graydon Hoare 决心为此做点什么。于是,他打开笔记本,开始设计一种全新的计算机语言,他希望这种语言能够编写出没有内存错误、小而快的代码。他将其命名为 Rust,英文单词“rust”本是一种真菌,中文中叫植物锈病的不少都是这类真菌造成的,他说这个名字的寓意是:“为了生存而过度设计”。

f24b502c79cb8687cc95945e23127302.png

成为“最受程序员喜爱”的编程语言

17 年后,Rust 发展成为了全球最热门的新语言之一。有将近 280 万程序员使用 Rust 编写代码,从微软到亚马逊,许多公司都将其视为未来的关键。聊天平台 Discord 使用 Rust 来加速其系统,Dropbox 使用它来将文件同步到用户的计算机,而 Cloudflare 使用它来处理超过 20% 的互联网流量。

在 Stack Overflow 的年度调查中,Rust 连续七年蝉联“最受程序员喜爱”的编程语言。就连美国政府也在积极地推广 Rust 软件,将其作为确保流程更安全的一种方式。与许多成功的开源项目一样,Rust 的发展也离不开社区的共同努力,现有数百名贡献者仍在支持,其中许多是志愿者。Graydon Hoare 本人在 2013 年退出了该项目,很放心地将其移交给了其他工程师,包括 Mozilla 的核心团队。

创造一种新的计算机语言并不罕见。许多程序员都会利用业余时间建立一个小项目。但是,能够在 JavaScript、Python 或 Java 等众多流行的编程语言之中站稳脚跟,实属罕见。

884930ad60a5435d9df51ef53cc8b531.png

C/C++ 的天然“大坑”

为了理解 Rust 为何如此实用,我们应该深入了解编程语言对计算机内存的处理。

简单来说,你可以将计算机中的动态内存想象成一块黑板。软件运行时会不断地在黑板上写数据,记录哪个数据保存到了哪里,并在不需要的时候将其擦除。但是,不同的计算机语言,管理这块黑板的方式也不同。C 以及 C++ 等早期的语言倾向于赋予程序员很大的权力,让他们来决定何时以及如何使用这块黑板。这种能力很强大,代码可以动态控制内存,加快软件的运行速度。这就是为什么 C 和 C++ 常用于编写“裸机”代码,即直接与硬件交互。许多没有 Windows 或 Linux 之类的操作系统的机器,比如透析机或收银机等,都运行着这样的代码。(此外,C 和 C++ 之类的语言也用于更高级的计算:有时操作系统需要与硬件通信。Windows、Linux 和 MacOS 的内核都是用 C 语言编写的。)

虽然 C 和 C++ 的速度很快,但这是有代价的。编程人员需要仔细记录写入哪块内存,以及何时擦除。如果不小心忘记删除某些内容,结果会怎样?可能会导致软件崩溃,当软件尝试使用它认为是空的内存,但实际上其中已保存了数据,就会崩溃。或者,这会成为非法用户的入侵渠道。

黑客会发现程序没有正确清理内存,本应被清除的密码或财务等信息仍然存在,他们就会偷偷攫取这些数据。随着 C 和 C++ 代码的规模增大,即便是程序员再细心,也可能会犯很多内存错误,从而导致软件中 bug 累累。

无人机公司 Fusion Engineering 的联合创始人兼 Rust 库团队负责人 Mara Bos 表示:“在 C 或 C++ 中,你总是会担心代码随时出现问题。”

上个世纪 90 年代,Java、JavaScript 和 Python 等一系列语言开始流行。这些语言采取了完全不同的方法。为了减轻编程人员的压力,这些语言使用“垃圾收集器”自动管理内存,这些组件会在软件运行时定期清理内存。你可以编写没有内存错误的代码。但缺点是失去了细粒度的控制。程序的执行速度也减慢了(因为垃圾收集占用了关键的处理时间)。用这些语言编写的软件需要使用更多的内存。因此,编程世界分成了两大阵营。如果软件需要快速运行或在嵌入式设备的微型芯片上运行,则选用 C 或 C++ 编写更合适。如果是网络应用程序或手机应用,则可以选用一种更新的、具有垃圾收集功能的语言。

970554abed271f544008bad1bf790ecf.png

编程大佬纷纷加入 Rust

Graydon Hoare 创建的 Rust 语言与上述这些方法有很大的不同。Rust 不需要程序员手动找出数据在内存中的位置,而是由语言本身来管理。但 Rust 对于如何在程序中使用或复制数据有许多严格的规则。程序员必须学习这些编程规则—— 比 Python 或 JavaScript 更繁琐的规则。虽然编写代码的难度有所提高,但代码是“内存安全的”,你无需担心不小心插入致命的内存错误。最为重要的是,Rust 还将提供“并发安全”。现代程序可以同时做多件事——并发,有时不同的线程会尝试修改同一块内存,而 Rust 的内存系统会阻止这种操作。

在刚开始设计 Rust 时,Graydon Hoare 在 Mozilla 工作,已是一名拥有十多年软件开发经验的老程序员。起初,Rust 只是一个业余项目。Graydon Hoare 花了几年时间来开发 Rust,当第一次向其他程序员展示这门语言时,收到的反馈褒贬不一。“有些人很热情,而有些人则表示不喜欢,还说这门语言压根不行,永远没机会使用。”

然而,Mozilla 的高层却对 Rust 很感兴趣。他们认为,Rust 可以帮助他们构建更好的浏览器引擎。浏览器是非常复杂的软件,出现内存错误的风险极高。

Patrick Walton 也是 Mozilla 的一名员工,他也参与了 Rust 的开发工作。当初,Patrick Walton 放弃继续攻读编程语言博士的学位,并加入了 Mozilla。偶尔的一次机会,JavaScript 的创建者 Brendan Eich 把他拉进了 Mozilla 的一次会议:“我们在讨论 Rust 的设计决策,你要不要来看看?”Patrick Walton 觉得 Rust 非常棒,于是,他开始和 Graydon Hoare 一起开发该语言。后来越来越多的工程师加入了他们的队伍。当时的很多人,包括 Mozilla 的工程师 Niko Matsakis 和 Felix Klock,都有内存和编程语言相关的研究经验。

54eb099d54e4db5e952ee5eebfd94c54.png  Patrick Walton        Niko Matsakis          Felix Klock     Manish Goregaokar图源:MITTechnologyReview

2009 年,Mozilla 决定正式支持 Rust。该语言是完全开源的,而且其决策由创造者全权负责,不过 Mozilla 同意出钱资助几位工程师。于是,Rust 小组占据了公司的一间会议室,Mozilla Research 的联合创始人 Dave Herman 将其称为“书呆子洞穴”,并在门外张贴了一个标志。在这之后的十年里,Mozilla 雇佣了十几名工程师全职研究 Rust。

Walton 回忆道:“每个人都觉得自己在从事一项伟大的事业。” 这种兴奋延伸到了 Mozilla 的大楼之外。2010 年代初期,Rust 吸引了世界各个角落的科技志愿者,他们中的有些人在大型科技公司工作。其中一名主贡献者是德国的一名高中生。2010年,Mozilla 在加拿大不列颠哥伦比亚省举行会议,Eich 发表了关于实验性语言的演讲,他说:“如果你对编程语言充满了兴趣,就一定要试试看 Rust。”

5cf5f8f906542a267de8dce20a401ae3.png

确认 Rust 核心,程序运行更快,更安全

2010 年代初期,Mozilla 的工程师和世界各地的 Rust 志愿者逐渐打磨出了 Rust 的核心:内存的管理方式。他们创建了一个“所有权”系统,一个数据只能由一个变量引用,这大大降低了内存出问题的风险。Rust 的编译器会严格执行所有权规则。如果编程人员违反这些规则,编译器将拒绝编译代码,也不会将其变成可运行的程序。

Rust 使用的许多技巧都算不上新颖,Manish Goregaokar 是 Rust 开发人员工具团队的负责人,早年曾在 Mozilla 工作,他表示:“大多是几十年前的研究”。但 Rust 工程师善于发现这些设计概念,并将它们转化为实用的功能。

随着这个团队不断改进内存管理系统,逐渐地 Rust 不再需要自己的垃圾收集器,直到 2013 年,他们删除了垃圾收集器。如今用 Rust 编写的程序运行速度更快,因为计算机不会每隔一段时间就停下来清理垃圾。Hoare 指出,一些软件工程师认为 Rust 仍然拥有类似于垃圾收集的元素:“引用计数”系统,这个系统是内存所有权机制的一部分。但无论采用了哪种方式,如今 Rust 的性能确实提高了,距离硬件越来越近,就像 C 和 C++ 一样,同时也保证了内存安全。

2012 年,Steve Klabnik 开始接触 Rust 的开发工作,并在之后的十年里负责编写相关文档,他表示,删除垃圾收集后“Rust 变成了一门更精简且更有效地语言。”

86b8ca1fd050991addac8e37bb9c78f3.png

友好的社区文化

在此过程中,Rust 社区建立了一种文化:对新人异常友好,而且非常开放。微软首席工程师 Nell Shamrell-Harrington 曾在 Mozilla 从事 Rust 的开发工作,她表示:“我们不会称任何人为菜鸟,没有任何问题是愚蠢的问题。”

她说,部分原因是 Hoare 在很早以前就发布了“行为准则”,任何为 Rust 做出贡献的人都应该遵守这些准则。Rust 社区成员说,社区接受了这套准则,并且成功地吸引到了很多编程高手加入 Rust。即便程序员犯错,编译器抛出的错误消息也很友好,不仅描述了错误,而且还会就如何修复礼貌地提出建议。

Shamrell-Harrington 说:“当我犯错误时,C 和 C++ 的编译器会让我觉得自己是一个很糟糕的人。而 Rust 编译器更像是在指导你编写超级安全的代码。”

2015 年,该团队全力以赴最终发布了 Rust 的“稳定”版本。这个版本非常可靠,可用于为真正的客户编写软件。距离 Rust 归入 Mozilla 旗下已经过去六年了,在漫长的开发期间内,编程人员一直渴望尝试演示版本,尽管这些版本的表现会很糟糕,Goregaokar 说:“编译器一直在崩溃”。终于是时候将“1.0”推向世界了。

Walton 记得自己蜷缩着身体坐在电脑前奋战了几个小时。Klabnik“在过去两周内写了大约 45 页的文档,”他回忆道。2015 年 5 月 15 日,他们终于发布了第一个版本,众多 Rust 粉丝聚集在世界各地庆祝。

Mozilla 的投资很快开始获得回报。2016 年,Mozilla 小组发布了 Servo,这是一款使用 Rust 构建的新型浏览器引擎。第二年,另一个小组使用 Rust 重写了 Firefox 中渲染 CSS 的部分。这一变化给浏览器带来了明显的性能提升。此外,Mozilla 还使用 Rust 重写了处理 MP4 多媒体文件的代码。

很快,Rust 开发人员就听到很多公司都在尝试他们的新语言。

11c0aac76fa3019eabbb5966e2390167.png

荣获科技巨头青睐

三星公司的程序员告诉在法国 Mozilla 办公室工作的 Klock,他们已经开始使用 Rust 语言了。Facebook(现改名为 Meta)使用 Rust 重新设计了程序员管理其内部源代码的软件。Walton 如今在 Meta 工作,他表示:“无论怎么夸 Rust 的重要性都不为过。”

很快,许多重要软件的核心部分都开始采用 Rust 编写。2020 年,Dropbox 推出了其“同步引擎”的新版本,他们的工程师也用 Rust 重写了该引擎。该系统最初是用 Python 编写的,但现在要处理几十亿个文件(以及在线同步的数万亿个文件)。软件工程师 Parker Timmerman(最近离开了 Dropbox)表示,Rust 降低了处理如此复杂的系统的难度。

他说:“使用 Rust 写程序很愉快,这门语言太棒了,很有趣。你感觉自己就像一位魔术师,使用其他语言时根本不会有这样的感觉。我们做了一个很明智的决定,这是一项新技术。”

一些公司发现 Rust 减轻了他们对内存错误的恐惧,Mara Bos 使用 Rust 重写了控制无人机的软件,该软件最初是用 C++ 编写的。

还有一些人感受到放弃垃圾收集的好处了。在 Discord,长期以来工程师们一直对 Go 中的垃圾收集器很不满。他们用 Go 编写的软件大约每两分钟就需要执行一次垃圾收集,尽管 Discord 的工程师写得非常仔细,没有垃圾需要收集。2020 年,他们用 Rust 重写了该系统,如今运行速度提高了 10 倍。

现如今,就连科技巨头亚马逊的云计算平台 AWS 的高管和工程师也越来越相信 Rust 可以帮助他们编写更安全、更快的代码。Shane Miller 为 AWS 创建了一个 Rust 团队,他表示:“Rust 具有独特的优势,可以提供其他语言无法提供的优势。Rust 能提供一种语言的多种超能力。”

对这家云计算巨头来说,最重要的是,一项基于 Rust 代码的研究发现,Rust 代码的运行效率非常高,其耗电量只有用 Java 编写的同等程序的一半。Miller 说:“因此,我可以创建一个数据中心,运行 2 倍的工作负载。或者,只需一半大小的数据中心就可以完成同等量的工作,毕竟数据中心需要建立在城市中心,不能放到郊区。”

Rust 的成功让一些长期贡献者感到有些紧张。随着科技巨头陆续开始采用这种语言,他们对 Rust 产生的影响也越来越大。这些巨头公司资金充沛,足够负担工程师全职开发 Rust,实际上如今 Rust 团队的几位领导者就是亚马逊和微软的员工。而其他有价值的贡献者必须在业余时间从事 Rust 的开发,比如 Bos 除了运营她的无人机创业公司外,还需要承担华为的 Rust 工作,但作为 Rust 库的团队负责人,她的这部分工作并不会获得任何酬劳。

Bos 表示,这种现象在开源项目中很常见:大公司有能力更多地参与项目开发,他们可以推动整个项目,解决他们关心的问题,但小公司就没有这种能力。她说:“大公司确实有这样的一些影响力”。但到目前为止,没有任何公司采取任何措施来敲响警钟。Klabnik 对亚马逊参与 Rust 的开发表示担忧,“我担心吗?当然担心了。我会觉得这个项目比其他项目更糟糕吗?并不会。”

0a87c225e6e074d6f2a5894602b9e385.png

基金会成立,开源不再用“爱”发电

2021 年,各大科技公司出资成立了一个非营利性 Rust 基金会,以支持志愿者。在 Miller 领导该基金会的头两年里,他们提供了 2 万美元的资助,用于支持希望承担 Rust 主要功能开发但短期内需要资金支持的贡献者。此外,该基金会还为托管 Rust 代码的服务器提供了资金,并付钱给一家技术公司,以确保这些服务器全天候运行。Miller 说,在常见的开发风格中,这项工作以前是由“两名志愿者完成的,他们基本上有 50% 的时间在待命,其中一名是来自意大利的学生。”

这种语言的发展速度非常不可思议。如果说 Rust 诞生于 2006 年,那么如今即将结束青春期,走向成熟期。汽车公司正在采用 Rust 来构建运行车辆的关键代码,航空航天公司也在使用这种编程语言。Dropbox 的 Timmerman认为:“将来,到处都会使用 Rust。”微软高管甚至公开表示,他们将使用 Rust 编写越来越多的新代码,而C和C++的使用将越来越少,最终为零。

所有使用 C 和 C++ 编写的旧代码不会消失,会一直使用,可能会持续数十年。但是,如果 Rust 成为编写快速和裸机代码的常用语言,我们会逐渐地意识到,我们的软件环境将变得越来越可靠,不那么容易崩溃,也不至于那么不安全。

看到 Rust 如今的发展,最惊讶的人莫过于 Hoare 本人。因为,“许多语言都半路夭折了,”他说。

 
 

0b0d951a0b86e56a58bbea4e9f00343b.gif

 

ac2733020f1991dfaba7850c7b04fb2b.jpeg

☞一雪被 AlphaGo 狠虐的“前耻”!14:1,这次人类终于赢了围棋 AI
☞ChatGPT 版 Bing 惨遭微软“脑叶切除”,引大量网友不满!
☞Google 员工愤然离职,剑指这家搜索巨头已迷失方向!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4月24日大模型日报合集(持续更新)

熔岩羊驼LLaVA来了:像GPT-4一样可以看图聊天,无需邀请码,在线可玩 链接:https://news.miracleplus.com/share_link/7263 该模型展示出了一些接近多模态 GPT-4 的图文理解能力:相对于 GPT-4 获得了 85.1% 的相对得分。…

Visual Studio Code 和 GitHub Copilot

翻译自 Chris Dias 的博客 AI 这个话题,近期我们看到它被大家广泛地谈论,有些人很兴奋,也有些人表达了担忧。进步几乎每天都在发生,速度前所未有。每天有超过一百万的 Copilot 用户,如果你有机会尝试,你可…

【人工智能】吴恩达来信:LLMs的美好未来

吴恩达来信:LLMs的美好未来 亲爱的朋友们, 大型语言模型 (LLMs) 的竞争格局正在迅速打开。最终赢家尚未出炉,但目前的形势已经令人兴奋。我想分享一些观察结果,重点关注直接面向消费者的聊天接口以及LLMs基础设施和应用程序层。 首先,ChatGPT是一个新的产品类别。它不仅…

ChatGPT为什么会火,如果我用python写一篇毕业论文可以吗?

ChatGPT由于它采用了先进的自然语言处理技术,能够通过学习大量的语言数据而不断提高自己的语言理解和生成能力,使得它在对话方面表现出色。同时,ChatGPT还可以应用于多个领域,例如智能客服、智能助手、机器翻译等,因此…

【爬虫】1.4 POST 方法向网站发送数据

1. 客户端 POST 发送数据 采用 POST 方法访问网站时,客户端向服务器发送表单数据,表单数据的组织方式与 GET 方法的参数列表十分相似,结构如下: "名称1值1&名称2值2……" 多个数据之间用 “&” 符号隔开&#x…

如何快速爬取网页数据(干货)

摘要:对于程序员或开发人员来说,拥有编程能力使得他们构建一个网页数据爬取程序,非常的容易并且有趣。但是对于大多数没有任何编程知识的人来说,最好使用一些网络爬虫软件从指定网页获取特定内容。 网页数据爬取是指从网站上提取特…

服务器数据抓包(原来微信图片真的可以抓包看的)

在我们开发的时候,有时需要抓包,看一下服务器的返回数据,来校验自己请求的参数和返回的参数是否正确。当然,有时候也想抓一下别人的数据看下,比如微信。当然,如果别人的数据加密了,那你就蛋疼了…

倒计时30天!2023世界人工智能大会八大亮点抢先看

2023世界人工智能大会将于7月6-8日在上海举办,以**“智联世界 生成未来”**为主题,聚焦通用人工智能发展,营造良好创新生态,拥抱智能新时代,共话产业新未来。大会将继续发挥“科技风向标、应用展示台、产业加速器、治理…

MANA OASIS加持,毫末算力极致优化,训练成本降低100倍

2023年1月5日,第七届HAOMO AI DAY在北京举办。正值岁末年初,中国自动驾驶届开年盛会精彩来袭。本届AI DAY上,毫末分享了2022年三大战役稳健收官成果,展望2023年全球自动驾驶发展趋势,并发布毫末技术、产品最新成果。 &…

张俊林:由ChatGPT反思大语言模型(LLM)的技术精要(2)

原文:张俊林:由ChatGPT反思大语言模型(LLM)的技术精要(2) 02 学习者:从无尽数据到海量知识 从目前研究结果看,Transformer是足够强大的特征抽取器,尚不需要做特别的改进…

【初探人工智能ChatGPT】2、雏形开始长成

【初探人工智能ChatGPT】2、雏形开始长成 【初探人工智能ChatGPT】2、雏形开始长成安装Flask封装Web接口雏形设置接收参数功能验证聊天写代码代码补全生成图片 写在后面 笔者初次接触人工智能领域,文章中错误的地方还望各位大佬指正! 【初探人工智能Chat…

马斯克要求 Twitter 程序员写周报,具体到代码行数!

来源:InfoQ 11 月 24 日,据 Business Insider 报道,推特内部邮件显示,该公司要求技术类员工必须每周发邮件给 CEO 埃隆马斯克(Elon Musk),介绍自己本周的所有工作,以此实现“快速创新…

马斯克的推特“大清洗”:高管、员工、研究学者、高仿号,以及前女友

大数据文摘出品 Let that sink in。 10月24日,马斯克就真的抱着一个水槽,走进了Twitter的总部大楼。 磨磨蹭蹭半年,马斯克终于完成了对Twitter的收购,如愿接过Twitter的指挥权杖。 马斯克拿下推特之后,各种新闻几乎布满…

马斯克在推特回应推特起诉:真讽刺,我笑了

万博 发自 凹非寺量子位 | 公众号 QbitAI 马斯克和推特之间的“连续剧”,又更新了一集: 《推特正式起诉马斯克》。 并且在诉状中,推特还细数了马斯克决意收购前后的种种恶行。 核心态度是: 我方纯属无辜,马斯克必须按照…

6月无代码资讯|OutSystems与微软合作,将生成式AI整合在低代码产品;首个自然语言开发框架PromptAppGPT发布

一、TOP3 大事件 1、用ChatGPT开发代码!OutSystems与微软合作,增强低代码开发 6月22日,全球低代码领导者OutSystems在官网宣布与微软达成深度技术合作,将生成式AI全面整合在低代码产品矩阵中。 据悉,OutSystems通过…

使用CNN+LSTM进行脑电情绪识别

写了一份适合刚入门脑电情绪识别的一个可用于练手的代码讲解。 首先再进行用脑电信号进行情绪识别时会对数据进行一个处理,比如计算出微分熵,功率谱图等。 在这里我们首先采用计算出微分熵DE。 微分熵 微分熵是香农信息熵在连续变量上的推广形式&…

神经元激活函数

神经元激活函数 激活函数(Activation functions),将非线性特性引入到网络中。如下图,在神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数,这个函数就是激活函数。 引入激活函数是为了增加神经…

独家 | 人工神经网络中发现了人类大脑拥有的多模态神经元(附链接)

作者:Gabriel Goh, Chelsea Voss, Daniela Amodei, Shan Carter, Michael Petrov, Justin Jay Wang, Nick Cammarata, and Chris Olah 翻译:欧阳锦 校对:王可汗本文约4000字,建议阅读12分钟本文探讨了OpenAI在CLIP模型中发现人类大…

神经网络(三)—— 神经元多输出

本系列为慕课网《深度学习之神经网络(CNN/RNN/GAN)算法原理实战》视频笔记,希望自己能通过分享笔记的形式更好的掌握该部分内容。 往期回顾: 神经网络(一)—— 机器学习、深度学习简介 神经网络(二)—— 神…

3D U-Net脑胶质瘤分割BraTs + Pytorch实现

原论文地址: 连接 一、网络模型的分析和对比 原始2D-Unet网络模型 我的2D-Unet网络模型 1、和原来的2D-Unet网络不同的是,我输入通道为4,我这里应该改为4个通道,对应四个模态图像,而输出通道为3,我对应的是三个嵌套子区域标签(WT、TC、ET) 2、另外,最大不同的是我的3X3卷积…