自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黄飞的博客专栏

最怕你一生碌碌无为,还安慰自己平凡可贵

原创 GPU状态监测 nvidia-smi 命令详解

在进行深度学习实验时,GPU 的实时状态监测十分有必要。今天详细解读一下 nvidia-smi 命令。上图是服务器上 GeForce GTX 1080 Ti 的信息,下面一一解读参数。 上面的表格中的红框中的信息与下面的四个框的信息是一一对应的:GPU:GPU 编号; Name:GPU 型号;...

2018-02-01 16:43:13 41531 0

原创 主成分分析(PCA)一次讲个够

PCA 简介多元统计分析中普遍存在的困难中,有一个困难是多元数据的可视化。matlab 中的 plot 可以显示两个变量之间的关系,plot3 和surf 可以显示三维的不同。但是当有多于3个变量时,要可视化变量之间的关系就很困难了。幸运的是,在一组多变量的数据中,很多变量常常是一起变动的。一个原...

2017-11-29 11:31:46 41219 5

原创 5 分钟带你弄懂 k-means 聚类

聚类与分类的区别分类:类别是已知的,通过对已知分类的数据进行训练和学习,找到这些不同类的特征,再对未分类的数据进行分类。属于监督学习。聚类:事先不知道数据会分为几类,通过聚类分析将数据聚合成几个群体。聚类不需要对数据进行训练和学习。属于无监督学习。关于监督学习和无监督学习,这里给一个简单的介绍:是...

2017-11-08 16:16:23 48828 57

原创 如何通俗易懂地理解皮尔逊相关系数?

