我们的在线课程(全部都是免费的,没有广告):

其他有用的资源

快in the news:


我违反了行为准则

更新2020年10月30日:NumFOCUS 道了歉 对我来说。我接受他们的道歉。我不接受他们的断言:“在面谈时,委员会尚未确定存在违反行为守则的情况,只是确定有两起投诉正在接受审查。”设置电话的电子邮件中说:“我们希望安排一次会议,以便我们可以与您讨论调查结果。”-不再赘述。在电话会议中,委员会列出了违规清单,并说:“这就是记者所说的,我们所发现的”。我问为什么他们在发现之前不听我的话,他们说:“我们都看了录像,所以我们可以自己看一下违规情况”。委员会在致歉电子邮件中向我提供了后续讨论,但我拒绝了。

简介:NumFOCUS发现我违反了他们在JupyterCon的行为准则(CoC),因为我的讲话不是“善良的”,因为我说Joel Grus认为他认为Jupyter Notebook不是一个好的软件开发环境是“错误的”。乔尔(我非常敬重,并认为对数据科学界来说是一种资产)没有参与NumFOCUS的行动,没有得到告知,也没有提供支持。 NumFOCUS没有遵循他们自己的执法程序并违反了他们自己的CoC,甚至让我绞刑了一个多星期,甚至不知道我被指控什么,也没有给我机会在结束调查之前提供意见。我反复告诉他们的委员会,由于医疗问题,我目前的情绪适应力很低,当我试图(不成功)抑制眼泪时,他们对此大笑而忽略了。这个过程让我崩溃了,在可预见的未来,我将无法接受任何演讲请求。我支持认真执行《行为准则》,以解决性别歧视,种族主义和骚扰行为,但是在这种情况下并非如此。

总览

在我最近的JupyterCon主题演讲中,“我喜欢Jupyter笔记本”(如果您有兴趣亲自查看,请在这篇文章的底部提供重新录音),我试图对Joel Grus极具影响力的JupyterCon演示文稿进行反驳。 “我不喜欢笔记本”。乔尔(Joel)在演讲中声称Jupyter对于软件开发和教学而言是一个糟糕的选择,而我在演讲中则声称这是一个不错的选择。 NumFOCUS委员会认定我有罪,因为他们在与乔尔的异议中没有得到“善待”,并“侮辱”了他,从而违反了他们的行为守则。给出的具体原因是:

  • 我说乔尔·格鲁斯(Joel Grus)“错了”
  • 我用了他的一些幻灯片(适当归类)和其中一个视频的简短片段来解释为什么我认为他错了
  • 我对他先前的讲话“否定了”
  • 我还被告知,“作为主旨发言人”我将“被要求享有比其他人更高的标准”(尽管在我演讲之前没有向我传达此信息,也没有说更高的标准是什么)

如果认真制定和执行《行为准则》,它可能是解决性别歧视,种族主义和骚扰的有用工具,这些都是技术会议上的问题。鉴于 科技行业的多样性问题,重要的是我们要继续努力使会议更具包容性,尤其是对于那些来自边缘化背景的会议。制定具有明确规则的行为准则,以应对暴力威胁,不受欢迎的性关注,反复骚扰,明显的性图片和其他有害行为,这是解决和制止这些行为的第一步。 JupyterCon代码提供了以下不可接受行为的示例,这些示例都与我的行为完全不同(即说某人在某个技术主题上是错误的,并解释了如何以及为什么):

  • 针对他人的暴力威胁或暴力语言
  • 歧视性笑话和语言
  • 发布露骨的色情或暴力内容
  • 发布(或威胁发布)其他人的个人身份信息(“躲避”)
  • 个人侮辱,尤其是那些使用种族主义或性别歧视条款的侮辱
  • 不受欢迎的性关注
  • 提倡或鼓励上述任何行为
  • 一再骚扰他人。通常,如果有人要您停止,那就停止

我对NumFOCUS行为准则的经验提出了一些关键问题:

  • CoC执法过程涉及冲突&不断变化的信息,我没有机会提供意见,长时间等待的压力,未知的持续时间,没有关于我被指控或接下来将发生的事情的信息,委员会成员在此过程中违反了自己的CoC
  • 有两个完全不同的行为准则,在不同的地方有不同的要求
  • 我被拘束于一个不同的,没有文件记载和没有沟通的标准
  • 在确认参与之前,未传达CoC的存在或细节
  • CoC专家建议避免礼貌或其他形式的“适当”行为,但应重点关注不可接受行为的特定列表。但是,JupyterCon CoC几乎完全是模糊定义的“适当”行为(例如“欢迎”,“体贴”和“友好”)列表
  • CoC专家建议使用关注一系列不可接受行为的CoC。链接到JupyterCon的两个代码都具有这样的链接,并且任何不可接受的行为示例都与本例中发生的事情没有任何关系或接近。但是NumFOCUS仍然发现我违规。

我宁愿完全不用写这篇文章。但是我知道人们会问为什么JupyterCon网站上没有我的演讲,所以我觉得我应该确切解释发生了什么。我特别担心的是,如果只有部分信息可用,反CoC人群可能会以此作为行为守则问题的一个更普遍的例子,或者可能将此视为“取消文化”的一部分(一个概念我强烈不同意,因为所谓的“取消”通常只是“面对后果”)。最后,我发现站在行为准则问题的“另一侧”使我对流程有了更多的见解,并且重要的是,我应该分享这些见解,以在将来为社区提供帮助。

细节

对于感兴趣的人,本文的其余部分将详细介绍发生的情况。

我在JupyterCon上的演讲

我最近在 JupyterCon。我的搭档雷切尔给了 在JupyterCon上讲话 几年前,我有一个很棒的经历,我非常喜欢Jupyter,所以我想支持这个项目。这次会议以前是由O’Reilly组织的,他在我参加过的会议上一直做得非常出色,但是今年会议由 焦点.

