使用TensorFlow和感知机模型进行MNIST手写数字识别

使用TensorFlow和感知机模型进行MNIST手写数字识别

MNIST数据集

MNIST 数据集来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST).
训练集 (training set) 由来自 250 个不同人手写的数字构成, 其中 50% 是高中学生, 50%
来自人口普查局 (the Census Bureau) 的工作人员. 测试集(test set) 也是同样比例的手写数字数据.

数据集的划分

MNIST 数据集可在 http://yann.lecun.com/exdb/mnist/ 获取, 它包含了四个部分:

  • Training set images: train-images-idx3-ubyte.gz (9.9 MB, 解压后 47 MB, 包含 60,000 个样本)

  • Training set labels: train-labels-idx1-ubyte.gz (29 KB, 解压后 60 KB, 包含 60,000 个标签)

  • Test set images: t10k-images-idx3-ubyte.gz (1.6 MB, 解压后 7.8 MB, 包含 10,000 个样本)

  • Test set labels: t10k-labels-idx1-ubyte.gz (5KB, 解压后 10 KB, 包含 10,000 个标签)

阅读更多
Babel到底对jsx做了什么?

Babel到底对jsx做了什么?

JSX是个啥?

jsx其实不是个新鲜东西,就是react的一个语法糖。他提供了一种方式,让我们可以在JavaScript代码中编写类似于html
标签的内容,并且会在最终编译的过程中自动将这些HTML标签转换为React可以处理的代码。

阅读更多
JavaScript闭包到底解决了什么问题?

JavaScript闭包到底解决了什么问题?

JavaScript中的闭包到底是个什么东西

JavaScript中的闭包其实是一个让函数返回另一个内部函数的过程,我们都知道,JavaScript中,函数其实也是一个变量,或者说是对象,所以,对于上述的过程,我们就能够理解,这种方式是能够被实现的。

闭包的具体实现方式:

阅读更多
JavaScript中对象的生命周期

JavaScript中对象的生命周期

一切皆对象

其实,我们已经了解到了,JavaScript中,所有的东西都是对象,也就是所谓的“Object”
类型,但是,在JavaScript中,并没有真正的类的概念,所以,此处的对象并不像是Java或者Python中的那样,是由类实例化而来的,而是由键和值来组成的,对象其实就是以键命名的值的容器。

比如,我们使用typeof来检查一个数组的类型,会发现,其实数组也是一个Object

1
2
3
let a = []
typeof a
// "object"
阅读更多
JavaScript引擎的工作原理探析
深入了解JavaScript中的基本变量类型
通过一个小例子理解JavaScript中的函数调用过程

通过一个小例子理解JavaScript中的函数调用过程

函数调用栈

调用栈,具有LIFO(Last in, First out 后进先出)结构,用于存储在代码执行期间创建的所有执行上下文。

当JavaScript引擎首次读取脚本时,会创建一个全局执行上下文并将其push
到当前执行栈中。每当发生函数调用时,引擎都会为该函数创建一个新的执行上下文并push到当前执行栈的栈顶。

引擎会运行执行上下文在执行栈栈顶的函数,根据LIFO规则,当此函数运行完成后,其对应的执行上下文将会从执行栈中pop
出,上下文控制权将转到当前执行栈的下一个执行上下文。

阅读更多
React的基本生命周期
几种使用Python绘制的HTML动态图表