要理解 Pearson 相关系数,首先要理解协方差(Covariance)。协方差表示两个变量 X,Y 间相互关系的数字特征,其计算公式为:COV(X,Y)=1n−1∑n1(Xi−X⎯⎯⎯)(Yi−Y⎯⎯⎯)COV(X,Y)=\frac{1}{n-1}\sum_1^n(X_i-\overline ...

2017-11-06 11:45:57 32966 4

原创 CentOS 添加环境变量的三种方法

在 Linux CentOS 系统上安装完 MATLAB 后,为了使用方便,需要将 matlab 命令加到系统命令中,如果在没有添加到环境变量之前,执行“matlab”命令时,则会提示命令不存在的错误,如下所示:下面我详细介绍一下在 linux 下将 MATLAB 加入到环境变量中的方法(MATL...

2016-11-05 11:51:21 50040 0

原创 常用的数据标准化方法

数据的标准化(normalization)是将数据按照一定规则缩放,使之落入一个小的特定区间。这样去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。其中最典型的就是0-1标准化和Z标准化,当然,也有一些其他的标准化方法,用在不同场景,这里主要介绍几种常用的方...

2016-06-13 14:46:39 24819 0

原创 解决 swap file “*.swp”already exists!问题

在 Linux 下的 vim 编辑过程中,由于某种原因异常退出正在编辑的文件,再次编辑该文件时,会出现如下提示:使用vim编辑文件实际是先 copy 一份临时文件并映射到内存给你编辑, 编辑的是临时文件, 当执行:w 后才保存临时文件到原文件,执行:q 后才删除临时文件。每次启动检索是否有临时文件...

2016-04-23 15:47:52 54535 5

原创 粒子群算法解决函数优化问题

1 选题描述 粒子群算法(particle swarm optimization,PSO)是计算智能领域,除了蚁群算法、鱼群算法之外的一种群体智能地优化算法。该算法最早由Kennedy和Eberhart在1995年提出的。PSO算法源于对鸟类捕食行为的研究,鸟类捕食时,找到食物最简单有效的策略就是...

2015-07-03 13:35:58 43053 1

原创 SQL 知识点回顾总结(二)

本文在上篇博客 SQL 知识点回顾总结(一)的基础上,再结合《SQL 必知必会》一书对 SQL 相关知识点进行了补充整理,供大家参考,也方便自己查阅备忘。 在指定一条 order by 子句时,应该保证它是 select 语句中最后一条子句。如果它不是最后的子句,将会出现错误信息。 通常,ord...

2020-03-12 20:31:36 84 0

原创 SQL 知识点回顾总结(一)

很久没有更新博客了,埋头工作有时候都忘了思考,但学习积累的步伐不能停止,今儿个把 SQL 相关知识点重新捡起来,供大家参考,也方便自己查阅备忘。梳理的主线主要基于牛客网《数据库SQL实战》。 1. left join, right join 和 inner join left join(左联接):...

2020-02-03 18:00:16 1253 0

原创 XCTest 单元测试初探

在做 iOS 端的单元测试时,XCode 自身集成的 XCTest 框架是一个不错的选择。网络上关于 XCTest 单元测试的文章不胜枚举,这里主要结合实例和 WWDC2018 的新增特性进行总结和梳理。 本文只针对 iOS 单元测试,UI自动化测试会在以后的博文中陆续展开,下面直接从 Demo ...

2019-10-08 13:21:03 190 0

原创 iOS 单例模式,你真的写对了吗?

几年前,笔者曾对 iOS 单例模式作过一番阐述,包括其优点以及 Apple 自身对单例模式的实现示例,详情可参考:iOS 单例模式详解。这里再做一个简短的总结, 单例的用处:主要用在封装网络请求,播放器,存放常用数据等。 单例的特点:只初始化一次,生命周期和程序的生命周期相同,访问方便。 下面一步...

2019-04-28 16:11:56 1451 0

原创 caffe 改动后的重新编译以及 pycaffe 安装过程中 warnings 解决

原生的 caffe 包含了一些基本的运算操作,如果要进行一些自定义操作,比如双线性插值放缩操作、L2 正则化等就需要把相应的实现添加进 caffe 源码,由于 caffe 源码由 C++ 编写,修改源码后需要重新编译。下面对具体的编译过程进行总结: 1. 编译 caffe.proto 文件 添加层...

2018-10-31 19:32:18 4455 0

原创 GoogLeNet(Inception V1)总结

本文是对 “Going Deeper With Convolution” 的论文创新点的解读和总结,笔者在去年对该论文进行了全文翻译,原文翻译可点传送门:《Going Deeper With Convolution》全文译解,但当时仅限于翻译,并未对其中细节和创新点进行详细剖析。经典的东西需要细细...

2018-10-26 11:07:04 780 0

原创 Network In Network 总结

本文是对《Network In Network》的论文解读和总结。该论文发表于 ICLR 2014,由新加坡国立大学(NUS)提出,自2014年发表至今,已有接近2K的引用量,其独特的网络结构成为卷积神经网络的革新,是经典的卷积神经网络的一个变种。 注:博文中图片表格均来自原文 1. 网络结构 ...

2018-10-24 20:47:38 439 0

原创 Linux 下几个查找命令 find,locate,whereis,which,type 总结

在 Linux 命令行下,常常根据需要进行相应文件的查找,有很多方法可以做到这一点,本次博客对这些方法进行一个总结,可根据需要灵活运用。 1. find find 是最常见也是最强大的查找命令,几乎能满足任何查找需求。 find 命令使用格式: find 路径 参数 时间查找参数: -atime...

2018-10-18 17:43:34 245 0

原创 操作系统与网络知识点梳理

1.死锁产生的原因与避免死锁的方法 死锁概念:多个线程因竞争资源而造成的一种僵局(互相等待)状态。 产生死锁的四个条件: (1)互斥条件:资源只能由一个进程使用; (2)请求与保持条件:已经得到资源的进程可以再次申请新的资源; (3)非剥夺条件:已经分配的资源不能从相应的进程中被强制地剥...

2018-09-12 10:02:34 473 0

原创 HTTP 状态码回顾总结

HTTP状态码,它是用以表示网页服务器HTTP响应状态的3位数字代码。状态码的第一个数字代表了响应的五种状态之一。 Tables Are Cool 1XX Informational(信息性状态码) 接收的请求正在处理 2XX Success(成功...

2018-09-07 10:02:21 148 0

原创 从输入URL到页面展示到底发生了什么?

这是一个老生常谈的问题,笔者今天对这个问题进行一个总结。整个过程可分为4个步骤,分别如下所示: 1. 域名解析 当我们在浏览器的输入框中输入网址的时候,浏览器其实已经在智能地匹配可能的URL了,它会从历史或者书签等地方查找可能对应的URL,给出一些智能提示,方便智能补全,部分浏览器甚至会直...

2018-08-24 15:41:39 411 0

原创 C++ 知识点梳理

new/delete 与 malloc/free的区别 malloc/free是标准库函数,new/delete是C++运算符。运算符是语言本身的特性,有固定的语义,由编译器解释语义。库函数是依赖于库的,一定程度上独立于语言,编译器不关心库函数的作用。 delete会调用对象的析构函数, fr...

2018-08-22 17:58:10 667 1

原创 进程与线程相关知识整理

进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。 线程是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位,一...

2018-08-16 14:25:33 249 0

原创 Linux 中的 bash_profile,bashrc 以及 profile 联系与区别

/etc/profile,/etc/bashrc,~/.bash_profile,~/.bashrc 文件的区别和特点比较容易混淆,这里先分别介绍其功能特点: /etc/profile:用来设置系统环境参数,比如$PATH. 这里面的环境变量是对系统内所有用户生效的; /etc/bashrc:...

2018-08-16 13:32:43 943 0

原创 "Learning to Compose with Professional Photographs on the Web" 论文解读(二)(附代码与详细注释)

接着上篇博客:“Learning to Compose with Professional Photographs on the Web” 论文解读(一)(附代码与详细注释)进行讲解。上篇博客讲到了论文中数据的处理,该博客将介绍模型的构建、训练以及评估等部分内容,并附上详细的代码及注解。 上...

2018-07-23 22:37:13 418 1

原创 "Learning to Compose with Professional Photographs on the Web" 论文解读(一)(附代码与详细注释)

最近在研究一篇论文 “Learning to Compose with Professional Photographs on the Web”,发表自 CVPR2017,论文地址链接:Learning to Compose with Professional Photographs on the...

2018-07-18 23:01:28 488 0

原创 TensorFlow 中的 tf.app.flags 命令行参数解析模块

说道命令行参数解析,就不得不提到 python 的 argparse 模块,详情可参考博主之前的一篇博客:python argparse 模块命令行参数解析。在阅读相关工程的源码时,很容易发现 tf.app.flags 模块的身影。其作用与 python 的 argparse 类似。 直接上代码...

2018-07-17 23:17:29 2339 0

原创 python 单下划线与双下划线,以及绝对导入与相对导入

单下划线与双下划线 在 python 中,会看到 _xx, xx 以及 __xx 这样的变量或者函数名,在这里做一个简要的总结。 _xx:保护(protected)变量或函数,意思是只有类对象和子类对象能够访问到这些变量,不能用 ‘from module import *’ 导入。当变量或函数...

2018-07-16 21:54:47 623 0

原创 tf.variable_scope(), tf.name_scope(), tf.get_variable(), tf.Variable() 理解总结

许多的 TensorFlow 开源项目都会频繁出现 tf.variable_scope, tf.name_scope, tf.get_variable(), tf.Variable() ,今天来对此做一个总结。 注意,tf.Variable() 有大写! 首先来谈谈 tf.get_variab...

2018-07-12 23:56:57 205 0

原创 python os.stat() 获取相关文件的系统状态信息

stat 系统调用时用来返回相关文件的系统状态信息的。下面直接以一个具体示例来进行简要说明: os.stat() 形参接收一个包含路径的文件名,其返回值有10个,列表如下: 返回属性 解释 st_mode inode 保护模式 st_ino inod...

2018-07-11 22:34:17 2151 0

原创 python 虚拟环境 virtualenv

virtualenv 是一个可以在同一计算机中隔离多个 python 版本的工具。有时,两个不同的项目可能需要不同版本的 python,如 python2.7/python3.6,但是如果都装到一起,经常会导致问题。所以需要一个工具能够将这两种或几种不同版本的环境隔离开来,需要哪个版本就切换到哪个...

2018-07-11 21:56:47 95 0

原创 对比 Caffe 中 train_val.prototxt 和 deploy.prototxt 文件

首先,这两个文件有一个最大的不同点,train_val.prototxt 文件是网络配置文件,该文件是在训练的时候用的。deploy.prototxt 文件是在测试时使用的文件。下面以 Caffe 官方给出的 mnist 训练相关的文件作出详细注释说明: name: "LeNet&...

2018-06-18 13:16:13 1180 0

原创 Caffe solver.prototxt 文件参数解析

solver 算是 Caffe 的核心的核心,它协调着整个模型的运作。Caffe 程序运行必带的一个参数就是solver 配置文件,solver.prototxt 文件是用来告诉 Caffe 如何训练网络的。下面以 Caffe 中的 mnist 实例进行简单明了的解释: 1. net: &q...

2018-06-17 18:15:14 1741 0

原创 Linux sed 命令高效文本操作

Linux 下的 sed 命令功能十分强大,能够完美地配合正则表达式使用,灵活巧妙地利用sed命令,可以极大地提高工作效率。 sed 的用法非常多,不可能一一枚举,本文仅针对个人实践过程中比较常见的几个功能作简要介绍。 1.替换操作 直接编辑文件选项 -i,会把 file 文件中每一行第...

2018-06-16 19:38:05 406 0

原创 Caffe 图片数据转化为 lmdb 格式以及均值文件的计算

在 Caffe 中经常使用的数据类型是 lmdb 或 leveldb,而我们平时所用的图片格式为 jpg, png, tif 等,于是就产生了一个问题,如何从原始图片文件转换成 Caffe 中能够运行的 db(leveldb/lmdb)文件? 在 Caffe 中,作者提供了一个用于将图片文件转换...

2018-06-16 13:43:30 310 0

原创 VGGNet 总结

本文是对《Very Deep Convolutional Networks for Large-Scale Image Recognition》的论文解读和总结。该论文发表于 ICLR2015,由牛津大学视觉几何组(Visual Geometry Group)和 DeepMind 公司提出,这也是...

2018-05-28 16:46:21 8180 6

原创 AlexNet 总结

本文是对《ImageNet Classification with Deep Convolutional Neural Networks》的论文解读和总结。该论文发表于 NIPS2012,作者 Alex Krizhevsky 属于神经网络之父 Hinton 组,自2012年发表至今,已有1.3万的...

2018-05-23 16:19:18 1657 1

原创 谈一谈交叉熵损失函数

关于损失函数的概念以及种类特点,可参看博主的博客: 常见的损失函数总结,谈到交叉熵,就不得不提信息熵的概念,同样可参看博主之前的博客:决策树之基 —— ID3 算法,博文中提到了信息熵的相关知识。有了上述两篇博文作为基础,此文不再赘述相关概念。 交叉熵的离散函数形式 交叉熵(cross ...

2018-05-22 16:31:40 3075 0

原创 python argparse 模块命令行参数解析

argparse 是 python 的一个命令行解析包,可根据需要编写高可读性的程序。网上的许多教程较为冗长和散漫,没有达到精练好掌握的目的,本文针对项目中对 argparse 的用法,用实例对各个参数进行讲解,力求达到让读者秒懂的目的。 先上代码: import argparse if...

2018-05-15 17:25:37 2846 1

原创 Linux 下 top 和 free 命令总结

top 命令提供了实时的对系统处理器的状态监视,比较像 windows 下的任务管理器。top 命令的显示如下: 下面对以上显示信息逐行做解释,比较重要和常用的信息均用斜黑体加粗: 第一行(任务队列信息,同 uptime 命令) 解释 16:19:04 系统当前...

2018-05-12 17:15:04 1705 0

原创 TensorFlow 指定 GPU 训练模型

Linux 查看当前服务器 GPU 的占用情况可以使用 nvidia-smi 命令,如下所示: nvidia-smi 关于 nvidia-smi 命令输出的详细解释,可参考笔者的另外一篇博客:GPU状态监测 nvidia-smi 命令详解。在此不再赘述,本文主要分享一下在用 Tenso...

2018-05-12 16:02:14 1071 0

原创 Linux 命令行处理图片(图片格式转换、缩放、旋转等)

Centos OS 中默认安装了 ImageMagick,ImageMagick 是一系列的用于修改、加工图像的命令行工具。ImageMagick 功能十分强大,本博文主要介绍自己在做实验过程中用得比较多的几个操作,更多更丰富的功能,读者可自行参考 ImageMagick 文档。 1. 转换...

2018-05-10 17:15:36 6809 0

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