在我的演讲中,我决定专注于Jupyter, 探索性编程环境,使用 nbdev。然而,一个挑战是,两年前,乔尔·格鲁斯(Joel Grus)做了精彩的演讲, 我不喜欢笔记本 这是如此引人注目,以至于我几乎无法在不被告知“在Jupyter中进行编程”的情况下谈论它。

自从我提前问乔尔以来,乔尔对我的演讲打开和关闭时都有些轻松的表情。 进行这样的演示。所以我想我会用一块石头杀死两只鸟,并借此机会直接回应他。他的演讲不仅精彩,而且幻灯片很有趣,所以我决定直接使用(当然要完全赞扬)他的一些幻灯片来模仿他的演讲。这样,那些没有看过他讲话的人不仅可以欣赏到精彩的内容,还可以理解我的回应。例如,以下是乔尔(Joel)如何说明以正确的顺序运行细胞的挑战:

我展示了该幻灯片,解释说这是乔尔(Joel)的观点,然后是一张幻灯片,显示了按顺序运行所有单元实际上是多么容易:

每张幻灯片都包含乔尔(Joel)标题幻灯片的摘录,我解释说,其中显示了哪些幻灯片直接摘自他的演讲。我非常小心,以确保我没有以任何方式修改他的任何幻灯片。在第一次介绍他的演讲时,我将乔尔描述为“一个出色的沟通者,真有趣,而且错了”。我没有对乔尔发表任何其他评论(不过,从记录来看,我认为他很棒,并极力推荐 他的书.

违反行为准则的通知

一周后,我收到一封电子邮件,告诉我针对JupyterCon主题演讲,提交了两份CoC报告。有人告诉我:“行为准则执行小组明天将开会审查事件,并将与您联系以告知您报告的性质并了解您的观点”。

在邀请我发言,接受并完成在线注册后,才提到CoC。那时我已经对其进行了审查,并且感到有些困惑。我收到的电子邮件链接到 JupyterCon行为准则,但这又没有提供关于什么是好还是不好的详细信息,而又链接到了另一个 焦点行为准则。还提供了一个链接 报告违规,它也链接并命名为NumFOCUS CoC。

我担心自己做了一些可能被视为违法的事情,并期待听到报告的性质,并有机会分享我的观点。我很高兴JupyterCon记录到他们遵循 焦点执法手册。我还感到鼓舞的是,该手册的“与事件的报道人交流”部分说,他们将“让报告人告诉CoC响应团队中的某人他们的故事。接受故事情节的人应该准备在响应小组会议上传达这个故事。”我也很高兴看到,许多手册和行为准则都遵循了杰出人才的建议(甚至使用了一些措辞)。 艾达倡议,他们对如何制定和应用行为准则非常谨慎。

挑战之一是JupyterCon CoC是基于Django的,它具有非常通用的指导原则,例如“欢迎”和“体贴”,不同的人可以采用不同的方式来使用它们。 NumFOCUS代码更加清晰,带有“不可接受的行为”的特定列表,尽管该列表包括“其他不道德或不专业的行为”,这很麻烦,因为“不专业”对于所有那些“专业”被认为违反了他们的特定规范,并且无法合理地期望团体外的人(例如我)知道这些规范。

其中的一些问题在 精彩的演讲 Valerie Aurora解释说,“行为准则应包含”“许多人认为可以接受但在您的社区中不可接受的行为”,并且“如果您要列出良好行为或描述社区行为理想,请”,特别是“不需要礼貌或其他形式的“适当”行为”。差不多 所有 JupyterCon行为准则中列出了“适当”行为的形式(例如,“友好”,“热情”,“尊重”等)。而更广泛,更主观的价值观(例如“仁慈”),可以作为会议价值的一部分来使用,但尚不清楚,甚至如何通过行为准则来实施这些价值。

总体而言,我感到非常紧张,但希望很快能解决。

来电

约定的电话第二天发生。但是,代表告诉我,他们会 当时让我了解报告的性质,而当时并不想寻求我的观点。我问为什么要改变计划。该代表解释说,他们举行了一次委员会会议,并决定等到他们与两位记者交谈后再说。

我被惊呆了。该代表甚至无法承诺他们会回到我身边或告诉我接下来会发生什么。我告诉他们,我以为是告诉某人他们有违规报告,但是没有说出它是什么,何时,是否能够提供故事的内容或为下一步提供任何时间范围太残酷了我告诉他们,由于我一直在应对具有挑战性的家庭健康问题,因此我的情绪适应能力不高,我希望他们将来会考虑改变对其他人的态度,因此他们不必面对像我一样,不限成员名额且晦涩难懂。

该代表解释说,我“至少让两个人感到不舒服”。我告诉他们,我真的认为这不公平。我们不应对别人的感受负责。作为的拥护者 非暴力交流 我相信我们应该 分享 我们对他人的言行举止感到如何,但不应 其他人的这些感受。此外,如果要求谈话使人们感到舒适,则应进行清晰的沟通和记录(NumFOCUS都没有)。

下一个电话没有再发生一周(我可以随时开会)。令我震惊的是,这次电话会议的目的是“讨论我们调查的结果”。没有我的任何投入,我无法理解他们如何完成调查并取得结果。尽管如此,我还是同意了。我认为我所要做的就是拨入电话,听到结果,然后就完成了。

报告

一个电话,我惊讶地发现自己面对着四个人。以前的电话只有一个,突然间人数如此之多,让我感到非常害怕。一位代表首先告诉我确切的发现。记者声称并得到委员会的同意,确实存在违反行为守则的行为,特别是在没有“善待他人”和“侮辱他人”的情况下。

我被惊呆了。我认为乔尔很棒,而且我知道他不介意被称为“错”(因为我跟他打过电话)。我最肯定没有侮辱他。我说过,我认为他的编码方法不是最理想的,特别是使用Jupyter可以使它受益。我给他看了一段现场编码的片段,以证明这一点。我感到震惊的是,委员会的部分调查结果是关于 为什么 我展示了一张特殊的幻灯片,特别是考虑到他们甚至从未问过。我不想抹黑乔尔,我不认为我认为他的编码设置次佳的观点对他的性格影响不大。

可以说我不是“善良的”。我想可以。我做了一个模仿。在某些方面,这 善意–它表明(我明确地说过),我认为他的演讲非常出色并且很有影响力,以至于我投入了大量时间来研究它,并尽我所能地与笑话和结构打交道。另一方面,我确实的确说过他错了,并试图通过直接在幻灯片上指出错误来显示他所犯的错误。我不认为这是不友好的,但是NumFOCUS委员会似乎不同意。就我个人而言,我认为我不能侮辱他。可以很容易地辩论某人并说出他们的错,而不必声称自己是坏人或对自己的人说卑鄙的话。 JupyterCon CoC甚至提到了这一点:“当我们不同意时,请尝试理解原因。社会和技术上的分歧一直在发生,而朱皮特也不例外。

与我所负责的相比,Jupyter和NumFOCUS代码上提供的示例之间存在巨大差异。这是NumFOCUS列出的“不可接受的行为”:

  • 使用性化语言或图像
  • 亵渎过多(请避免骂人;人们对咒骂的敏感性差异很大)
  • 发布露骨的色情或暴力内容
  • 针对他人的暴力或恐吓性威胁或语言
  • 不适当的身体接触和/或不受欢迎的性关注或性评论
  • 性别歧视,种族歧视或其他歧视性笑话和语言
  • 拖钓或侮辱性的评论
  • 书面或口头评论,其依据是特定群体的成员资格而将其排除在外,包括经验水平,性别,性别认同和表现,性取向,残疾,神经型,个人容貌,身材,种族,种族,年龄,宗教或国籍
  • 公开或私人骚扰
  • 未经发件人同意,共享私人内容,例如私下或非公开发送的电子邮件或直接的消息历史记录
  • 被要求停止后,继续与某人发起互动(例如摄影,录音,消息传递或对话)
  • 谈话,事件或通讯的持续中断,例如说话者的he
  • 未经明确许可,发布(或威胁发布)他人的个人识别信息(“加密”),例如物理地址或电子地址
  • 其他不道德或不专业的行为
  • 提倡或鼓励上述任何行为

他们还在其执行指南中提供了影响评估的样本:

我坚决同意应停止这些行为,社区应团结起来支持这一行为。但这不是NumFOCUS委员会在这种情况下或在我发现违反的CoC部分中关注的行为。

我不知道这里发生了什么-为什么有些人决定使用这样写的代码,显然是为了保护人们免受性别歧视,暴力,种族主义和恐吓而编写的。我知道,今年以来,我对通用遮罩的拥护使许多敌人成为了敌人,因此不得不面对不断的骚扰甚至死亡威胁。近年来,由于我试图使AI民主化,一些受到特权地位威胁的人也受到了很多虐待。

现在怎么办?

在他们告诉我报告以及他们发现我违反了行为准则之后,他们问我是否有话要说。我告诉他们我没有。对于他们所说的电话内容,我只是在心理上做好了准备:将发现的情况告知我。我告诉他们,我认为这样做没有用,因为他们已经完成调查并做出了发现。我没有进行讨论的情绪适应力,我告诉他们。然后一个人笑了起来,当我努力忍住眼泪时,他开始不厌其烦地谈论下一个阶段对我来说是如何帮助他们决定下一步的。

我已经告诉委员会,我无法进行讨论。 NumFOCUS的“不可接受的行为”之一是:“在被要求停止后继续与某人发起交互(例如摄影,录音,消息传递或对话)。”由于他无视我的要求,因此我打断了他,再说一次我无法继续,并终止了通话。我真的不希望有一个我不认识的人组成的委员会来看着我抽泣。

我是一名独立的自负盈亏的研究员。我没有法律团队,通讯团队或同事来支持我。我在会议上的声音很罕见,会议上的声音主要来自大公司,资金雄厚的大学和新兴公司的人们。

似乎NumFOCUS政策的设计并非旨在考虑被告的权利和心理健康。他们的政策规定:“(在回应小组会议之前)尽快让举报的人知道有关于他们的投诉”,并且在与被告联系时,他们应该说:“这种行为不适合我们的活动/ meetup”,他们应该“强调行为的结果/影响,并应停止/停止”。简而言之,该文件的许多部分(包括这一部分)都带有罪恶感,对被告没有任何考虑。这种代码可能会被滥用和武器化。

为了支持社区,我已尽力让自己可以参加公开演讲活动。但是,潜在的成本太高了,对我个人而言,没有任何实际的上涨空间,因此,我希望将来至少在一段时间内不会接受邀请。我当然会完成我已经做出的承诺。

我无法应付NumFOCUS CoC流程。尽管目前我在处理类似问题上并不处于最佳位置,但我的情况要比很多情况要好得多。一方面,我是一个白人,顺式,直的男性,我一生中取得了一些成功,这有助于我提高自信心。我也是财务上独立的人,不需要有影响力的NumFOCUS组织的批准或支持。许多面对同样情况的人可能会觉得自己被迫接受了这一过程,即使这是他们无法应付的情感负担。许多没有从我所享有的特权中受益的人甚至可能没有意识到他们有能力说“不”。委员会认为我有精神上的韧性可以通过视频面对四个我不认识的人,因为他们告诉我我的“违规行为”,并要求我帮助他们决定下一步。将NumFOCUS会议发言人限制为仅准备就绪且能够处理这种情况的人员,可能会大大限制NumFOCUS会议的多样性。 NumFOCUS最近“搞砸了”,并且有很多 工作 去做 改善社区的多样性。改进其行为准则和执行流程,以满足其对他人的善意,公平,尊重和考虑的理想,可能会朝这个方向有所帮助。

我不想让这种情况停止我的工作,所以我使用完全相同的幻灯片和材料创建了新的独立谈话录音。但是,我两个讲话都没有使用脚本,因此措辞将不完全相同。视频在下面。 PowerPoint幻灯片是 这里.

PS:对于我在NumFOCUS遇到的许多朋友,以及那些我在NumFOCUS使用和欣赏的许多项目所涉及的朋友:这与您无关。你们仍然像以前一样出色,我非常希望我在您的行为准则委员会中的经历不会对我们的关系产生任何影响。

避免冒烟-如何呼吸清洁的空气

如果您目前在美国西部(例如我们),可能会感到呼吸困难。呼吸中含有火灾产生的后果的空气会使您感到非常不适,并且对长期健康也可能有害。野火烟雾中含有 细颗粒物,称为“ PM2.5”,可以吸入到肺深处。此处的“ 2.5”是指颗粒的大小-它们为2.5微米或更小。要查看您所在地区的空气质量,请查看此 AirNow地图。变成橙色后,您可能会开始感觉到这种效果。如果是红色或紫色,几乎可以肯定。 (有时外面可能会冒烟,但空气质量还可以,因为大气中的烟雾可能更高。)

好消息是,您可以做很多事情来改善呼吸的空气。您可能想知道为什么像我这样的数据科学家对空气过滤发表评论……原因是我曾经 一个领导者 Masks4All运动,包括编写第一个也是最全面的 科学论文 在主题上,这意味着我非常仔细地研究了几个月的过滤。实际上,我们要针对野火阻止的粒子大小与我们要针对covid-19阻止的粒子大小非常相似!

内容

呼吸清洁空气的三种方式是使用口罩,过滤家用中央空调或加热器以及使用带过滤器的风扇。我将在下面向您显示详细信息。 (这篇文章中有很多指向您可以购买产品的地方的链接;我没有从中获得任何佣金或任何东西,它们只是我个人认为有帮助的东西。)

口罩

因此,得知戴着面具是最有效的方法之一,这不会让您感到惊讶。要阻挡大多数PM2.5颗粒,您需要一个合适的口罩并使用良好的过滤材料。我已经为COVID-19准备了关于该主题的建议,而对于Wildfire PM2.5,几乎所有建议都完全相同,所以去吧 立即阅读。没什么问题的是“卫生”部分-野火PM2.5颗粒没有疾病,因此,如果您的口罩实际上变脏(或者如果您在公共场所外),您只需要担心卫生问题继续)。

