自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (6)
  • 收藏
  • 关注

原创 TensorFlow的Session工作原理

Session是Graph和执行者之间的媒介,Session.run()实际上将graph、fetches、feed_dict序列化到字节数组中,并调用tf_session.TF_Run(参见/usr/local/lib/python2.7/site-packages/tensorflow/python/client/session.py)而这里的tf_session.TF_Run实际上调用了动态链

2017-09-07 10:21:41 960

原创 Udacity Deep Learning课程作业(六)

来到课程最后一次小作业,训练完word2vec模型后,作业六基于Text8.zip语料训练一个LSTM模型,用perplexity评价训练得到语言模型的质量,越低越好。LSTMProblem 1num_nodes = 64graph = tf.Graph()with graph.as_default(): # Parameters: # Input gate: input, prev

2017-08-22 11:26:51 813

原创 Udacity Deep Learning课程作业(五)

作业五是根据Text8的语料库训练一个语言模型word2vec,得到语料库中每个词的嵌入式表达(向量)。Mikolov提出的word2vec包括skip-gram和CBOW两种模型,前者是根据给定词预测其周围的词,后者是根据周围的词预测中间的词。Mikolov最大的贡献是采用negative sampling的方法极大提升神经网络模型的计算效率。官方的作业ipynb给出了skip-gram的实现,要

2017-08-21 20:17:26 1033

原创 Udacity Deep Learning课程作业(四)

第四章作业主要是关于卷积神经网络的练习,涉及到tf.nn.conv2d、tf.nn.max_pooling等的使用。相关API的用法tf.nn.conv2dtf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None): - input和filter都是4D的tensor类型,计算两者的2D卷积,inp

2017-08-20 23:38:43 853

原创 Udacity Deep Learning课程作业(三)

Problem 1Linear Regression with Regularizationbatch_size = 128graph = tf.Graph()with graph.as_default(): # Input data. For the training data, we use a placeholder that will be fed # at run time

2017-08-19 23:05:32 912

原创 Udacity Deep Learning课程作业(二)

