ZingLix Blog

凡心所向,素履以往

「图解Raft」让一致性算法变得更简单

Make Consensus Algorithm Simpler

最近在刷 MIT 的 6.824 分布式课程,里面花了很多课时来讲解 Raft 一致性算法,我也花了一段时间完成了课程 lab,算是理清楚了整个算法的流程,有需要 lab 答案的可以联系我,课程要求并不允许放在网上~ 工作流程 首先需要明确的是一致性算法的目标是什么,主要面对的问题是在只使用单个服务器时由于发生错误导致数据丢失等事情发生。解决这个问题的思路也很简单,就是备份,将操作重复到...

「论文笔记」The Deep Learning Compiler: A Comprehensive Survey

可能是第一篇关于深度学习编译器的综述

背景 现如今我们有了许多深度学习的框架,例如 TensorFlow、PyTorch、MXNet 等等。同时我们还要将其部署于不同的硬件之上,除了常见的 GPU 和 CPU,还有针对于机器学习设计的硬件,例如来自 Google 的 TPU、海思的 NPU、Apple 的 Bonic 等等。 这种场景有没有让你想起传统的编译器?以 LLVM 作为例子,其可以接受不同的语言(C++、Swift...

升级 WSL2 Ubuntu 至 20.04 LTS

Upgrade WSL2 to Ubuntu 20.04 LTS

最近 Ubuntu 20.04 正式发布了,但是 WSL 里装的还是 18.04,所以肯定要升级一下啦~ 18.04 可以很方便的升级到 20.04,但如果你现在用的还是 16.04 最好是先升级至 18.04 再升至 20.04 以避免一些奇奇怪怪的事情发生 更新现有环境 为了能够让现有的环境和升级后的差异尽可能小,从而避免一些更新失败的情况的发生,最好是先更新一下现有的环境...

Go 语法快速上手

Grammar Cheatsheet of Go

本文并不是一篇面向新手的入门文章,而是面向于有一定编程经验而且希望快速上手 Go 语言的人 阅读本文章最好了解 C、C++、Java 等语言之一的语法 本文中难免会有错误,接受一切纠错以及志同道合的人来交流,可以在网页最下方找到联系方式邮件联系我 变量 变量需要显式的声明,完整的语法如下。 1 var a int = 8 在提供初始化的值的时候,类型可以省略,不...

WSL2 的几个使用技巧

WSL2 Tips

从资源管理器访问 WSL2 WSL2 改善了文件系统,使得读写能力大大提升,但是 /mnt 挂载下的 Windows 文件貌似因为改用了网络协议下降了,最坑爹的是没办法监测文件的变动了,写前端的时候那些测试服务器本来会根据文件变动自动重新编译,现在因为无法监测改变这一功能就失效了。这也不是无解,解决的办法就是把项目文件移到 WSL 中。 借助于网络位置,虽然这些文件放进了 WSL 中,但...

WSL2 中访问宿主机 Windows 的代理

WSL2 Proxy Setting

最近疫情期间很多事情都得用代理连到学校内网去做,但是 WSL2 因为是通过虚拟机的方式实现,网络不再像 WSL1 一样与 Windows 共享,变成了一个新的网段,所以想使用宿主机的代理就比较麻烦了。 WSL 中获取宿主机 IP WSL 每次启动的时候都会有不同的 IP 地址,所以并不能直接用静态的方式来设置代理。WSL2 会把 IP 写在 /etc/resolv.conf 中,因此...

为什么说注意力才是你唯一需要的?

Attention & Transformer

Attention 机制最早于图像领域提出,而最近被引入了自然语言处理领域,在取得了良好的效果的同时,由于其可并行性,甚至有一举取代 RNN、LSTM 等 NLP 经典模型的趋势。 注意力机制 何为注意力?正如人类的注意力一样,例如看一篇文章,人的注意力往往会在图片上,然后对文章的标题、开头有一些注意,对文章内容可能就不那么关注。在 NLP 中处理句子中每个词也是如此,因为我们希望处理每...

Amazing Docker

Docker Walkthrough

如果你尝试过在别的机器上部署过服务,那么我相信你一定会涌现出许多悲伤的回忆。“明明在我的电脑上就可以正常运行,怎么换了台就不行了?”然后发现依赖不全,开始尝试装补齐依赖。“我要的和另一个服务所依赖的版本不一样,换了版本另一个就没法运行了怎么办?”好不容易都搞定了,这时你发现,还有几十台机器都需要在这样部署一遍,emmmm 所以此时 Docker 就闪亮登场了。 Docker 是什么 D...