就个人而言,我喜欢 O2纳米面膜,或您可以插入任何合适的口罩 菲尔蒂 过滤到。最近的气溶胶科学测试表明,折叠成两层的护颈垫也可以很好地工作(但请确保添加鼻夹以消除鼻子周围的缝隙)。在Etsy上查看许多口罩设计,包括 滤袋和鼻夹.

带有滤袋的数千种口罩设计可供选择
带有滤袋的数千种口罩设计可供选择

过滤您的家庭空气

要清洁家里的空气,基本思想是使空气不断通过过滤器。过滤器只是一块空气可以通过的材料,而PM2.5颗粒则不能。没有哪个过滤器是完美的,但是有一些可用的选项效果很好。筛选器有一个 MERV评级,它告诉您它们去除了多少小颗粒。对于野火,您通常需要MERV 13。

不要只买您能找到的最高评价的过滤器。额定值较高的过滤器具有较小的孔(通常来说),这意味着它们也不会让空气以如此快的速度通过。请记住,我们希望您的家用空气迅速通过过滤器,以确保您的所有空气都得到清洁,因此我们不希望过滤器对气流产生太大的负面影响。我建议 Filtrete™健康生活空气过滤器。即使对于MERV 13规格,它们也具有良好的气流。

在中央空气中添加过滤器

