简单总结 TL;DR 因为类比通常只是帮助人理解抽象概念,而不是用来阐释内在逻辑的。因此我一直认为,将深度学习的机制类比成生物神经元的工作,是一种很不严谨的比喻,
Intro 这本书的结构实际上比较像综述,在谈到某一个问题的时候 Nick Lane 会先介绍一遍现有的理论,所以阅读过程中跟随他的思路去了解然后否定一个理论是比较有意思的。但是
Intro 这篇文章实际上是读 Tailscale blog 的文章 How NAT traversal works 的一些理解的笔记,同时加上了一些市面上常见的穿透方式的工作原理的整理。 NAT NAT (Network Address Translation) 的出现主要是为了应对 IPv4 地址不够用
现代性 现代性这个概念之所以一直令人迷惑,很大程度上就在于他使用了这样一个用时间性来命名的名字,也就是说在字面上现代性其实就是指「新」。而具体来说,这种
intro 在此 quote 一条十多年前的豆瓣热评,虽然仅用这句话来评价这本书还是过于神话它了,但是也足可本书的震撼: 世界上只有两种人:一种是读过此书的人,一种是没读过的
TL;DR 让部署在 VM 之上的 container 内部的 app 使用 nvidia GPU 先将 host 的 GPU passthrough 到 VM 使用 nvidia 的 container runtime 将 GPU 暴露到 container 内部 在 k8s 中借助 device-plugin 来 schedule 在 Proxmox VE 中进行 Passthrough 配置 host 添加 iommu 到 grub 编辑文件: $ vi /etc/default/grub 可以看到
编译的四步 我们一般说的编译实际上是包含了四个步骤的,即预编译、编译、汇编和链接。比如如果用 gcc 而不加任何其他参数,那么从 a.c 到生成 a.out 的过程中实际上就一次性
赋值的引入 之前提到的所有 scheme 语法,都不会对一个已经有的值进行修改。比如如果我们使用 define 对一个 identifier 定义两次,就会出现报错: (define x 1) (define x 2) ; module: identifier already defined 但是在一些场景
数据抽象,邱奇数 之前的部分我们对 procedure 做了很多的抽象,而实际上数据也可以构造多层的抽象,来方便我们设计复杂的功能。 比如我们可以设计一种抽象数据,用来表示有
程序的构造元素 为了构建复杂的程序,程序语言会提供不同层级的元素: primitive expressions,也就是程序所关心的最小的个体 means of combinations,将