自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

赤道6号转向发动机的博客

计算机视觉, python

  • 博客(35)
  • 收藏
  • 关注

原创 t检验

参考视频: StatsCast: What is a t-test?(需要梯子)t检验的目的t检验的目的是判断两个样本集某个属性的均值是否有显著差异为什么需要t检验直接比较两个样本集的均值只能给出已知差异(描述统计学), 但是无法保证两个样本集所各自代表的整体也具有同样的差异, 因为结果可能是偶然性造成的(无法用局部代表整体).要通过已知样本来理解整体, 需要用到推论统计学, t检验就是...

2019-05-31 10:56:57 4637

原创 评估指标 -- Precision(查准率), Recall(查全率)和F1 score; PR曲线和mAP; ROC曲线和AUC

Precision, Recall 和 F1 scorePrecision – 查准率、精确率Recall – 查全率、召回率查准率和查全率是互相影响的,理想情况是希望两者都高,但是一般情况下查准率高、查全率就低,查全率高、查准率就低.如果是做搜索,那就是保证查全的情况下提升查准率;如果做疾病监测、反垃圾,则是保证查准的条件下,提升查全率。为了衡量在某一阈值下P和R的综合结果, 采用指...

2019-05-23 16:59:51 3370

原创 SVM介绍及常见面试题