如果您有中央供暖系统或空调,那么您很幸运。那将拥有强大的粉丝,覆盖您的所有房间。诀窍是过滤空气 到系统。几乎所有家庭系统都只是通过家中的大通风口吸入空气。一些设备在其自身中有一个过滤槽,而对于某些设备,输入通风口位于房屋中完全独立的位置。注意空调吹空气 到屋外,但他们不吸气 从房屋外部(通常,对于更高档的商业建筑HVAC系统除外)。

找到中央空气正从其吸入的进气孔后,请为其添加过滤器。如果已经有一个,请确保它是MERV 13或14。您应该每3个月左右更改一次(取决于品牌)。安装了过滤器的通风口如下所示:

进风口,下方显示过滤器
进风口,下方显示过滤器

NB:大多数过滤器的侧面都有箭头,指示气流方向。因此,请确保正确放置它!另外,请确保您购买了正确的尺寸。测量出气孔的大小,然后购买一个过滤器 至少 足够大以覆盖孔。如果有缝隙,空气将通过它们,而不是过滤器!

如果没有明显的地方向通气孔添加过滤器,则需要发挥创意。它看起来可能并不漂亮,但是您始终可以使用胶带,海报钉等将通风口盖卸下并将过滤器直接固定在顶部。

过滤器安装到位后,最重要的是设置中央空气设置,使其具有 风扇一直运转。大多数系统具有“自动”设置,仅在加热或冷却时才打开风扇。你不想要那个!将风扇设置为“开”,而不是“自动”。这样,您将通过该过滤器获得尽可能多的空气。

向风扇和便携式空调添加过滤器

