自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

holmes_MX的博客

好记性不如烂笔头

原创 如何理解深度学习中的tensor(涉及numpy的二维,三维以及四维数据的理解)

0. 写作目的 好记性不如烂笔头。 结论:无论几维,都可以按照(Batch_size, Height, Width, Channle)来理解。 1. 二维数据的理解 理解为:只有(Height, Width),而且理解的是对于每一【 】从后向前看。即第一个[0.1, 0.2, 0.3]是w...

2018-09-25 13:43:19

阅读数 4165

评论数 5

原创 YOLOv3 训练自己的数据(解决网上提供的文章不能一次成功的问题)

0.写本博客的目的 对于使用yolov3训练自己的数据,网上虽然文章多,但是经过实验发现,基本没有能一次运行的成功的。因此特写此文,记录自己在使用yolov3训练自己的数据时遇到的坑。 环境:ubuntu14 + CUDA8.0 + cudnn5.0 + GTX1050Ti (4G) 1. ...

2018-07-27 15:33:03

阅读数 5793

评论数 10

原创 Google的yapf进行风格标准化

0. 目的 向github上传 code前,使用Google的 yapf模块(python)进行代码格式的修改。 1.使用方法 1.1 安装: pip install yapf (python3) (对于python2的安装请参考官方) 假设当前的code为 main.p...

2019-12-23 11:37:30

阅读数 20

评论数 0

原创 如何判断一个点在多边形的内部

1. 背景 给定任意多边形(不一定是凸多边形)的顶点坐标(逆时针给出点的坐标), 然后给定一点,判断该点是否在多边形内部? 2. 思路 使用 向量的叉乘(向量积)来进行计算。 向量积复习: 因此,当多边形点的顺序是逆时针时,如果点在 多边形内,则向量积 的结果...

2019-09-20 19:36:32

阅读数 33

评论数 0

原创 如何计算深度学习网络中的感受野(Receptive Field)(以DenseBox中的网络为例)

1. Receptive Field 计算方法 当前层的stride: 历史所有层的stride的乘机 当前层的Receptive Field: RF = last_RF + (ksize - 1) * history_stride, 其中, last_RF为上一层的Receptive Fie...

2019-04-14 13:29:19

阅读数 308

评论数 0

原创 多分类的loss函数,accuracy理解——手写代码

0. 写作目的 好记性不如烂笔头。 总结: 博主认为,正是由于Accuracy计算时,采用的是相对最大概率,所以存在计算的loss与accuracy不成正比关系,即当accuracy很高时,有可能存在loss很高,这是由于,我们的目的是:使得最大下标的概率很大,接近于1,但实际是相对最大,导致...

2019-02-26 17:35:31

阅读数 2817

评论数 0

原创 C++深入理解(二)——空基类优化 Empty Base Optimization(EBO)的理解

0.写作目的 好记性不如烂笔头。 总结: 在VS2012中(win32) 1) 在多继承中,只存在一个“空类”的继承,这里的空类只是不包括non-static成员变量,空类中可以包括enums,typedef,static,non-virtual函数[1]。 在派生类中,如果只存在继承一...

2019-02-25 18:09:36

阅读数 120

评论数 0

原创 C++深入理解(一)——自定义类中重载运算符返回引用以及连续赋值的机制理解

