VSR
tags: Incomplete,分布式,共识算法
tags: Incomplete,分布式,共识算法
tags: 分布式,Incomplete
tags: Translate,Incomplete,Python Python 幕后 #2: CPython 编译器如何工作 今天的主题(Today’s subject) 在本系列的第一篇文章中我们研究了 Python 虚拟机。我们学了解到它通过执行一系列叫做字节码(bytecode)的指令。 我们也看到 Python 字节码没有完全描述代码片段的行为。这也是为什么存在一个代码对象(code object)的概念。 执行诸如函数或模块的代码块也就是执行对应的代码对象。代码对象包含了代码块的字节码,包含代码中使用的常量和变量名, 还有代码块的一些属性。 通常,一个 Python 程序员不用编写字节码,并且也不用创建代码对象,而是编写正常的 Python 代码。所有 CPython 必须 能够将源代码转换成代码对象。CPython 编译器就负责这部分工作。我们将通过这部分内容探索它是如何工作的。 Note: 本文参考 CPython 3.9。一些实现细节将必然会随着 CPython 的演进而改变。 我将会尝试关注一些重要的改变并添加更新备注。 什么是 CPython 编译器(What CPython compiler is) 我们已经了解了 CPython 编译器的职责,但是在我们进入到它是如何实现的之前,让我们首先来搞清楚为什么我们称之为编译器? 在通常情况加,编译器是一个将一个程序语言翻译到另一个与之等价的程序语言的程序。编译器有许多种类,但是通常情况下我们 讨论的都是静态编译:将一个高级语言的程序翻译成机器码。CPython 编译器也是这样吗?要回答这个问题,我们先看一下静态编 译器的传统三阶段设计(three-stage design)。 编译器前端(frontend)将源代码转换成一种中间语言(IR,intermediate representation)。然后优化器(optimzer)拿到中间语言 对其进行优化并把优化过的中间语言传递给编译器后端生成机器码。如果我们选择一种源语言和目标机器无关的中间语言,我们就 得到了三阶段设计的关键益处:对于一个编译器来说,支持一种新的源语言仅仅需要新增一个对应的编译器前端,支持一种新的目标机器 仅仅需要新增一个对应的编译器后端。 LLVM 工具集(toolchain)就是这个模型的一个很好的成功的例子。有很多编译器前端如 C、Rust、Swift 等其他很多编程语言基于 LLVM 提供给编译器更加复杂的部分。LLVM 的创建者 Chris Latter 提供了一个很好的 LLVM 架构概览。 CPython 尽管不需要支持多个源语言和目标机器,尔仅仅需要支持 Python 代码和 CPython 虚拟机。不过,CPython 同样实现了三阶段设计。 如果想知道为什么,我们需要更加详细的解释编译器的三阶段的每个阶段。...
tags: Translate,Incomplete 原文链接:https://superorganizers.substack.com/p/surgical-reading-how-to-read-12-books 手术阅读法:如何同时阅读 12 本书 译者注:这篇文章让我想起了《如何阅读一本书》这本书,文章中的大部分技巧都能在这本书中找出来,阅读是一门需要学习的技能。 当有人问我如何阅读时我总是会有点尴尬,因为我一般都是同时阅读十几本书。 但是我这样阅读并不是为了炫耀 – 我这么做是因为我觉得这种阅读方式更好,最起码对我来说。 这是一个我开发一个叫做 手术阅读法(surgical reading) 的过程,它意味着当我读一本非小说的书籍时,我会专注于尽可能快的从书中找到最有价值的部分并将之剔除。 这样允许我在一个主题上同时阅读许多不同的书籍,并从多个角度来观察这一主题。我的目标是快速地找到有价值的知识,并使用现实中获得的信息去解决问题。 这种方法有很多隐藏的好处。首先,我可以快速了解自己对一本书是否有兴趣,并因此去花更多的时间读我真正感兴趣书籍。当我对一本书不感兴趣时我就可以将其放下并转到其他事情上,因为我知道我将它放回去是有原因的。 阅读不应该是将书籍在 ToDo 事项完成,而是应该解释什么吸引了你。 其次,我可以从多个角度观察一个主题,并真正理解问题。我可以看到有多少不同的人讨论同一个时间和想法,而不是依靠一位作者的陈述。 这使我对当前感兴趣的的任何主题都有更细微的了解。 最后,它将书籍转变为更主动和更积极的事物。我的书架(library)已经不再是死板的存储空间,而是一个与我不断互动的鲜活的事物。 当然,当我找到一本我真正喜欢的书(现在也越来越频繁),我也可以充分的利用它。 我是谁(Who I Am) 我的名字是 Brian Tobal,我耗费了我的大部分时间来思考如何学习。在过去 15 年,我在教育界获得了很多头衔(hats)。 我曾是一名小学科学老师、一家教育公司的研究员、六家教育科技初创公司的产品负责人,本人也是一些初创公司的创始人, 包括我于 2018 年出售的一家名为 Hickory 的公司。 我喜欢初创公司。从学习角度来看,它们使你可以完全沉浸于新的领域,并根据其性质迫使你解决实际问题。 这为我自己的学习方法和阅读方法提供了动力。我不是为了仅仅积累知识来建立知识库,通常我建立它是为了尽快使用它。 手术阅读法就是设计用来帮助我这么做的。 所以你准备好试一试了吗?请从书架上拿出一些已经搁置了一段时间的书,希望您还没有读过。跟着我,亲眼看看手术阅读法的感觉。 让我们开始吧! 把书当作其自身的地图(Use the Book Itself as a Map) 以下是一份我如何阅读一本书的步骤分解: 了解一本书 通过封面评判这本书 索引(index)包含了一切 把目录(TOC)当作骨架 通过前言(preface)进行预览 此过程的重点是获得在大约 15 分钟内对任何书籍进行“地图绘制”的能力。你希望对有价值的知识位于何处、什么地方打动你以及要花费多少时间来阅读它有基本的了解。 下面,我们将逐步完成从一本书中提取要点(或者说知识块)的过程,如何增加阅读一本书的价值,以及如何结合所有内容以便您可以轻松的一次提取多本书。 了解一本书(Approaching a Book ) 当我开始阅读一本非小说的书籍之前,我会话费 5-10 分钟的时间尝试去了解他对我具有什么价值以及它的结构。当我们决定要阅读此书时我们可以通过很多方式做到这一点。 也许通过亚马逊阅读一些评论和反馈或者随机浏览其中一部分。我更喜欢使用这本书本身。 同样,我通常对从头到尾阅读一本书籍不感兴趣,所以我需要删除我需要的信息,当然需要先找找它。我想要的是一本关于本书内容的地图(无论是思维上的还是书面上的)。 你可以使用大脑记忆、记事本、Google Doc 或某些精美的笔记记录系统作为记录机制 – 根据你自己的喜好就行。...
tags: Translate,Deep Learning,AI,Incomplete 原文链接:Deep Learning Algorithms : The Complete Guide。 深度学习正在影响整个世界。 深度学习的炒作始于 2012 年:一个神经网络(Neural Network)在图片识别任务上表现出超人的性能,并且只有少数人能预测将会发生什么。 在过去 10 年,越来越多的算法落地到我们生活中。越来越多的公司开始将其加入到日常业务中。 这里,我尝试覆盖近几年各种应用如计算机视觉和自然语言处理(Natural Language Processing)中所涉及的所有最重要的算法和构思。 其中有一些算法比其他一些使用的更加频繁并且每一种都有其自身的优点和缺点。 我的主要目标是给你一个当前领域通用的思路去帮助你理解每一种情况应该使用什么算法。 因我知道它看起来会对一些从零开始的人造成一定程度的混乱。 但是通过阅读这份指南,我有信心你会认识到什么是什么并且你可以准备好去立即使用他们。 所以如果你正在寻找一份深度学习真正的完整指南,那就让我们开始吧。 Contents 但是什么是深度学习? 神经网络 前馈神经网络(FNN) 卷积神经网络(CNN) 循环神经网络(RNN) 递归神经网络(Recurisive Neural Network) 自编码器(AutoEncoders) 深度信念网络 (Deep belief network)和受限玻尔兹曼机 (Restricted Boltzmann machine) 生成对抗网络(GAN) Transformers 图神经网络(GNN) 自然语言处理中的深度学习 词嵌入 (Word embedding) 序列建模(Sequence Modeling) 计算机视觉中的机器学习 本地化和物体识别 单发探测器(Single shot detectors) 语义分割(Semantic Segmentation) 姿势估计(Pose Estimation) 深度学习在科学和企业界取得了疯狂的人气。从 2012,卷积神经网络(CNN)在图像识别竞赛( ImageNet Large Scale Visual Recognition Challenge)中获得了惊人的准确性,每年都出现了越来越多的研究论文并且越来越多的企业将神经网络收录到他们的业务中。据估计,深度学习目前的市场规模为 25 亿,预计到 2023 年将达到 181....