我建议每个房间都配有空气净化器。大多数空气净化器实际上并没有做那么多,因为它们通常安静且体积小(这意味着它们不会移动太多空气)。有 超大型净化器 出售,但它们非常昂贵,并且目前经常售罄。

但是,我们可以创建自己的空气净化器,其性能要比昂贵的大型空气净化器好或更好。空气净化器只是将空气吹过过滤器的风扇。因此,如果我们使用大风扇和优质过滤器,那么我们将拥有优质空气净化器!诀窍是购买20英寸“箱式风扇”(这只是20英寸方盒中的风扇),并在其前面粘贴20英寸过滤器。我们选择20英寸是因为它很大,而更大的风扇和更大的过滤器意味着在给定的时间内可以进行更多的过滤。

我买了一些这样的电风扇: PELONIS三速箱式风扇。我并不是说这比其他任何更好或更差-只需购买任何可以动手的东西。您想要一个具有高速设置的风扇,以推动大量空气通过。

对于过滤器,任何尺寸合适且符合MERV 13或14规格的产品都应该可以。我买了这包6 20英寸Filtrete过滤器。通常,较高质量的过滤器将允许更好的空气流通。同样,较厚的过滤器也会增加气流。例如而不是我得到的20x20x1过滤器,您可以尝试 20x20x4(4英寸厚)过滤器.

我所购买的风扇的正面具有开/关/速度开关,因此我首先将其设置为最大速度设置,因为一旦安装了过滤器,便无法再使用该开关了。然后我贴了一些 这种粘性泡沫 一直围绕风扇的正面,尽力保持空隙。这个想法是,当我然后将风扇放在上面时,将有尽可能小的间隙。坚持很长的时间可能同样有效 海报钉 到处都是正面最后,我通过使用大量的过滤器将过滤器固定在风扇的前面 优质包装胶带.

完整的DIY空气净化器
完整的DIY空气净化器

这些东西很吵!但这比起烟熏房要好得多。它们也非常有助于将COVID-19拒之门外,因此,如果您有商店或公司,如果您没有很好的高变化率过滤HVAC,则在周围散布一些。

我发现另一种有用的方法是购买紧凑型便携式空调。它们带有一根软管,可通过窗户将热空气吹出,并通过设备的前部或后部吸入空气。您可以使用与上述风扇类似的方法,将过滤器粘贴在吸入空气的前面。

致谢

非常感谢 吉姆·罗森塔尔(Jim Rosenthal)特克斯空气过滤器, 并 理查德·科西(Richard Corsi) 自制空气净化器的想法。吉姆有一个 更高版本 对于那些有预算的人。也感谢 何塞·路易斯·希门尼斯, 林西·马尔,弗拉基米尔·兹迪马尔,阿德里安·巴克斯和 金伯利·普拉瑟(Kimberly Prather) 进行了许多讨论,这些讨论帮助我提高了对气溶胶科学的理解(仍然有限!)。

快发布新的深度学习课程,四个库和600页的书

快是一个自负盈亏的研究,软件开发和教学实验室,致力于使深度学习更容易获得。我们免费提供所有软件,研究论文和课程,而没有广告。我们会自掏腰包支付所有费用,不接受任何赠款或捐赠,因此您可以确定我们是真正独立的。

今天是fast.ai,是我们四年历史上最大的一天。我们发布:

另外,如果您错过了它,本周早些时候我们发布了 实用数据伦理 课程,重点是紧急和实用的主题。

内容

Fastai v2

fastai是一个深度学习库,可为从业人员提供高级组件,这些组件可以快速轻松地在标准深度学习领域中提供最新的结果,并为研究人员提供可以混合和匹配以构建的低级组件新方法。它的目的是在不影响易用性,灵活性或性能的前提下做到这两件事。这要归功于精心分层的体系结构,该体系结构以解耦的抽象表达了许多深度学习和数据处理技术的通用底层模式。通过利用底层Python语言的动态性和PyTorch库的灵活性,可以简洁明了地表达这些抽象。 fastai包括:

  • 用于Python的新型分派系统以及用于张量的语义类型层次结构
  • GPU优化的计算机视觉库,可以在纯Python中扩展
  • 一种将现代优化器的通用功能重构为两个基本部分的优化器,从而可以在45行代码中实现优化算法
  • 一种新颖的双向回调系统,可以访问数据,模型或优化器的任何部分,并在训练过程中随时进行更改
  • 新的数据块API
  • 以及更多…
fastai的分层架构

fastai围绕两个主要设计目标进行组织:易于上进和快速生产,同时还具有很强的可入侵性和可配置性。它建立在提供可组合构建块的低级API层次结构的顶部。这样,想要重写部分高级API或添加特定行为以适应其需求的用户不必学习如何使用最低级别。

要了解Fastai的功能,请看一下 快速开始,其中显示了如何使用大约5行代码来构建图像分类器,图像分割模型,文本情感模型,推荐系统和表格模型。对于每个应用程序,代码都是相同的。

使用Fastai进行图像分割的示例

通读 讲解 了解如何在自己的数据集上训练自己的模型。使用导航侧栏浏览fastai文档。这里记录了每个类,函数和方法。要了解图书馆的设计和动机,请阅读 同行评审论文或观看 这个演讲 总结一些关键设计要点。

所有fast.ai项目(包括fastai)均使用 nbdev,这是完整的 识字的编程环境 建立在Jupyter笔记本上。这意味着每个文档都可以作为交互式Jupyter笔记本进行访问,并且每个文档页面都包含一个链接,可直接在Google Colab上打开该文档以进行实验和自定义。

从普通的PyTorch,Ignite或任何其他基于PyTorch的库中迁移,甚至将fastai与其他库结合使用,都非常容易。通常,您将能够使用所有现有的数据处理代码,但将能够减少培训所需的代码量,并更轻松地利用现代最佳实践。以下是一些受欢迎的库中的迁移指南,可以帮助您: 普通PyTorch; 点燃; 闪电; 催化剂。而且由于很容易将fastai框架与现有的代码和库结合在一起,因此可以选择所需的位。例如,您可以使用fastai的GPU加速的计算机视觉库以及您自己的训练循环。