第二次作业比较简单,实现一个隐含层1024个节点的三层神经网络,选用ReLU作为激活函数,实现作业一中的字母图片分类。实现代码如下,主要是实现computation(dataset, weights, biases)函数,返回logits取代原来的线性回归模型。hidden_nodes = 1024batch_size = 128def computation(dataset, weights,

2017-08-18 22:36:07 538

原创 Udacity Deep Learning课程作业(一)

Udacity的深度学习是Google开设的一门基于TensorFlow完成任务的在线课程,课程短小精悍,包括4章(入门ML/DL,DNN,CNN,RNN)、6个小作业(以ipynb的形式,十分方便友好)和1个大作业(开发实时摄像头应用)。有ML/DL基础的同学,视频很快可以过完,因此课程精华在于其实战项目,很有意思。作为G家的课程,算是TensorFlow比较权威的学习tutorial了。课程链接

2017-08-17 21:49:22 2060

原创 PyTorch的Tensors和Autograd

PyTorch官网提供了比较多快速入门的tutorial,http://pytorch.org/tutorials/。最经典的是Deep Learning with PyTorch: A 60 Minute Blitz

2017-05-06 23:43:53 626

原创 PyTorch源码安装小记

Torch是Facebook AIR去年6月开源的深度学习框架,向G家的Tensorflow看起,基于Lua开发,可以充分利用GPU进行计算加速。PyTorch是FAIR今年1月发布的,在原来基础上提供python接口支持?也是正面刚支持py的tf吧。本来安装PyTorch比较简单,按照官网,装完anaconda后一句conda命令就可以安装:然而最后还是倒在墙下。没有办法,只能选择源码编译安装了:

2017-05-05 10:36:59 21210 11

原创 《深度探索C++对象模型》(五)

5. The Semantics of Construction, Destruction and Copy讨论如何支持class模型,object的生命周期

2017-04-22 12:08:51 822

原创 《深度探索C++对象模型》读书笔记(四)

4. The Semantics of FunctionC++支持三中类型的member function:static、nonstatic和virtual,每一种类型被调用的方式都不相同。对于static成员函数,不能直接读写nonstatic数据,也不能声明为const。4.1 成员函数的三种调用方式非静态成员函数虚成员函数静态成员函数4.2 虚成员函数A. 单继承下的虚函数B. 多继承下的虚函

2017-04-21 17:57:19 490

原创 《深度探索C++对象模型》读书笔记(三)

3. The Semantics of Data这一章主要讨论类的数据成员的内存模型,涉及的干货比较多。

2017-04-20 23:53:28 451

原创 《深度探索C++对象模型》读书笔记(二)

第二章讨论Constructor构造函数的工作原理:主要是默认构造函数和复制构造函数何时被编译器生成,给程序效率带来的意义。其实觉得semantics这个词用得过于抽象了,而且贯穿全书,在书里翻译为“语意学”,应该指的是编译器对C++语法特性的语义分析吧。这一章读起来已经有点绕了,译者侯捷已经尽力复原作者的意思,但读起来并不连贯,有些地方读不通。

2017-04-19 23:40:38 378

原创 《深度探索C++对象模型》读书笔记(一)

Lippman早期在贝尔实验室,和C++发明者Bjarne Stroustrup设计了全世界第一套C++编译器cfront,还著有经典的C++入门书[Ensential C++](https://book.douban.com/subject/24868427/)和[C++ Primer](https://book.douban.com/subject/25708312/)。

2017-04-18 22:43:24 693

原创 《算法导论》Dijkstra算法实现

所谓单源最短路径(Single-Source-Shortest-Path)问题,就是求解从某个节点出发,到其他节点的最短距离。 求解该问题的常用算法有Bellman-Ford和Dijkstra,前者适用于一般情况如负权值边,后者适用于非负权值边。参考《算法导论》第24章-单源最短路径的方法: 1.设置数组d存储每个节点到源节点的距离,维护一个提取最小d值的优先队列Q,Q初始化时是G的所有节点的集

2017-04-18 22:41:12 1068

原创 《算法导论》BFS和DFS实现

广度优先搜索BFS可以用在最小生成树算法(Prim)和单源最短路径算法(Dijkstra),借助优先队列存放同一深度的待访问结点深度优先搜索DFS,本质是回溯算法,“一条路走到头再回来”参考《算法导论》第六部分图算法的第22章-图的基本算法:图G(V, E)用邻接矩阵G表示用三种颜色标记顶点的状态,记录搜索轨迹(顶点未发现“white”,发现为“gray”,遍历完为“black”)用数组c

2017-04-18 22:38:34 892

原创 《算法导论》二叉查找树的实现

二叉查找树(Binary Search Tree,BST)也是一种支持多种动态集合操作(查找、最大最小值、插入、删除)的数据结构,基本操作的时间和树的高度成正比。基于BST的变型如红黑树、平衡AVL树,可以保证各个基本操作的最坏情况下依然能保证好性能。根据定义,二叉查找树的根节点值大于或等于其左子树的根节点值,小于或等于右子树的根节点值。因此,中序遍历BST能得到升序排好序的所有关键字。(参照排序的

2017-04-18 22:27:04 380

原创 《算法导论》散列表

散列表(Hash Table)是实现字典操作(查找、插入、删除)的有效数据结构,具有很高的查找效率。一定情况下查找元素的期望时间是O(1),优于链表(O(n)),和直接寻址的数组(查找也是O(1))相当。但当实际存储的关键字数比可能的关键字总数小的时候,散列表比数组有效。直接寻址 vs 散列技术一些记号:关键字的全域U实际存储的关键字集合K(个数n)散列映射的槽数m关键字k散列函数h直接

2017-04-18 22:26:13 467

原创 《算法导论》二叉树遍历的递归&非递归实现

二叉树常见的遍历方法有: - 前序遍历(preorder):“根左右” - 中序遍历(inorder):“左根右” - 后序遍历(postorder):“左右根” - 层次遍历(level):逐层从左到右访问节点前三种遍历方法,属于树的深度优先搜索DFS。层次遍历方法则属于广度优先搜索BFS。前三种对应于数学上的前缀、中缀、后缀表达式(波兰/逆波兰表示),方便计算机来计算带括号区分运算优先级

2017-04-18 22:25:14 667

原创 《算法导论》选择问题(找第K大的数)

选择问题(Selection Problem),即在n个元素的集合中寻找第K小的元素的问题。

2017-04-18 22:24:10 6319

原创 《算法导论》线性时间O(n)排序

基于元素间比较的排序算法中,快速排序、归并排序、堆排序是常见的时间代价为O(nlogn)的排序算法,它们都是《算法导论》第8章给出证明,“对于n个元素的输入序列,任何比较排序在最坏情况下都要用Big Omega(nlogn)次比较进行排序”。因此,归并排序和堆排序都是渐近最优的(下界为nlogn),快速排序最坏情况时间代价为O(n^2)。

2017-04-18 22:23:19 780

原创 《算法导论》堆排序和优先队列

堆是一种树形结构,通常基于完全二叉树实现最大堆或最小堆。堆排序最坏的时间复杂度为O(nlogn),和归并排序一样;又和插入排序一样,属于原地排序;堆排序综合了两种算法的优势。堆结构可以用来实现海量数据的Top-N排序,也可以用来实现优先队列(Priority Queue)。

2017-04-18 22:22:06 531

原创 《算法导论》排序算法的分析和实现

排序算法分析常见(内)排序算法分类: - 比较排序 - 插入排序/选择排序/冒泡排序 - 归并排序 - 快速排序 - 堆排序 - Shell排序

2017-04-18 22:20:20 440

原创 创建Express站点的指令问题

Express是Node.js的一个Web框架,用已有框架

2014-11-22 16:09:49 813

原创 理解Node.js的回调(Callback)

回调(Callback)是javascript中常用的使用方法,

2014-11-21 19:01:11 12266 2

原创 理解Node.js

挖个坑先,日后来填~

2014-11-21 18:59:04 715 1

原创 Ubuntu无法进入unity图形界面的解决方法

解决这个问题也有楼主完全linux新手,偶尔

2014-08-28 18:51:00 4997

转载 Ubuntu命令介绍——echo

echo是一个非常简单、直接的linux命令:     *将argument送出至标准输出(STDOUT),通常就是在显示器(monitor)上输出。  为了更好的理解,不如先让我们跑一下 echo 命令好了:   $ echo $ 你会发现只有一个空白行,然后又回到 shell prompt 上了。这是因为 echo 在预设上,在显示完argument之后,还会送出一个换

2014-08-25 13:14:26 14005

原创 ubuntu命令 - 关闭独立显卡

代码:sudo suecho IGD > /sys/kernel/debug/vgaswitcheroo/switchecho OFF > /sys/kernel/debug/vgaswitcheroo/switch第一句是切换到集成显卡;第二句是关闭没有连接的显卡。如果这时你的独显指示灯熄灭,那么恭喜!你已经成功了一大半了。然后把这两句加到/etc/rc.local里

2014-08-25 13:09:04 1899

转载 ubuntu目录结构

关于Ubuntu的目录结构,百度时看到有介绍,做一下笔记。/:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中/bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。/boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的

2014-08-25 12:09:27 461

原创 Ubuntu12.04安装Qt4.8集成开发环境(QtCreator)

Terminal:draco@draco-Inspiron-N4050:~$  sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer“◆qt4-dev-tools 中包括了Qt Assistant,Qt Linguist,Qt Creator◆qt4-doc 这个是帮助文档◆

2014-08-15 12:30:10 844

转载 机器学习问题方法总结

大类名称关键词有监督分类决策树信息增益分类回归树Gini指数,Χ2统计量,剪枝朴素贝叶斯非参数估计,贝叶斯估计线性判别分析Fishre判别,特征向量求解K最邻近相似度度量:欧氏距离、街区距离、编辑距离、向

2014-08-14 21:53:13 577

转载 程序员初学机器学习的四种方式

学习机器学习有很多方法,大多数人选择从理论开始。如果你是个程序员,那么你已经掌握了把问题拆分成相应组成部分及设计小项目原型的能力,这些能力能帮助你学习新的技术、类库和方法。这些对任何一个职业程序员来说都是重要的能力,现在它们也能用在初学机器学习上。要想有效地学习机器学习你必须学习相关理论,但是你可以利用你的兴趣及对知识的渴望,来激励你从实际例子学起,然后再步入对算法的数学理解。通过本文

2014-08-14 19:03:25 594

Java刷算法题常用API文档

用Java刷算法题的常用API一览,适用于准备求职时刷leetcode、lintcode等算法题,或面试白板编程。

2017-12-08

智能算法萤火虫算法Matlab源代码

来自于剑桥大学教授Yang Xinshe的萤火虫算法Matlab源码,适合各种寻优问题的建模,内含代码的详细说明

2014-12-15

华为网络工程师培训详细教程(529页)

华为网络工程师培训教程,包括网络基础知识、常见网络接口与线缆、以太网交换机基础、路由协议等十五章。

2014-12-05

2014年世界互联网大会ppt分享

2014年11月19日至21日在浙江桐乡举办的世界互联网大会,关于互联网思维的ppt分享

2014-12-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除