
深度学习
Jtag特工
代码和人工智能老兵
展开
-
Tensorflow快餐教程(2) - 标量运算
Tensorflow的Tensor意为张量。一般如果是0维的数组,就是一个数据,我们称之为标是Scalar;1维的数组,称为向量Vector;2维的数组,称为矩阵Matrics;3维及以上的数组,称为张量Tensor。 在机器学习中,用途最广泛的是向量和矩阵的运算。这也是我们学习中的第一个难关。 不过,这一节我们先打标量的基础。上节我们学过,Tensorflow的运行需要一个Session...原创 2018-04-17 21:05:13 · 4135 阅读 · 0 评论 -
Javascript类型推断(1) - 获取token和类型
Javascript类型推断(1) - 获取token和类型js类型推断的三种思路第一种思路是用传统的编译类的方法,推断是没啥好办法,但是可以用来验证。第二种思路是利用对象的属性或方法的调用来推断,JSNice就是这样做的。第三种思路比较先进,充分利用到越来越流行的Typescript,通过学习Typescript生成的javascript进行监督学习。这种思路是Vincent J. He...原创 2019-09-20 22:10:29 · 888 阅读 · 0 评论 -
代码补全漫谈(1) - 从TabNine说起
代码补全漫谈(1) - 从TabNine说起前不久,基于GPT-2模型的TabNine横空出世,在程序员界再次引起轰动。此前,国产的aixcoder,还有获得github ceo天使投资的Python编程利器kite等,已经收获了一轮又一轮的眼球。人工智能代替人编写代码的忧虑不时在知乎等网站上出现。从程序语言处理的近亲 - 自然语言处理NLP的发展来看,这样的乐观不是没有道理的。从进入深度学习...原创 2019-09-12 21:45:49 · 5320 阅读 · 4 评论 -
前端智能化漫谈 (4) - pix2code结果编辑距离分析
前端智能化漫谈 (4) - pix2code结果编辑距离分析Levenshtein距离分析从实用的角度,我们先采用莱文斯坦距离,也就是编辑距离来分析一下pix2code的结果。因为Levenshtein距离是从DSL角度来看,需要人工修改时的最小编辑次数,所以从这个角度来分析是有其意义的。我们分别用greedy和beam 3两种方法对于datasets/android/eval_set下面的...原创 2019-08-16 19:43:02 · 754 阅读 · 1 评论 -
前端智能化漫谈 (3) - pix2code推理部分解析
前端智能化漫谈 (3) - pix2code推理部分解析上一节我们将pix2code的流程梳理了一遍,相信大家已经都可以跑起来了。在谈pix2code的算法改进之前,关于训练和推理过程还有若干细节我们还需要进一步讨论一下。onehot编码上次我们讲到create_binary_representation,就是将单词转换成one hot编码。 def create_binary_r...原创 2019-08-10 16:08:51 · 896 阅读 · 0 评论 -
前端智能化漫谈 (2) - pix2code实战篇
前端智能化漫谈 (2) - pix2code实战篇将pix2code跑起来先来干货介绍将pix2code跑起来的步骤:1.下载pix2code源代码git clone https://github.com/tonybeltramelli/pix2code网速慢的话需要等一等,.git就有700兆左右。图像数据也有450兆左右。2.解压数据cd datasetszip -F pix...原创 2019-07-26 18:11:53 · 3393 阅读 · 5 评论 -
前端智能化漫谈 (1) - pix2code
前端智能化漫谈 (1) - pix2code自从有了GUI图形界面,就诞生了跟图形界面打交道的开发工程师,其中最大的一拨就演化成现在的前端工程师。不管是工作在前端、移动端还是桌面客户端,跟界面布局和切图等工作打交道是工作中的重要一部分。能够直接从设计稿生成代码,不仅是前端工程师的梦想,也是很多设计师同学的期望。2017年,一篇名为《pix2code: Generating Code from ...原创 2019-07-25 17:31:49 · 1707 阅读 · 1 评论 -
Tensorflow快餐教程(12) - 用机器写莎士比亚的戏剧
高层框架:TFLearn和Keras上一节我们学习了Tensorflow的高层API封装,可以通过简单的几步就生成一个DNN分类器来解决MNIST手写识别问题。尽管Tensorflow也在不断推进Estimator API。但是,这并不是工具的全部。在Tensorflow官方的API方外,我们还有强大的工具,比如TFLearn和Keras。这节我们就做一个武器库的展示,看看专门为Ten...原创 2018-05-29 20:59:14 · 2678 阅读 · 0 评论 -
Tensorflow快餐教程(13) - 程序员学深度学习快速入门五步法
程序员学深度学习快速入门五步法作为一个程序员,我们可以像学习编程一样学习深度学习模型开发。我们以Keras为例来说明。我们可以用5步 + 4种基本元素 + 9种基本层结构,这5-4-9模型来总结。5步法: 1. 构造网络模型 2. 编译模型 3. 训练模型 4. 评估模型 5. 使用模型进行预测4种基本元素: 1. 网络结构:由10种基本层结构和其他层结构组成 2. ...原创 2018-06-04 21:19:57 · 13268 阅读 · 2 评论 -
Tensorflow快餐教程(6) - 矩阵分解
矩阵分解特征向量和特征值我们在《线性代数》课学过方阵的特征向量和特征值。定义:设A∈Fn×nA∈Fn×nA{\in}F^{n{\times}n}是n阶方阵。如果存在非零向量X∈Fn×1X∈Fn×1X{\in}F^{n{\times}1}使AX=λXAX=λXAX={\lambda}X对某个常数λ∈Fλ∈F{\lambda\in}F成立,则称λλ\lambda是A的特征值(eigenva...原创 2018-04-27 21:23:22 · 2121 阅读 · 0 评论 -
Tensorflow快餐教程(9) - 卷积
卷积卷积就是滑动中提取特征的过程在数学中,卷积convolution是一种函数的定义。它是通过两个函数f和g生成第三个函数的一种数学算子,表征函数f与g经过翻转和平移的重叠部分的面积。其定义为: h(x)=f(x)∗g(x)=∫∞−∞f(t)g(x−t)dth(x)=f(x)∗g(x)=∫−∞∞f(t)g(x−t)dth(x)=f(x)*g(x) =\int_{-\infty}^{\...原创 2018-05-04 18:41:06 · 1330 阅读 · 0 评论 -
Tensorflow快餐教程(7) - 梯度下降
梯度下降学习完基础知识和矩阵运算之后,我们再回头看下第一节讲的线性回归的代码:import tensorflow as tfimport numpy as nptrX = np.linspace(-1, 1, 101)trY = 2 * trX + np.random.randn(*trX.shape) * 0.33 # 创建一些线性值附近的随机值X = tf.placeh...原创 2018-05-03 12:10:25 · 1886 阅读 · 0 评论 -
Tensorflow快餐教程(5) - 范数
矩阵进阶 - 范数作为快餐教程,我们尽可能多上代码,多介绍工具,少讲原理和公式。但是我也深知这样是无法讲清楚的,毕竟问题的复杂度摆在这里呢。与大家一起在Tensorflow探索一圈之后,我一定要写一个数学基础比较扎实的进一步教程。范数(norm)初识一般大学本科的《线性代数》教材中是不讲范数、广义逆这些知识的,需要学习《矩阵论》课程。但是很不幸,深度学习中会频繁用到。所以我们还是要...原创 2018-04-25 16:58:42 · 3727 阅读 · 0 评论 -
Tensorflow快餐教程(8) - 深度学习简史
深度学习简史从机器学习流派说起如果要给机器学习划分流派的话,初步划分可以分为『归纳学习』和『统计学习』两大类。所谓『归纳学习』,就跟我们平时学习所用的归纳法差不多,也叫『从样例中学习』。 归纳学习又分为两大类,一类是像我们归纳知识点一样,把知识分解成一个一个的点,然后进行学习。因为最终都要表示成符号,所以也叫做『符号主义学习』;另一类则另辟蹊径,不关心知识是啥,而是模拟人脑学习的过程...原创 2018-05-03 16:28:11 · 1562 阅读 · 0 评论 -
Tensorflow快餐教程(4) - 矩阵
矩阵矩阵的初始化矩阵因为元素更多,所以初始化函数更多了。光靠tf.linspace,tf.range之类的线性生成函数已经不够用了。可以通过先生成一个线性序列,然后再reshape成一个矩阵的方式来初始化。例:>>> g1 = tf.linspace(1.0,10.0,16)>>> g1<tf.Tensor 'LinSpac...原创 2018-04-24 21:38:13 · 1195 阅读 · 0 评论 -
Tensorflow快餐教程(10) - 循环神经网络
循环神经网络上节介绍了在图像和语音领域里大放异彩引发革命的CNN。但是,还有一类问题是CNN所不擅长的。这类问题的特点是上下文相关序列,比如理解文字。这时需要一种带有记忆的结构,于是,深度学习中的另一法宝RNN横空出世了。大家还记得第8节中我们讲的人工神经网络的第二次复兴吗?没错,第二次复兴的标志正是1984年加州理工学院的物理学家霍普菲尔德实现了他于两年前提出的一种循环神经网络模型。这种...原创 2018-05-08 21:33:08 · 1650 阅读 · 0 评论 -
Tensorflow快餐教程(3) - 向量
向量向量在编程语言中就是最常用的一维数组。 二维数组叫做矩阵,三维以上叫做张量。向量虽然简单,高效,且容易理解。但是与操作0维的标量数据毕竟还是不同的。比如向量经常用于表示一个序列,生成序列像标量一样一个一个手工写就不划算了。当然可以用循环来写。在向量中这样还好,如果是在矩阵或者是张量中就强烈建议不要用循环来做了。系统提供的函数一般都是经过高度优化的,而且可以使用GPU资源来进行加速。 ...原创 2018-04-23 19:06:27 · 1758 阅读 · 0 评论 -
Javascript类型推断(2) - 开始训练吧
Javascript类型推断(2)准备训练数据下面我们将上一节获取的类型数据信息进行预处理,转化为可以训练的数据。代码在GetTypes.js中,会创建三个相关目录:let root = "data/Repos-cleaned";let outputDirGold = "data/outputs-gold/";let outputDirAll = "data/outputs-all/"...原创 2019-09-23 19:38:52 · 663 阅读 · 1 评论