fastai包括许多添加功能的模块,通常通过回调。得益于灵活的基础架构,这些都可以协同工作,因此您可以选择所需的内容(并添加自己的内容),包括: 混合剪下 增强,独特灵活 GAN培训 框架,包括许多调度程序(在其他任何框架中都没有),包括支持按照 超低价,混合精度,梯度累加,支持Tensorboard等一系列日志记录框架(对Weights和Biases的支持特别强,例如 在这里展示), 医学影像, 以及更多。其他功能是通过 Fastai生态系统,例如对 HuggingFace变形金刚 (也可以手动完成,如 本教程), 音讯, 加速推理等等。

法泰的医学影像

社区已经为fastai v2提供了一些很棒的学习资料,例如Zach Mueller的“从零到英雄”系列: part 1; part 2.

面向程序员的实用深度学习课程

过去的fast.ai课程已经被来自世界各地的各行各业的数十万学生研究。很多学生告诉我们他们如何成为 多个金牌得主国际机器学习比赛, 收到报价 来自顶级公司,以及 研究 文件 已发表。例如,艾萨克·迪米特洛夫斯基(Isaac Dimitrovsky) 告诉我们 that he had “一直与ML玩了几年,但并没有真正理解它……[然后]去年下半年参加了fast.ai第1部分课程,它让我大吃一惊”。他继续在享有声望的国际比赛中获得第一名 RA2-DREAM挑战 竞争!他开发了 多阶段深度学习方法 利用Fastai库对风湿性关节炎的影像学手脚关节损伤进行评分。

今年的课程 使事情更进一步。它将机器学习和深度学习合并到一门课程中,涵盖了诸如随机森林,梯度提升,测试和验证集以及p值等主题,这些主题以前都在单独的机器学习课程中。此外,还涵盖了生产和部署,包括有关为我们自己的深度学习驱动的应用程序开发基于Web的GUI的材料。唯一的先决条件是高中数学,以及一年的编码经验(最好是使用Python)。该课程与 数据研究所 在旧金山大学。

完成本课程后,您将知道:

  • 如何通过以下方式训练获得最新结果的模型:
    • 计算机视觉,包括图像分类(例如,按品种对宠物照片进行分类)以及图像定位和检测(例如,查找图像中动物的位置)
    • 自然语言处理(NLP),包括文档分类(例如电影评论情感分析)和语言建模
    • 包含分类数据,连续数据和混合数据的表格数据(例如销售预测),包括时间序列
    • 协同过滤(例如电影推荐)
  • 如何将模型转换为Web应用程序并进行部署
  • 深度学习模型为何起作用以及如何起作用,以及如何利用这些知识来提高模型的准确性,速度和可靠性
  • 在实践中真正重要的最新深度学习技术
  • 如何从头开始实现随机梯度下降和完整的训练循环
  • 如何考虑工作的道德影响,以帮助确保您使世界变得更加美好,并且您的工作不被滥用

我们非常关心教学,使用 整个游戏 方法。在本课程中,我们将展示如何使用简单,富于表现力的工具,使用完整,有效,非常有用的,最先进的深度学习网络来解决实际问题。然后,我们逐渐深入了解这些工具的制造方式以及制造这些工具的工具的制造方式,等等。我们总是通过示例进行教学。我们确保存在一个可以直观理解的上下文和目的,而不是从代数符号操作开始。我们还将深入细节,向您展示如何从头开始构建深度学习模型的所有组件,包括讨论性能和优化细节。

通过利用针对Colab和Gradient平台的指南,可以免费完成整个课程,而无需进行任何安装,这些指南提供了基于GPU的免费笔记本电脑。

《 Fastai和PyTorch为程序员进行深度学习》,这本书

要了解这本新书的内容以及它的用途,让我们看看其他人对此有何评论……PyTorch的共同创作者Soumith Chintala在 前言使用Fastai和PyTorch对程序员进行深度学习:

但是与我不同的是,杰里米和西尔万无私地投入了大量精力来确保其他人不必走痛苦的道路。他们建立了一个很棒的课程,称为fast.ai,它使了解基础编程的人们可以使用最先进的深度学习技术。它已经毕业了成千上万渴望成为优秀实践者的学习者。

在这本书中,这是另一本不懈的产品,杰里米和西尔文通过深度学习构建了神奇的旅程。他们使用简单的单词并介绍每个概念。他们为您带来了最先进的深度学习和最新研究,却使它非常容易获得。

在长达500页的令人愉快的旅程中,您将获得计算机视觉的最新进展,深入的自然语言处理并学习一些基础数学。而且,旅程不会一stop而就,因为它们会带您完成将想法付诸生产的过程。您可以将fast.ai社区和成千上万的在线从业人员视为大家庭,无论您遇到什么问题,像您这样的个人都可以在这里讨论和讨论大小解决方案。

Google研究总监Peter Norvig(以及《 定语 on AI) said:

我们在本书的第1章第1节中看到了“深度学习适合每个人”,尽管其他书籍可能会提出类似的主张,但本书仍在提出主张。作者在该领域有广泛的知识,但是能够以非常适合于编程但没有机器学习经验的读者的方式描述它。该书首先显示了示例,仅在具体示例的上下文中涵盖了理论。对于大多数人来说,这是最好的学习方式。本书出色地完成了深度学习在计算机视觉,自然语言处理和表格数据处理中的关键应用,并涵盖了诸如数据伦理等关键主题,书本小姐。总之,这是程序员精通深度学习的最佳来源之一。