0. 写作目的 好记性不如烂笔头。 结论:在自定义的类中,运算符重载需要返回类对象的引用。如果返回的是类对象,则在赋值的过程中会调用拷贝构造函数,引起不必要的运算。如果返回的是void,则不能进行连续赋值(如a = b = c)。 (补充:在自定义类的对象连续赋值中a = b = c(a,b...

2019-02-18 17:33:17

阅读数 419

评论数 0

原创 QuickSort实现(C++模板函数,python实现)

0. 写作目的 好记性不如烂笔头。不同语言实现。(之前都是C++或者C语言实现的QuickSort,今天使用python3来实现) 1. 算法思想 对输入的数组 a[i , j] 进行排序: 1) 分解:将输入的数组分解成三部分—— a[i , k - 1], a[k] 和 a[k + 1...

2019-02-17 15:47:14

阅读数 147

评论数 0

原创 LeetCode——Add Two numbers(代码对比)

0. 写作目的 对比自己写的代码与别人写的代码差距,从中汲取。 总结:虽然自己的代码和别人的代码运行时间相同,但是别人的代码整洁,更易于理解。需多加练习。 1. 题目描述 You are given two non-empty linked lists representing two ...

2019-02-17 14:47:30

阅读数 32

评论数 0

原创 有趣的编程(一)——海盗分金币问题如何编程求解

0. 写作目的 有趣的编程。 1. 问题描述 有n个海盗,分k个金币。 分配原则:依次从第一个人到最后一个人提出分配方法,只有当超过半数的人同意时,方案生效。如果该人提出的方案不能生效,则该人会被扔到水里喂鱼。游戏只能玩一次。问:第一个人如何提出分配方案才能最大化自己的利益? 假设:1)...

2019-01-12 16:36:44

阅读数 1246

评论数 0

原创 Keras 实现细节——dropout在训练阶段与测试阶段的使用分析

0. 写作目的 通过实验分析keras中Dropout在训练阶段和测试阶段的使用情况。 结论: Keras使用的 Inverted Dropout,因此测试时不需要修改 Dropout中的参数(rate)。 1.  Dropout 的实现方式 Dropout的实现方式有两种。 Dropo...

2019-01-09 17:59:34

阅读数 3594

评论数 0

原创 神经网络的BP推导

0. 写作目的 好记性不如烂笔头。 注意:本博客的求导法则,也许和其他地方不同,主要区别在于是否把链式法则中间的求导省略,如果不省略中间的求导则是本文的推导过程,如果省略则是常见的推导过程。其本质都是一样。 1. 定义 以多层神经元网络为例进行分析。网络如下图所示。 定义:网络共 ...

2018-12-26 15:23:14

阅读数 97

评论数 0

原创 SSD(caffe) 如何运行ssd_detect.cpp

0. 写作目的 好记性不如烂笔头。 1. 准备阶段 正确编译caffe-ssd,具体过程可以参考博客。 建议使用anaconda下的opencv(2或者3,建议安装opencv2, opencv3后期可能出现视频不能读入的问题),不建议使用pip install安装的opencv。   ...

2018-12-18 11:35:33

阅读数 441

评论数 0

原创 Dell 电脑安装ubuntu 系统(一次性安装成功)

0. 写作目的 好记性不如烂笔头。 1. ubuntu系统准备阶段 1) 下载ubuntu 系统(这里为ubuntu14) 2) 通过UltraISO来制作USB系统启动盘      先开打ubuntu系统盘,然后选择 “启动”中的“写入硬盘映像”,然后在“便捷启动”中选择SysLinu...

2018-12-11 11:52:27

阅读数 5019

评论数 0

原创 ubuntu 安装 opencv2.4.13 (GPU版本) ——解决网上提供的文章不能一次编译成功问题

0. 写作目的 好记性不如烂笔头。避免后来人再次入坑。 环境介绍: ubuntu14 + opencv2.4.13  + 1050TI 1. 准备阶段 下载并解压opencv2.4.13 sudo apt-get install wget sudo wget https://githu...

2018-12-08 10:53:39

阅读数 496

评论数 0

原创 python中深浅拷贝学习

0. 写作目的 好记性不如烂笔头。 1. python 中的深度拷贝 1.1 常数的拷贝 对于常数的拷贝,类似于数值的地址是一定,当进行赋值时,先共用一个内存,如果一方修改了内容,则该方的地址改变,从而使得两个变量不再相同,即一方修改另一方不会修改。 a = 2 b = a print...

2018-12-07 16:51:05

阅读数 47

评论数 0

原创 深度学习目标检测——faster R-CNN 原理理解(自己绘制流程图帮助理解)

0. 写作目的 好记性不如烂笔头。 1. 框架的理解 faster R-CNN = RPN + fast R-CNN 1.1 RPN的理解 网络的组成: (这里只是给出一个网络的整体流程,可能与faster R-CNN论文的参数不同) 注意: 上图可能与论文中的图不同,论文中的图是...

2018-10-25 16:25:51

阅读数 880

评论数 0

原创 python numpy函数的使用(updating)

