- 博客(137)
- 资源 (7)
- 收藏
- 关注
原创 caffe编译依赖
caffe依赖apt install libprotobuf-dev protobuf-compilerapt install libgflags-devapt install libgoogle-glog-devapt install libatlas-base-devapt install libhdf5-serial-devapt install liblmdb-devapt install libleveldb-devapt install libsnappy-dev
2021-05-28 13:32:38 166
原创 图像对比度增强
图像对比度增强1. 线性变换通过y=ax+b对灰度值进行处理,例如对于过暗的图片,其灰度分布在[0,100], 选择a=2,b=10能将灰度范围拉伸到[10, 210]。需要根据情况设置a和b的值。cv2.convertScaleAbs(img,alpha=1.5,beta=0)2. 直方图正规化自动计算y=ax+b中的a和b,实际上就是将图像从[min, max]映射到[0, 255]:cv2.normalize(img,dst=None,alpha=350,beta=10,norm_t
2021-05-24 17:23:31 758
原创 查看各种信息
查看各种信息Linux系统信息CPU信息(型号)物理CPU个数每个物理CPU中core的个数(即核数)逻辑CPU的个数内存信息Linux 内核linux 系统版本机器型号(机器硬件型号)Linux系统信息CPU信息(型号)cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c物理CPU个数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l每个物理CPU中core的个数(即核数)
2021-05-13 10:14:34 237
原创 Pytorch分布式训练(单机多卡)
主要两种方式:DataParallel和DistributedDataParallelDataParallel实现简单,但速度较慢,且存在负载不均衡的问题。DistributedDataParallel本身是实现多机多卡的,但单机多卡也可以使用,配置稍复杂。demo如下:DataParallelimport torchimport torch.nn as nnfrom torch.autograd import Variablefrom torch.utils.data import Data
2020-09-21 16:41:45 4184 2
原创 关于Softmax
基本公式:Si=ezi∑j=0Cezj S_i = \frac{e^{z_i}}{\sum_{j=0}^C{e^{z_j}}}Si=∑j=0Cezjezi其中,输入zzz为一个C维向量,输出SSS也是一个C维向量,这里的C通常就是分类里面的类别数量。公式的分母对于每个输出SiS_iSi都是一样的,区别只在于分子ezie^{z_i}ezi,从这个角度看softmax就有点类似于归一化操作,实际效果也是把任意范围的输入变成[-1,1]的输出(维度不变)。图像如下:softmax交叉熵
2020-05-11 19:25:20 183
原创 Opencv 形态学操作
形态学操作:使图像的形态发生改变的操作目的:用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的常用操作:膨胀、腐蚀、开操作、闭操作,梯度计算,顶帽变换,黑帽变换等应用场景:消除噪声、边界提取、区域填充、连通分量提取、凸壳、细化、粗化等;分割出独立的图像元素,或者图像中相邻的元素;求取图像中明显的极大值区域和极小值区域;求取图像梯度kernel:每次操作的范围...
2020-04-08 17:56:45 477
原创 姿态估计(人体关键点检测)之CPN
CPN:Cascaded Pyramid Network for Multi-Person Pose Estimation官方代码:https://github.com/chenyilun95/tf-cpn整体框架:此方法为TOP-DOWN方法,需依赖另一个人体检测模型,先把人体检测出来,再用此模型进行关键点检测。模型分为两大部分,一部分是Globalnet,主体是resnet,负责初步检...
2020-03-20 15:44:41 3195
原创 cmake findpackage 版本问题
专治cmake中findpackage的各种找不到问题,各种版本不对问题以重症患者protbuf为例。首先明确一点,findpackage的作用就是找到相关目录地址,并指定给相关变量。自动的找不着,我们手工指定就完了。step 1找到cmake目录,可以通过命令which cmake 定位。然后在cmake的根目录下找到share/cmake-x.xx/Modules/目录,找到Find...
2020-03-17 11:03:34 2378 1
原创 各种resize
opencvpythonresize(src, dsize, dst, fx, fy, interpolation)其中dsize和fx&fy二选一即可,dsize为(width, height)模式, interpolation为插值方式,默认为INTER_LINEAR代码插值方式INTER_NEAREST最近邻插值INTER_LINEAR双线...
2020-03-11 18:01:10 439
原创 tensorflow/keras 2 ncnn
以resnet50为例,记录tensorflow和keras模型转ncnn的过程resnet50 模型定义def identity_block(input_tensor, kernel_size, filters, stage, block): nb_filter1, nb_filter2, nb_filter3 = filters if K.image_dim_or...
2020-03-09 18:01:22 1221 5
原创 KMeans 聚类
import numpy as npimport matplotlib.pyplot as plt'''标志位统计递归运行次数'''flag = 0'''欧式距离'''def ecludDist(x, y): return np.sqrt(sum(np.square(np.array(x) - np.array(y))))'''曼哈顿距离'''def manhattan...
2019-08-12 17:14:56 164
原创 mnist demo
mnist demoimport tensorflow as tf slim = tf.contrib.slimfrom tensorflow.examples.tutorials.mnist import input_dataimport numpy as np mnist = input_data.read_data_sets('mnist', one_hot=True)num...
2019-08-12 17:04:47 219
原创 slim的train
文章目录函数定义参数args:Returns:基本流程模型恢复/初始化从checkpoint文件恢复模型用内存变量初始化"冻结"部分层非梯度更新函数定义tf.contrib.slim.learning.train_USE_DEFAULT=0def train(train_op, logdir, train_step_fn=train_step, ...
2019-06-13 00:02:50 552
原创 目标检测测评指标——mAP
文章目录精确度Average PrecisionPASCAL VOC 2007的APPASCAL VOC 2012mAP:mean Average Precision,简单翻译过来就是平均的平均精确度(没错,就是两个平均),首先是一个类别内,求平均精确度(Average Precision),然后对所有类别的平均精确度再求平均(mean Average Precision)。精确度对于简单的...
2019-04-28 22:09:26 14420 4
原创 SSD代码解读之三——net
文章目录结构实现关键函数结构实现在vgg16的基础上修改,使用slim实现,比较简单。超参数定义:def ssd_arg_scope(weight_decay=0.0005, data_format='NHWC'): with slim.arg_scope([slim.conv2d, slim.fully_connected], ...
2019-04-21 20:03:40 2117
原创 SSD代码解读之四——loss
文章目录相关参数实现过程相关参数loss的调用过程如下。ssd_net.losses(logits, localisations, b_gclasses, b_glocalisations, b_gscores, match_threshold=FLAGS.match_threshol...
2019-04-21 19:36:42 1981 4
原创 SSD代码解读之二——default box生成及标签整理
文章目录Default box生成(anchors)标签整理(bboxes_encode)Default box生成(anchors)Default box是对特定的feature map的每个点,生成特定数量、特定大小的box。生成的所有层的default box存入一个list中,每个feature map一个元素。def ssd_anchors_all_layers(img_shape...
2019-04-02 23:09:46 1825
原创 SSD原理解读
SSD解读优点网络结构抽取特征和预测过程:Default box生成规则正负样本选取——Hard negtive mining损失函数优点end to end,比yolo更准更快,比faster rcnn更快使用小的卷积滤波,在不同的feature map层预测bbox类别和bbox偏差可以在更小的输入图片中得到更好的结果网络结构基本网络: VGG16(stage1~stage...
2019-03-27 22:06:02 631
原创 二元分类中的各种评价指标
二元分类中的各种评价指标混淆矩阵1. 准确率 (accuracy)2. 错误率3. 召回率(recall)/灵敏度(sensitive)4. 特效度(specificity)5. 精确率、精度(Precision)6. 综合评价指标F-Measure混淆矩阵通过混淆矩阵来表示预测值和实际值之间的关系其中,TP表示预测结果为Positive且预测正确(实际类别也是Positive),FP表示...
2019-03-09 16:08:39 2096
原创 各种图片格式
主要介绍python和tensorflow中各种格式的图片处理 一、图片的读入 PIL.Image读入图片(RGB格式)from PIL import Imagedef PIL_open(): image=Image.open('lena.png') image.show() cv2读入图片 (GBR格式)import cv2d...
2019-03-01 22:19:40 1001
原创 子串相关问题
子串相关的问题直观的解法通常时间复杂度都比较高。如下模板可以借鉴解决很多相关问题:int findSubstring(string s){ vector<int> map(128,0); int counter; // check whether the substring is valid int begin=0, end...
2019-02-22 11:21:30 415
原创 梯度检验
原理:利用如下公式: 一方面,利用数字计算的方法,估算,另一方面,利用设计的梯度算法计算梯度,看两者是否近似,如果相差很小,说明梯度算法正确。 利用数字计算方法计算梯度: 计算单个变量:(f的返回值是一个数字,如loss)def eval_numerical_gradient(f, x, verbose=True, h=0.00001): ...
2019-01-30 22:53:14 938
原创 batch_norm
batch_norm对输入的每一个特征进行归一化,再进行缩放和平移(gamma和beta的作用) 这里主要记录其实现。 前向传播: 比较简单,就是求x的均值和方差,然后按如下公式求出 这里还记录了均值和方差的moving average,用于测试时使用。def batchnorm_forward(x, gamma, beta, bn_p...
2019-01-30 22:28:24 405
原创 Numpy one_hot
代码如下:n_classes = 10y = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])y_one_hot = (np.arange(n_classes) == y[:, None]).astype(np.float64) 其中用到的是numpy的广播机制和Boolean数组的转换 首先把y变成列矩阵In [34]...
2018-12-24 00:11:11 744
原创 常用损失函数
主要记录机器学习中的两大类任务(分类和回归)常用的损失函数一、分类问题1. Cross Entropy Loss(CE) 交叉熵损失,也叫Log Loss(两者等价,标签为{-1, 1}时为log loss, 标签为{0, 1}时为交叉熵) 原始的交叉熵公式如下,主要是衡量两个分布的相似程度,分布越相似,交叉熵越小。 对于二分类问题...
2018-11-19 23:20:23 8913
原创 Django用户认证
django的用户认证有很多方法,可以自己写,也有很多第三方的模块。本文记录的是使用Django自带的认证模块的方法,不需要任何其他第三方的包。 1、基本配置 新建好project后,检查settings.py,确保INSTALLED_APPS和MIDDLEWARE中,包含以下模块INSTALLED_APPS = [ # 其它应用列表... 'dj...
2018-10-18 10:52:48 2033
原创 Apache + Django环境搭建
环境:Macbook,conda,python2.71、安装mod_wsgi模块 通过pip安装:pip install mod_wsgi。网络上很多教程说通过homebrew安装或者通过源码安装,实测失败。 安装后的路径为:/Users/XXX/anaconda3/envs/djg/lib/python2.7/site-packages/mod_wsgi2、A...
2018-10-14 23:25:33 365
原创 数组:盛最多水的容器
给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 最直观、粗暴的方法:全遍历,时间复杂度为O(n^2)。 ...
2018-09-20 15:54:23 968
原创 tfrecord 基本用法
tfrecord格式是tensorflow官方推荐的数据格式,把数据、标签进行统一的存储 tfrecord文件包含了tf.train.Example 协议缓冲区(protocol buffer,协议缓冲区包含了特征 Features), 能让tensorflow更好的利用内存。 把某个文件夹的图片和标签存入同一个tfrecord文件,代码如下:def write(i...
2018-09-15 13:32:37 6011 7
原创 字符串:优势洗牌
给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述。求 A 的任意排列,使其相对于 B 的优势最大化。 示例一:输入:A = [2,7,11,15], B = [1,10,4,11],输出:[2,11,7,15] 示例二:输入:A = [12,24,8,32], B = [13,25,32,11]...
2018-09-13 15:54:20 402
原创 图像的变换
一、旋转 旋转的数学原理: 经过计算,可以得到以下关系: x′=xcosθ−ysinθ y′=xsinθ+ycosθ 写成矩阵的形式是: 或者是:(注意坐标按行的方式和按列的方式排列时,变换矩阵的左右位置不一样,矩阵中元素的位置也不一样。可以根据计算的实际过程来确定) 因此,如果知道旋...
2018-09-10 22:17:29 2129
原创 Tensorflow数据读取
目录 (1)Placeholder (2)队列的形式,建立从文件到tensor的映射 (3)tf 原生 Dataset API (4)slim.dataset (1)Placeholder Placeholder的方式比较简单,在设计计算图时把输入设置为占位符Placeholder,在执行计算时通过feed_dict来传入数据,数据的预处...
2018-08-11 20:26:28 819
原创 Ubuntu下的py-faster-rcnn配置
OS:ubuntu 16.04 LTS GPU:GTX 1070Ti(Nvidia驱动、cuda、cudnn已安装) Python:conda + python2.7 1、下载源码:git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git 2、在caffe-fast-...
2018-07-14 21:59:41 226
原创 Tensorflow模型保存与提取
1、tf.train.Saver类 tensorflow主要通过train.Saver类来保存和提取模型,该类定义在tensorflow/python/training/saver.py中 Saver的初始化参数如下:__init__(self, var_list=None, #一个字典,指定保存的对象列表,默认为None,即保存所有可保存对象 r...
2018-07-12 11:22:29 1546
原创 Tensorflow的Variable和get_variable
tf创建变量主要有两种方式:tf.Variable()(V大写)、tf.get_variable()。 1、tf.Variable() (1)每次调用得到的都是不同的变量,即使使用了相同的变量名,在底层实现的时候还是会为变量创建不同的别名var1 = tf.Variable(name='var', initial_value=[2], dtype=tf.float32)var...
2018-07-11 21:00:47 1766
原创 Tensorflow-gpu 版 faster-rcnn demo
经过一顿折腾,终于跑通了tensorflow版的faster rcnn,mark一下。 git源代码:git clone --recursive https://github.com/smallcorgi/Faster-RCNN_TF.git。这是github上面star最多的,也还有其他的实现,不过这个应该是最靠谱的。 进入Fater-RCNN/lib目录,执行ma...
2018-06-20 20:27:24 4795 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人