斯坦福大学医学和影像学人工智能中心主任柯蒂斯·朗洛茨(Curtis Langlotz)说:

Gugger和Howard为曾经做过一点编码的任何人创建了理想的资源。本书以及与之配套的fast.ai课程,通过使用动手方法以及可以探索和重用的预编写代码,简单而实用地揭开了深度学习的神秘面纱。不再为抽象概念的定理和证明而烦恼。在第1章中,您将建立自己的第一个深度学习模型,到本书结尾,您将知道如何阅读和理解任何深度学习论文的“方法”部分。

快速核心,fastscript和fastgpu

快速核心

Python是一种强大的动态语言。与其将所有内容烘焙到语言中,不如让程序员对其进行自定义以使其适用于他们。 快速核心 利用这种灵活性将Python功能添加到受我们喜欢的其他语言启发的功能中,例如来自Julia的多次分发,来自Ruby的mixins以及来自Haskell的currying,binding等。它还增加了一些“缺失的功能”,并清除了Python标准库中的一些粗糙之处,例如简化了并行处理,并将NumPy的思想引入了Python的列表类型。

快速核心包含许多功能。见 docs 有关所有详细信息,包括所提供的模块:

  • test:简单的测试功能
  • foundation:混合,委派,组成等
  • utils:实用程序功能可帮助进行功能样式编程,并行处理等
  • dispatch:多种派遣方法
  • transform:组成部分可逆转换的管道

快速脚本

有时,您想为自己或他人创建一个快速脚本。但是在Python中,这涉及很多样板和仪式,尤其是如果您想支持命令行参数,提供帮助和其他好处时。您可以为此使用Python随附的argparse,但是它很复杂且冗长。 快速脚本 makes life easier. In fact, this is a complete, working command-line application (no need for any of the usual boilerplate Python requires such as if __name__=='main'):

from 快速脚本 import *
@call_parse
def main(msg:Param("The message", str),
         upper:Param("Convert to uppercase?", bool_arg)=False):
    print(msg.upper() if upper else msg)

运行此脚本时,您将看到:

$ python examples/test_fastscript.py
usage: test_fastscript.py [-h] [--upper UPPER] msg
test_fastscript.py: error: the following arguments are required: msg

Fastgpu

Fastgpu provides a single command, Fastgpu_poll, which polls a directory to check for scripts to run, and then runs them on the first available GPU. If no GPUs are available, it waits until one is. If more than one GPU is available, multiple scripts are run in parallel, one per GPU. It is the easiest way we’ve found to run ablation studies that take advantage of all of your GPUs, result in no parallel processing overhead, and require no manual intervention.

致谢

非常感谢所有帮助实现这些项目的人,尤其是西尔文·古格(Sylvain Gugger),他在过去两年中与fast.ai紧密合作。也感谢的所有支持 数据研究所 Fast.ai的共同创始人Rachel Thomas(在旧金山大学任教)和(其中包括)讲授数据伦理学课程,并开发了本书中的许多数据伦理学材料。谢谢大家 快community 为您所做的所有杰出贡献。

从《面向程序员的深度学习》一书中转发

为庆祝fast.ai新课程,书籍和软件库的发布,我们提供了Soumith Chintala( 火炬)为这本书写的。要了解更多信息,请参阅 发布公告.

在很短的时间内,深度学习已成为一种广泛使用的技术,可以解决和自动化计算机视觉,机器人技术,医疗保健,物理,生物学等领域的问题。深度学习的令人高兴的事情之一是它的相对简单性。强大的深度学习软件已构建,可让您快速而轻松地入门。在几周内,您可以了解基本知识并熟悉这些技术。

这打开了一个创造世界。您开始将其应用于手头有数据的问题,看到一台机器为您解决问题,您会感到非常高兴。但是,您逐渐感到自己已接近一个巨大的障碍。您建立了深度学习模型,但效果并不理想。这是您进入下一个阶段时,查找和阅读有关深度学习的最新研究的方法。

但是,有关深度学习的知识很多,其背后是数十年的理论,技术和工具。通过阅读本研究中的某些内容,您会意识到人类可以用非常复杂的方式解释简单的事情。科学家在这些看起来很陌生的论文中使用单词和数学符号,并且似乎没有教科书或博客文章以可访问的方式涵盖您所需的必要背景。工程师和程序员假定您知道GPU的工作原理,并且具有有关晦涩的工具的知识。

这是您希望与自己的导师或朋友聊天的时候。以前曾穿鞋的人,他们了解工具和数学知识–可以指导您进行最佳研究,最新技术和先进工程的人,并使其变得异常简单。十年前,当我涉足机器学习领域时,我曾为您着迷。多年以来,我一直在努力理解其中包含一些数学知识的论文。我周围有很好的导师,这对我有很大的帮助,但是我花了很多年才能适应机器学习和深度学习。这促使我共同撰写了PyTorch,这是一个使深度学习变得可访问的软件框架。

杰里米·霍华德(Jeremy Howard)和西尔文·古格(Sylvain Gugger)也在您的鞋子上。他们希望学习和应用深度学习,而无需像ML科学家或工程师那样经过任何正式的培训。像我一样,杰里米(Jeremy)和西尔文(Sylvain)多年来逐渐学习,并最终成为专家和领导人。但是与我不同的是,杰里米和西尔万无私地投入了大量精力来确保其他人不必走痛苦的道路。他们建立了一个很棒的课程,称为fast.ai,它使了解基础编程的人们可以使用最先进的深度学习技术。它已经毕业了成千上万渴望成为优秀实践者的学习者。

在这本书中,这是另一本不懈的产品,杰里米和西尔文通过深度学习构建了神奇的旅程。他们使用简单的单词并介绍每个概念。他们为您带来了最先进的深度学习和最新研究,却使它非常容易获得。