0.写作目的 好记性不如烂笔头。 1. numpy 中的 axis的理解 以三维tensor为例: numpy.sum( tensor, axis ) numpy.mean( tensor, axis) 其中axis = -1是对最里面的一个维度操作。如numpy.sum( tensor...

2018-10-24 21:28:18

阅读数 72

评论数 0

原创 python 中opencv, PIL, skimage, scipy matplotlib中的细节说明

0. 写作目的 好记性不如烂笔头。、 1. 有关size返回的说明 tensorflow中需要的tensor类型为: (N, H, W, C)其中N是batch 大小,H是height, W是width,C是通道的数目。 PIL中  pil_img.size 函数返回的是 tuple类型的...

2018-10-24 20:51:53

阅读数 171

评论数 0

原创 如何理解目标检测中的SSD

0. 写作目的 好记性不如烂笔头。 1. SSD 1.1 网络的框架 下面的第一个4表示的是4个default box(与faster R-CNN 和YOLO不同,这里是中心坐标加上宽高), 其中: classifer是通过3 * 3 * (4 * (classes + 4))的卷积...

2018-10-19 20:43:52

阅读数 215

评论数 0

原创 深度学习目标检测(一)——YOLOV2论文细节理解

0. 写作目的 好记性不如烂笔头。说实话,YOLO的论文真心难明白,文献[2]中解释的很到位。 1. Better 与Fast R-CNN相比,YOLOv1 的错误分析显示:YOLOv1有较低的召回率和回归框的错误。因此YOLOv2目的在于保持分类精度的同时,提高召回率和回归框的精度。保持运...

2018-10-11 11:37:41

阅读数 837

评论数 0

原创 tensorflow学习之——从保存的权重中使用tensorboard查看网络

0. 写作目的 好记性不如烂笔头。 1. tensorboard模型保存说明 采用tf.train.Saver保存的模型,主要文件有: 1) checkpoint : 用于记录训练过程中保存的各模型,在第一行会保存最新的模型的路径: model.ckpt 2)  model.ckpt.m...

2018-10-09 22:05:34

阅读数 1207

评论数 0

原创 one-shot learning && GAN的资料汇集

0. 写作目的 好记性不如烂笔头。 1. one shot learning  1. VALSE2018 有关One-shot-learning 的报告:https://www.jiqizhixin.com/articles/2018-06-20-13 有关one-shot-learnin...

2018-10-09 17:33:07

阅读数 765

评论数 0

原创 深度学习图像分类(二)——VGG论文理解

0. 写作目的 好记性不如烂笔头。这里只是笔者记录的过程,如果读者有时间的话,建议看英文论文。 1. 网络结构 1.1 为什么采用更小的卷积 主要思想是:将卷积核换成卷积核较小的。 例如: 5 * 5 的卷积的视野与 2个 3 * 3 的卷积视野相同。7 * 7 的卷积视野与 3 个 3...

2018-10-09 13:51:47

阅读数 2829

评论数 0

原创 深度学习图像分类(一)——AlexNet论文理解

0. 写作目的 好记性不如烂笔头。 1. 论文理解 1.1 ReLU 激活函数的使用 Rectified Linear Units(ReLU) 使用ReLU比使用tanh(或者sigmoid)激活函数收敛速度更快。下图来自AlexNet论文中给出的在CIFAR-10上的测试效果。可以看出...

2018-09-27 15:39:00

阅读数 1582

评论数 0

原创 tensorflow学习(二)——训练分类时,对图像进行增强(基于tf.image存在的一些问题)

0. 写作目的 好记性不如烂笔头。 1. 图像分类时,图像的数据增强 在博主进行图像增强时,存在一些问题,和大家分享一下。 1.1 使用tensorflow自带的读取图像函数存在的问题 如果采用直接读取图像的方式(使用tf.image进行读取图像),然后使用tf.image中的增强函数对...

2018-09-20 14:51:30

阅读数 1169

评论数 0

原创 keras中构建不同类型的网络

0. 写作目的 好记性不如烂笔头。 1. 构建Sequntial()类型的网络 from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten from keras.layers.co...

2018-09-17 15:50:40

阅读数 327

评论数 0

原创 linux 使用技巧(不断更新)(screen 和tmux的使用)

0. 写作目的 好记性不如烂笔头。 1. screen后台运行程序 1.1 建立screen 使用XShell(windows)或者SSH(ubuntu)连接远程终端,建立一个screen screen -S name ## name parameter: it's up t...

2018-09-12 17:17:18

阅读数 172

评论数 0

原创 tensorflow 多个模型测试阶段速度越来越慢问题的解决方法

