通常我们使用的Docker都是直接在物理机上安装Docker Engine,docker-machine是一个在虚拟机上安装Docker Engine的工具

容器 VS 虚拟机

Container stack example Virtual machine stack example
  • 轻量级:
    硬盘空间: ubuntu 16.4的docker镜像只有114M,系统镜像iso则需要1.5G。
    运行时: 多个容器共享主机的内核,VM会消耗更多资源
  • 启动快:
    虚拟机等完整系统,冗余步骤多:比如用户登录
  • Stackable: You can stack services vertically and on-the-fly.

Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元”操作系统,它可以协调访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器(Virtual Machine Monitor)。

  • 虚拟化的级别越偏底层,速度越慢,用户越难察觉到虚拟化的存在。
  • 虚拟化的级别越偏上层,速度越快,用户越容易感知。

JVM

  • 程序虚拟机:Java虚拟机(JVM)
  • 系统虚拟机:VPC,v-Box,VMware Server。。KVM、Xen、OpenVZ。需要一个完整的操作系统,所以体积会比较大,如果想优化速度就必须要精简操作系统了,
  • VMware ESX Server 裸机安装

那么 Docker 的实质是什么?在我看来就是个针对 PAAS 平台的自动化运维工具而已

虚拟机启动太慢,额外开销太高,性能由于多了一层会下降。

KVM:KVM并没有选择从底层开始新写一个Hypervisor,而是选择了基于Linux Kernel,通过加载新的模块从而使Linux Kernel本身变成一个Hypervisor

【机器翻译】SliceNet

架构

Depthwise Separable Convolutions

#

本文提出了一种新的卷积seq2seq结构(SliceNet)。模型采取了堆叠深度可分离卷积层以及残差连接的方法

  • 分组卷积(grouped convolutions or “sub-separable convolutions”)
  • 超可分卷积(super-separable convolutions)
  • 过滤膨胀(filter dilation)与更大的卷积窗之间的权衡之后选择不使用filter dilation方法,通过卷积的分离操作,取得了更佳效果。

可分离卷积与分组卷积

超可分卷积

过滤膨胀和卷积窗大小权衡

code

  • tensor2tensor

扩展阅读

自然语言理解

自然语言理解

定义

什么是NLU?怎样才算理解了语言?

自然语言理解,也就是人或机器理解人类语言,有两种不同定义:一种基于表征,另一种基于行为
基于表征(representation),就是系统根据输入的语言产生相应的内部表征,这个过程也称为语义
接地(semantic grounding)。比如,有人说「哈利波特」,在大脑里联系到哈利波特的概念就意
味着理解了对方的语言。基于行为,就是系统根据输入的语言采取相应的动作。比如,有人说「给我
拿一杯茶」,机器人按照命令做了,就认为它理解了人的语言。这两个定义在一定程度上互为补充,
前者从语义角度,后者从语用角度界定这个问题。

扩展阅读

李航

无线连接的握手。

  1. 广播:发起侦测请求。FPA(手机,笔记本网卡等)发送广播请求。周围的信号源AP收到广播请求后,返回自己的mac,ssid(查看多少热点,侦测)。FPA收到response后,就知道有多少工作站(wifi信号)
  2. join request: FPA端 第二次握手,join网络。把信息放到报文。(AP返回的join response,包含sequence_num,有没有加密,加密算法是什么)
  3. FPA主动发,包含wifi密码,目的mac,wifi接到信息后会校验。 建立连接。

WiFi 的四次握手是干什么的?

WiFi 身份认证的一个过程,如果没有你的设备没有通过他的身份验证就不能加入他的局域网当中。

WiFi 的四次握手跟破解 WiFi 有什么关系?