在长达500页的令人愉快的旅程中,您将获得计算机视觉的最新进展,深入的自然语言处理并学习一些基础数学。而且,旅程不会一stop而就,因为它们会带您完成将想法付诸生产的过程。您可以将fast.ai社区和成千上万的在线从业人员视为大家庭,无论您遇到什么问题,像您这样的个人都可以在这里讨论和讨论大小解决方案。

很高兴您找到这本书,希望它能激发您充分利用深度学习的知识,而不论问题的性质如何。

Soumith Chintala,PyTorch的共同创造者

应用数据伦理学,一门新的免费课程,对于所有从事技术工作的人都是必不可少的

今天我们发布一个 免费的应用数据伦理学在线课程,其中包含从事数据科学工作或受技术影响的任何人的基本知识。本课程的重点是紧迫且实用的主题,这些主题现在就造成实际伤害。与fast.ai保持一致 教学理念,我们将从两个活跃的现实世界区域开始(虚假信息偏压)提供背景信息和动机,然后再回到第3课进行深入研究 数据伦理学的基础实用工具。从那里我们将继续进行其他主题领域: 隐私& surveillance,硅谷生态系统的作用(包括 指标,风险增长,& hypergrowth),以及 算法殖民主义.

如果您准备立即开始,请查看 教学大纲和阅读清单 或观看 影片在这里. 否则,请继续阅读以获取更多详细信息!

与数据道德相关的问题每天都成为头条新闻,因为滥用误导会伤害真实的人
与数据道德相关的问题每天都成为头条新闻,因为滥用误导会伤害真实的人

没有先决条件 该课程。它并非旨在详尽无遗,但希望将提供有用的背景信息,说明数据滥用如何影响社会,以及实践批判性思维技巧和提出的问题。该课程最初是在 旧金山大学数据研究所 在2020年1月至2月,来自不同背景的工作专业人员的多元化组合( 晚间证书课程)。

关于数据伦理学纲要

数据伦理学涵盖了令人难以置信的广泛主题,其中许多主题很紧迫,每天都成为头条新闻,并立即对真实的人造成伤害。荟萃分析 超过100个技术道德大纲,标题为 “当我们教授技术伦理时,我们会教什么?” 发现技术伦理课程涵盖的主题差异很大(法律& policy, privacy &监视,哲学,正义&人权,环境影响,公民责任,机器人,虚假信息,工作&劳动力,设计,网络安全,研究道德等等,远远超过任何一门课程都无法涵盖的范围。这些课程由来自各个领域的教授教授。结果更加统一的领域是批评,发现问题和提出论点的能力,这是技术伦理课程最常见的期望结果。

关于本课程涵盖的主题,有大量出色的研究和著作,而我很难将阅读清单缩减到“合理”的长度。关于这些主题的文章,论文,论文和书籍还有很多,这里没有列出。看看我的 教学大纲和阅读清单在这里.

关于fastai视频浏览器的注意事项

视频浏览器左上方附近有一个图标,可打开所有课程的菜单。右上角附近的图标打开课程笔记和成绩单搜索功能。

使用视频浏览器左上角和右上角的图标折叠/展开菜单和课程注释/成绩单搜索
使用视频浏览器左上角和右上角的图标折叠/展开菜单和课程注释/成绩单搜索

涵盖的主题

第1课:虚假信息

从使用伪造品来骚扰妇女,广泛传播有关冠状病毒的错误信息(被WHO标记为“信息流行病”),对信息失真在2020年大选中可能扮演的角色的担忧以及广泛的外国影响力行动的消息,信息失真经常成为新闻和是一个紧迫的问题。它也表明了这么多数据伦理问题的复杂性和跨学科性质:虚假信息涉及技术设计选择,不良行为者,人类心理,错位的财务激励措施等等。

看着 第1课视频.

第二课:偏差& Fairness

不公正的偏见是机器学习中越来越多讨论的问题,甚至产生了自己的领域,成为公平性,问责制和透明度(FAccT)的主要重点。我们将不进行表面讨论,而是讨论有关如何定义公平性,不同类型的偏见,缓解偏见的步骤以及复杂因素的问题。

看着 第2课视频在这里.

第三课:道德基础& Practical Tools

既然我们已经看到了数据中出现的道德问题的许多具体的,现实世界的例子,我们将退一步并了解一些道德哲学和方法以评估道德,并考虑如何选择道德问题。我们还将介绍Markkula中心的技术道德工具包,这是一套将在工作场所实施的具体实践。

看着 第3课视频在这里.

第4课:隐私和监视

正在收集有关我们的大量数据:手机上的应用程序会跟踪我们的位置,交友网站会出售个人详细信息,学校记录学生的面部识别,而警察会使用庞大的不受管制的面部数据库。在这里,我们讨论如何收集,出售和使用我们的数据的真实示例。还有一些关于如何使用监视来压制异议并进一步伤害已经边缘化者的模式。

看着 第4课视频在这里.

第5课:我们如何到达这里?我们的生态系统

可以理解的是,新闻故事通常集中在特定公司的特定道德问题的一个实例上。在这里,我希望我们退后一步,考虑一些导致我们看到的问题类型的更广泛的趋势和因素。这些包括我们过分强调指标,许多平台的固有设计,风险投资对超增长的关注等等。

看着 第5课视频在这里.

第6课:算法殖民主义及后续步骤

当一个国家的公司在其他许多国家开发和部署技术,提取数据和获利时,往往对当地文化问题知之甚少,就会引发许多道德问题。在这里,我们将探讨算法殖民主义。我们还将考虑采取下一步措施,让学生继续围绕数据道德规范开展工作,并将学到的知识带回到工作场所。

看着 第6课视频在这里.

对于应用数据伦理学课程,您可以找到 主页在这里, 教学大纲和阅读清单 并观看 影片在这里.