0. 写作目的 好记性不如烂笔头。 1. 问题描述 tensorflow中多个模型在测试阶段,出现测试速度越来越慢的情况,通过查阅资料发现,由于tensorflow的图是静态图,但是如果直接加在不同的图(即不同的模型),应该都会存在内存中,因此造成了测试速度越来越慢,甚至导致机器卡顿(博主在...

2018-09-12 13:17:23

阅读数 2578

评论数 0

原创 python 使用技巧(不断更新中)

0. 写作目的 好记性不如烂笔头。 1. list使用技巧 1.1 对list的进行排序(python2) import operator a = [[1, 1, 1, 1, 0.98], [2, 2, 2, 2, 0.99], [3, 3, 3, 3, 0.89]] a.sort(...

2018-09-10 19:25:08

阅读数 108

评论数 0

原创 目标检测中如何计算AP和mAP以及绘制P-R曲线以及SSD中如何修改代码来输出AP和绘制P-R曲线

0. 写作目的 好记性不如烂笔头。 1. 计算AP(Average Precision)的理论知识 对于每一类目标检测给出的置信度(Confidence),首先按照Confidence降序排列,然后将交并比(IOU)>0.5的当做正确预测的结果,否则为错误预测的结果。然后依据预测结果的...

2018-09-06 21:32:45

阅读数 5294

评论数 1

原创 python-matplotlib 绘制折线图(同时解决XShell远程访问Ubuntu使用matplotlib绘制图时,出现的问题)

0. 写作目的 好记性不如烂笔头。 1. 有关matplot 绘制曲线图 这里以绘制目标检测中P-R(Precision - Recall)曲线为例进行说明。 具体如何计算目标检测中的AP,和mAP请参考我的另一博客。 下面的代码是SSD/caffe版本中的caffe/exampels/...

2018-09-05 22:03:25

阅读数 828

评论数 0

原创 tensorflow学习(一)——有关tensorflow不同层的使用(tf.nn 和tf.layers以及tf.contrib.layers)的简单区别

小trick: 对于使用tf.layers建立的神经网络,如果想要对loss函数进行正则话,可以采用如下方式[1]: 但是该方法不适用于编程者自己定义不同层的正则化。 l2 = tf.add_n([tf.nn.l2_loss(var) for var in tf.trainable_var...

2018-09-02 18:50:33

阅读数 4243

评论数 0

原创 基于sklearn.manifold的 T-SNE 的简单使用(介绍关系数据和图像数据)+ matplotlib的简单使用

0. 写作目的 好记性不如烂笔头。 1. 针对关系数据(表格类型)的使用 1.1 将关系数据降维二维 dataNumpy为numpy.array类型的数据。详细见参考[1]. from sklearn.manifold import TSNE import numpy as np ...

2018-08-31 11:54:56

阅读数 2261

评论数 0

原创 基于tensorflow的MNIST探索(基于图像版本的实现与探索)——如何读取较大数据集进行训练(基于TFRecord)(二)

注意:使用TFRecord是,存在两个实际的问题:       1) 制作数据时,先制作train_data_label_list(内容为[ [imagePath, label], [imagePath, label], [], [], ,,, ]),然后对次数据进行打乱,否则即使采用tf.tr...

2018-08-22 14:02:55

阅读数 174

评论数 0

原创 炼丹技巧(一)——MNIST数据上的炼丹(TensorFlow)之Shuffle_batch的探索

0. 写作目的 好记性不如烂笔头。记录在学习过程中遇到的问题,以及对问题的思考和解决方法,为后来人提供一些经验。 1. 网络的重要性 虽然MNIST数据集相对比较简单,已经不能作为网络的评价标准,因为许多网络在MNIST数据上的精度都超过了99%,但是网络也不是随意选择的。刚开始随即设计了一...

2018-08-22 11:16:40

阅读数 525

评论数 2

原创 漫谈常用深度学习框——Caffe/ TensorFlow / Keras/ PyTorch

0. 写作目的 通过对不同深度学习框架的学习,简单谈谈不同框架的区别。仅供参考。对不同框架讲解的顺序,依据笔者对不同框架的学习顺寻。 1. Caffe Caffe作为入门级的深度学习框架,对于一般的深度学习任务,如图像分类/ 目标检测/ 实例分割等,存在已有的代码供大家参考,使得上手很快,需...

2018-08-21 20:54:06

阅读数 2566

评论数 0

原创 基于tensorflow的MNIST探索(基于图像版本的实现与探索)——如何读取较大数据集进行训练(一)

目录   0. 写作目的 1. 前言 2. 即用即读的训练方式 2.1 数据的准备 2.2 读取数据的类 3. 进行训练(TensorFlow) 3.1 训练的网络 3.2 训练的结果 0. 写作目的 好记性不如烂笔头。 1. 前言 对于较小的数据处理时,我们可以完全读入...

2018-08-21 18:19:23

阅读数 199

评论数 0

原创 PyTorch 分类实现(MNIST)——read data from Image

0. 写作目的 好记性不如烂笔头。 1. 直接上代码 #!/usr/bin/env python # _*_ coding:utf-8 _*_ import torch import torch.nn as nn ## 各层类型的实现 import torch.nn.function...

2018-08-21 17:46:16

阅读数 305

评论数 0

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