SVM的原理SVM是一种二分类模型, 基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器. 如果数据线性可分, 可以直接使用硬间隔SVM; 如果数据近似可分, 引入松弛变量, 使用软间隔SVM; 如果数据不可分, 通过引入核函数, 使用非线性SVM.SVM具体推导过程硬间隔原问题求最大间隔分离超平面可以转换成以下约束最优化问题:max⁡w,bγ^∣∣w∣∣s.t.yi(w⋅xi...

2019-04-25 14:01:28 1453

原创 LSTM和GRU结构及原理介绍

参考博文: 直觉理解LSTM和GRU第一部分: LSTMLSTM的结构LSTM的原理LSTM单元之间传递两个信息, c和hCt−1C_{t-1}Ct−1​ 到 CtC_tCt​, 先遗忘一部分信息, 然后再加上新学到的一部分信息ftf_tft​控制哪些需要忘掉, C~t\tilde{C}_tC~t​用于生成新信息, iti_tit​控制哪些新信息需要保留, CtC_tCt​就完...

2019-04-22 16:08:06 1279

转载 [转载] - 转置卷积

看到一篇文章对转置卷积的原理解释得很好, 图像也非常直观一文搞懂反卷积,转置卷积

2019-04-19 15:26:42 106

原创 以DeepLabv3+架构为基础做图像分割(包含v1, v2, v3介绍)

DeepLab图像分割算分的发展过程v1:贡献: 首次把空洞卷积(dilated convolution) 引入图形分割领域基本内容:基于VGG16将最后两个池化层改为卷积层(控制分辨率不要太小)去掉全连接层(保留最后一个用于softmax分类)后三个卷积改为空洞卷积(保证感受野与去掉池化层前接近)对结果上采样后用CRF细化分割效果空洞卷积(Dilated Convolut...

2019-04-19 14:21:11 2485

原创 AlexNet, VGGNet, InceptionNet, ResNet介绍

AlexNet 和 VGGNetVGGNet可以看成是AlexNet的加深加强版, 网络结构如图所示:与AlexNet的不同之处在于更小的filter, 更深的网络. 只有3 * 3的卷积层和2 * 2 的池化层, 简洁优美. 卷积核专注于扩大通道数、池化专注于缩小宽和高,使得模型架构上更深更宽的同时,计算量的增加放缓.用连续的3 * 3 filter 堆叠, 效果要比一个大卷积filte...

2019-04-11 15:35:08 1000

原创 Yolo算法v1-v3介绍

YoloV1一. Yolo的核心思想就是把整张图作为网络的输入, 直接在输出层回归bounding box的位置及其类别.二. 实现方法:将图像分成S*S个网格, 每个网格预测B个bounding box, 每个bounding box输出5个值, 包括p, x, y, w, h每个网格还需要输出C个类别概率. 所以给定一张图片, 网络输出维度为S * S * (5*B+C). 例如在P...

2019-04-11 12:15:10 551

转载 Batch Normalization梯度反向传播推导

一篇讲解Batch Normalization反向传播公式推导比较清楚的文章:Batch Normalization梯度反向传播推导

2019-03-28 18:03:01 418

转载 学习率衰减/learning rate decay

看到一篇好文章, 系统地介绍了tensorflow中的几个学习率衰减函数, 并画图展示了它们的区别:TensorFlow学习--学习率衰减/learning rate decay

2019-03-19 10:26:10 341

原创 cs231n课程资料整理(未完结)

1. 课程主页(视频, 讲义, 作业)CS231n Convolutional Neural Networks for Visual Recognition2. 关于SVM的讲解, 以及与softmax classifier的比较cs231n课程讲义Linear Classification...

2019-03-11 10:48:43 329

原创 一些cs231n中学到的函数(未完结)

1. np.argsort()返回数组值从小到大的索引值举例:x = np.array([3, 1, 2])np.argsort(x)# array([1, 2, 0])2. np.flatnonzero()该函数输入一个矩阵,返回扁平化后矩阵中非零元素的位置(index)>>> x = np.arange(-2, 3)>&amp

2019-03-08 15:41:09 105

原创 权重初始化的理解和一些参考资料

参考资料:神经网络权重初始化问题深度学习之参数初始化(一)——Xavier初始化深度学习中Xavier初始化4种权重WWW的初始化方法1. 全部WWW初始化为0: 不可行如果全部权重初始化为0, 神经网络计算出来的输出值都一样,那么反向传播算法计算出来的梯度值也一样,参数更新值也一样(w=w−α∗dw)(w=w−\alpha ∗ dw)(w=w−α∗dw)。更一般地说,如果权重初始...

2019-03-05 16:29:43 278

原创 tensorflow之数据读取 -- 用tf.data通过tfrecord读取数据或者直接读取数据

对于数据量很大的数据集, 直接读入内存可能会放不下, 建议的做法是把全部数据转换成tfrecord的格式, 方便神经网络读取数据, 并且从tfrecord中读取数据的话tensorflow专门做过优化, 能加快读取速度.参考资料: 官方tfrecord读写教程1. 生成tfrecord# 把一个byte数据转换成一个bytes_listdef _bytes_list_feature(val...

2019-03-04 09:42:19 4169 1

原创 神经网络常见优化算法(Momentum, RMSprop, Adam)的原理及公式理解, 学习率衰减

参考资料: 吴恩达Coursera深度学习课程 deeplearning.ai (2-2) 优化算法–课程笔记1. 指数加权平均(指数加权移动平均)指数加权平均是统计一个波动的指标在一段时间内的平均变化趋势, 具体公式为:vt=βvt−1+(1−β)θtv_t = \beta v_{t-1} + (1 - \beta)\theta_tvt​=βvt−1​+(1−β)θt​其中β\betaβ是...

2019-03-01 01:23:40 6030

原创 训练/测试集, 偏差/方差(欠拟合/过拟合), 正则化/权重衰减

1. 训练集 / 验证集 / 测试集数据划分比例:小数据量(10-10000):60/20/20大数据量(1000000) : 98/1/1超大数据量: 99.5/0.25/0.25在不需要无偏评估的时候可以不需要测试集, 只有训练集和验证集. 如果需要验证集来微调参数, 就需要再划分出测试集来做无偏评估.2. 偏差 / 方差高偏差:欠拟合解决方法:使用更大的网...

2019-02-28 14:52:03 869

原创 Coursera DeepLearning.AI课程资料整理(未完结)

吴恩达教授的DeepLearning.AI课程值得看很多遍, 每一遍都能有所收获. 看课程时收集到的有价值资料记录如下:详细课堂笔记英文版: github: mbadry1/DeepLearning.ai-Summary中文版: 吴恩达Coursera深度学习课程 deeplearning.ai 目录所有作业的完整代码:中文版: ericjjj/coursera,英文版: Kulb...

2019-02-27 15:22:14 694

原创 sys.stdout.write()和sys.stdout.flush()的使用

最近写了一段代码, 根据一个list找到对应的文件, 写入到tfrecord中, 其中想要动态显示写入的进度, 于是去学习了一下发现sys.stdout可以解决这个问题def create_tf_record(output_filename, image_dir, label_dir, examples): writer = tf.python_io.TFRecordWriter(outpu...

2019-02-27 09:26:20 2455

原创 tf.metrics.mean_iou(), tf.where(), tf.ones_like()及通过混淆矩阵计算mean_iou

今天看deeplab_v3+源码的时候研究了一下mean_iou的计算部分, 学习了几个函数, 以及根据混淆矩阵计算mean_iou的具体细节源码是这样的:mean_iou = tf.metrics.mean_iou(valid_labels, valid_preds, params['num_classes'])train_mean_iou = compute_mean_iou(mean_...

2019-02-25 17:21:17 3368 2

原创 目标检测中iou的计算(python代码)

# 计算两矩形IOU值, 输入为两矩形对角线(x,y)坐标def IOU(Reframe, GTframe): # 得到第一个矩形的左上坐标及宽和高 x1 = Reframe[0] y1 = Reframe[1] width1 = Reframe[2] - Reframe[0] height1 = Reframe[3] - Reframe[1] # 得到第二个矩形的左上坐标及宽和高...

2019-02-25 11:56:58 2186

原创 [AI题集]

在下图中,我们可以观察到误差出现了许多小的"涨落"。 这种情况我们应该担心吗?A 需要,这也许意味着神经网络的学习速率存在问题B 不需要,只要在训练集和交叉验证集上有累积的下降就可以了C 不知道答:1. 为了减少这些’涨落’, 可以尝试增加batch_size, 从而缩小batch综合梯度方向的摆动范围.2. 如果整体曲线趋势为平缓时出现可观的"涨落/起伏", 可以尝试降低学习率...

2019-02-22 09:46:07 311

原创 对任意shape的label用numpy进行one_hot编码

def get_one_hot(labels, nb_classes): res = np.eye(nb_classes)[np.array(labels).reshape(-1)] return res.reshape(list(labels.shape)+[nb_classes])解释:np.array(labels).reshape(-1)是将labels展平, 比如...

2019-02-21 15:17:36 1557 3

原创 Internal Covariate Shift(ICS)的理解 和 Batch Normalizaton的原理及优点

参考资料:1.Batch Normalization原理与实战2.Internal Covariate Shift以及Batch NormalizationInternal Covariate Shift(ICS):Batch Normalization 原作者对Internal Covariate Shift的定义是: 在深层网络训练的过程中,由于网络中参数变化而引起内部结点数据分布...

2019-02-21 10:59:27 1185 1

原创 tf.losses.softmax_cross_entropy()及相邻函数中weights参数的设置

最近在修改deeplab v3+的代码训练自己的数据进行分割任务, 因为我的数据中label为0的像素点特别多, 数据不平衡, 所以考虑对label为0的sample设置权重为0.1, 其他class权重为1.查看tensorflow文档(需要科学上网), 该函数的参数为:tf.losses.softmax_cross_entropy( onehot_labels, logit...

2019-02-20 16:20:38 10558 5

原创 交叉熵和相对熵(KL散度), 极大似然估计求loss, softmax多分类

看了一篇好文章, 讲解交叉熵和相对熵, 之前就想弄懂, 今天仔细研究了一下.文章链接: 交叉熵(Cross-Entropy)信息量定义事件X=x0X=x_0X=x0​发生时的信息量为: 定义事件X=x0X=x_0X=x0​发生时的信息量为:I(x0)=−log(p(x0))I(x_0)=−log(p(x_0))I(x0​)=−log(p(x0​)) 一个事件发生的概率越大,则它发生时所...

2019-02-20 11:54:58 781

原创 python中os模块的一些常用操作(os.chdir(), os.listdir(), os.path.isdir(), glob.glob()等)

最近写了一些代码片段, 学了一些python新函数, 现记录如下# 序列重命名每个casedef rename_dir(batch_path): # 切换到给定目录下 os.chdir(batch_path) # 序列第一个文件名 a = 1 for dir_or_file in os.listdir(batch_path): # 筛选得...

2019-02-18 21:59:50 1075

原创 python中绘制等高线(关于np.meshgrid(), np.c_[]和plt.contourf(), plt.contour()函数的理解)

参考资料:numpy中的meshgrid函数np.c_和np.r_的用法解析Contours 等高线图关于plt.cm.Spectral1. np.meshgrid(x,y) 与 np.c_[ ]xx, yy = np.meshgrid(x,y)的作用是在二维平面中将每一个x和每一个y分别对应起来,编织成栅格.nx,ny = (3,3) #从0开始到1结束,返回一个num...

2019-02-18 02:30:04 1862

原创 google cloud的VM实例中 .bashrc文件不自动生效的解决办法(四)

关于在google cloud中搭建深度学习平台, 我已经写了几篇文章, 基本已经搭好了一个完整可运行的框架. 但是使用一天之后我发现conda命令竟然运行不了了! ssh登录之后[email protected]的前缀也是灰色的(在之前的正常情况下是绿色的).一脸懵逼的我以为是系统更新重置了, 导致各种安装包和用户信息都丢失了(因为在此期间我申请提高了gpu配额). google了半天ssh...

2019-01-05 14:33:28 305

原创 在google cloud上部署的jupyter notebook用gpu跑一遍yolov2算法进行物体检测及yolo.h5文件的生成(三)

上一篇中讲了如何在google cloud 中部署jupyter notebook, 这一篇就用它来测试一下tensorflow-gpu的实际运行效果怎么样.本文数据来源和内容均来自吴恩达博士的cousera深度学习课程 - 卷积神经网络 - 第四周 - 第三课的课程作业.首先需要下载数据集, 我是把整个作业的内容搬过来了, 可以在https://github.com/marsggbo/d...

2019-01-03 13:33:48 1604 1

原创 在google cloud的VM实例中部署jupyter notebook并在本地浏览器中打开(二)

上一篇中讲了如何在google cloud中创建一个带gpu的实例并用ssh连接, 现在我打算在上面部署jupyter notebook搭建一个深度学习平台, 操作步骤如下:安装cuda和cudnn: 关于cuda和cudnn是什么, 具体可以看这里. 简单来说, cuda让gpu可以用来做计算, cudnn提供gpu计算的加速.下载cuda和cudnnsudo wget http://...

2019-01-03 00:53:00 2080 1

原创 mac创建google cloud 实例要注意的问题(一)

前两天创建了一个阿里云的实例并试着在上面运行了jupyter notebook, 这两天google cloud的gpu限额终于批下来了, 今天在上面把jupyter notebook装好并跑了一遍yolov2算法, 现在把遇到的问题记录下来, 防止以后再掉坑里.创建实例之前需要先申请gpu限额, 在console - IAM和管理 - 配额里调整, 在指标一栏, 点击全不选, 然后在搜索框...

2019-01-02 23:54:10 602

原创 mac 终端在root用户和普通用户账号间切换的方法

打开mac终端, 首先进入的是普通用户, 比如我的账户叫steven, 就是进入steven的账户.要进入root账户, 终端输入: sudo -i要切换回steven的账户, 输入: su - steven (注意-前后都有空格)不同账户间根目录下的文件内容是不一样的...

2019-01-01 13:47:16 2267

原创 云服务器中让jupyter后台运行的方法(三)

1. 后台运行在云服务器中搭建好jupyter并运行后, 发现它会占用当前终端, 于是研究了一下怎么让它在后台运行.1.入门级: jupyter notebook > jupyter.log 2>&1 &2.进阶版: nohup jupyter notebook > jupyter.log 2&

2018-12-30 13:26:50 28399 6

原创 阿里云安装运行jupyter notebook并在本地浏览器打开(二)

上一篇说过了怎么创建阿里云云服务器并连接成功, 现在来说说怎么在服务器上安装jupyter并在本地浏览器上打开.1. 安装jupyter notebook首先安装anaconda:mkdir anaconda #创建独立文件夹cd anaconda #进入文件夹wget https://repo.continuum.io/archive/Anaconda3-4.4.0-Linux-x...

2018-12-30 11:51:47 2232

原创 创建阿里云ecs并用mac连接的步骤(一)

创建阿里云ecs并用mac连接的步骤学了很久的机器学习/深度学习理论的东西, 最近终于开始要做一些实际项目了. 之前在可怜的8G/128G 乞丐版mac上跑, 想想这终究不是办法, 大一点的数据集就要吃不消了, 所以花了半天一天时间研究各种云服务器的优劣, 目前看到不错的选择有google cloud, 阿里云和美团云. 奈何美团云已经售罄了, google云因为GPU额度受限, 提交申请还没批...

2018-12-30 10:47:07 2018

空空如也

空空如也

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

TA关注的人

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