0%

有些markdown支持流程图、时序图,比如马克飞象

实际上,这部分的渲染并非markdown引擎(后端渲染)做的,而是采用的第三方前端渲染引擎。其原理类似公式渲染引擎mathjax

因此,这种流程图和时序图很容易嵌入到hexo博客中,而且已经有了相关的插件。

流程图

阅读全文 »

RNN、LSTM、GRU都存在一个严重的问题: 前后两个时刻 $t-1$ 和 $t$ 的计算存在完全的依赖性。这种自回归结构无法并行,不能充分利用GPU计算资源。

the sequential dependencies that are central to recurrent architectures limit parallelization potential

GRU对LSTM进行了简化,详见GRU

注意观察$c _ {t-1} $ 和 $ h _ {t-1}$的流向。很容易发现,这两个信息几乎影响每一个节点,因此LSTM和GRU是严重的autoregressive,严重的时序依赖。

阅读全文 »

名词 术语

  • 交易: 简单地说,交易指把⽐特币从⼀个地址转到另⼀个地址。更准确地说,⼀笔“交易”指⼀个经过签名运算的,表达价值转移的
    数据结构。每⼀笔“交易”都经过⽐特币⽹络传输,由矿⼯节点收集并封包⾄区块中,永久保存在区块链某处。
  • 交易验证: 被验证成功的交易放入本地内存交易池中(Local Memory Tx Pool,交易池是存储在本地内存中,并不是存储在硬盘里,因此不同节点的两池内容可能有很大差别。原则是,要保证任何在本地内存交易池中的交易均是未确认的
  • 交易确认: 当⼀项交易被区块收录时,我们可以说它有⼀次确认。矿⼯们在此区块之后每再产⽣⼀个区块,此项交易的确认数就再加⼀。当确认数达到六及以上时,通常认为这笔交易⽐较安全并难以逆转。
    • 确认数+1什么意思?
  • 交易权重: 挨个打包进入到区块体中;优先处理权重最高的交易;偶尔会出现提示:”当前网路交易拥堵,建议提高交易费用”。正是因为按照优先级处理,所以在网络交易拥堵的时候,有可能造成低优先级的交易“永远”不会被打包。交易的权重大小取决于三个因素:1)交易创建时间越早;2)交易UTXO大小越大;3)交易费用越高,则权重越大。
  • ⼯作量证明: ⼯作量证明指通过有效计算得到的⼀⼩块数据。具体到⽐特币,矿⼯必须要在满⾜全⽹⽬标难度的情况下求解SHA256算法
  • 难度: 整个⽹络会通过调整“难度”这个变量来控制⽣成⼯作量证明所需要的计算⼒。难度怎样调整的,见。。
  • 难度⽬标: 使整个⽹络的计算⼒⼤致每10分钟产⽣⼀个区块所需要的难度数值即为难度⽬标。
  • 难度调整: 整个⽹络每产⽣2,106个区块后会根据之前2,106个区块的算⼒进⾏难度调整。

ss

⽐特币交易是⽐特币系统中最重要的部分。根据⽐特币系统的设计原理,系统中任何其他的部分都是为了确保⽐特币交易可
以被⽣成、能在⽐特币⽹络中得以传播和通过验证,并最终添加⼊全球⽐特币交易总账簿
(⽐特币区块链)。⽐特币交易的
本质是数据结构,这些数据结构中含有⽐特币交易参与者价值转移的相关信息。⽐特币区块链是全球复式记账总账簿,每个⽐特币交易都是在⽐特币区块链上的⼀个公开记录。

阅读全文 »

背景知识

  • : 是向低地址扩展的数据结构,是一块连续的内存区域。 栈顶的地址和栈的最大容量是系统预先规定好的,在 WINDOWS 下,栈的大小是 2M (也有的说是 1M ,总之是一个编译时就确定的常数),如果申请的空间超过栈的剩余空间时,将提示 overflow 。因此,能从栈获得的空间较小。
    • 由系统自动分配,速度较快。但程序员是无法控制的
  • :是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储的空闲内存地址的,自然是不连续的,而链表的遍历方向是由低地址向高地址。堆的大小受限于计算机系统中有效的虚拟内存。由此可见,堆获得的空间比较灵活,也比较大。
    • 堆是由 new 分配的内存,一般速度比较慢,而且容易产生内存碎片 , 不过用起来最方便 。
  • 变量
  • 二进制存储,数值在内存中的表示

many languages have “variables”

计算机内存就像是很多盒子的集合体,每个盒子都有地址。
在很多语言中,给变量赋值可以理解成把value放入盒子,比如:

int a = 1;
阅读全文 »

递归

递归是⼀种优雅的问题解决⽅法,
是一种分⽽治之(divide and conquer,D&C)的⽅法。
递归,就是函数调⽤⾃⼰。

递归的核心思想 就是:把问题分解成规模更小,但和原问题有着相同解法的问题。

编写递归函数时,必须告诉它何时停⽌递归。正因为如此,每个递归函数都有两部分:

阅读全文 »

简介

维基百科这样分
  • 代数(初等 线性 多重线性 抽象)
  • 分析/微积分学
  • 几何 (离散 代数 解析 微分 有限)

概念 & 分支

阅读全文 »

简介

数学上的softmax

在数学,尤其是概率论和相关领域中,Softmax函数,或称归一化指数函数,是逻辑函数的一种推广。它能将一个含任意实数的K维向量 ${\displaystyle \mathbf {z} }$“压缩”到另一个K维实向量 ${\displaystyle \sigma (\mathbf {z} )}$ 中,使得每一个元素的范围都在 ${\displaystyle (0,1)}$ 之间,并且所有元素的和为1。该函数的形式通常按下面的式子给出:

$${\displaystyle \sigma (\mathbf {z} ) _ {j}={\frac {e^{z_ {j}}}{\sum _ {k=1}^{K}e^{z_ {k}}}}} \quad j = 1, …, K.$$

softmax的应用

阅读全文 »

collections — High-performance container datatypes¶

collections是Python内建的一个集合模块,
在2.4版本开始被引入,该模块实现了专用容器数据类型替代python的通用内置容器:dict(字典),list(列表), set(集合)和tuple(元组)。

容器 中文名 简介 引入版本
namedtuple() 命名元组 使用工厂方法创建带有命名的字段的元组的子类 2.6
deque 双向队列 类似列表的容器,能够快速响应在任何一端进行pop 2.4
Counter 计数器 字典子类,为可以进行哈希的对象计数 2.7
OrderedDict 有序字典 字典子类,记录了字典的添加次序 2.7
defaultdict 字典 字典子类,调用一个工厂方法来提供缺失的值 2.5

除了具体的容器类,collections模块还提供了abstract_base_classes来测试一个类是否体用了一个特定的接口,例如,这是可哈希的还是一个映射。

在2.4版本中新加入,。

阅读全文 »

简介

TensorFlow 支持多种模型格式,但这些格式都有什么区别?

名词

  • variable: 变量
  • graph: 计算图
  • MetaGraph
    包含Graph和metadata信息

protobuf
全称Protocol Buffers,是Google开源的一个语言无关平台无关 的序列化协议,用于不同应用或进程之间的通信。

阅读全文 »