深度学习
文章平均质量分 61
liuxiangxxl
简单温柔一心向上就是我~
展开
-
时间测试程序
CUDA将GPU称为设备,将CPU称为主机,一般的计算方式是将数据从内存拷贝进GPU内存(显存),通过GPU计算再拷回内存中。下面的代码是一个经典的通过GPU进行的向量加法运算#include<cuda_runtime.h> #include<windows.h> #include<iostream> usingnamespacestd; constintnMax=30000; __global__voidaddKer...原创 2021-12-10 16:42:55 · 130 阅读 · 0 评论 -
CUDA编程基础
Memory操作cuda程序将系统区分成host和device,二者有各自的memory。kernel可以操作device memory,为了能很好的控制device端内存,CUDA提供了几个内存操作函数:为了保证和易于学习,CUDA C 的风格跟C很接近,比如:cudaError_t cudaMalloc ( void** devPtr, size_t size )我们主要...转载 2019-04-01 20:46:26 · 387 阅读 · 0 评论 -
图像均值与像素均值的区别
1.什么是均值?对于每帧图像来说,均值分为两种:image mean 和 pixel mean。image mean: 简单的说,读入一张彩色图像,假设是(N*N*3),这时候,求出image mean的话,就也是N*N*3,相当于把所有训练集在同一个空间位置上的像素的对应通道求了均值,也就是caffe里生成的mean.binaryproto文件,pixel mean: 而pixel...转载 2019-01-23 10:16:54 · 12128 阅读 · 2 评论 -
Caffe中的Blob数据结构
Blob是caffe最基础的数据结构。它有4维[num_,channels_,height_,width_]我们通过代码来看看#include <vector>#include <iostream>#include <caffe/blob.hpp>using namespace caffe;using namespace std;int ma...原创 2019-01-23 11:11:11 · 1238 阅读 · 0 评论 -
caffe中的solver参数详解
caffe solver参数意义与设置batchsize:每迭代一次,网络训练图片的数量,例如:如果你的batchsize=256,则你的网络每迭代一次,训练256张图片;则,如果你的总图片张数为1280000张,则要想将你所有的图片通过网络训练一次,则需要1280000/256=5000次迭代。epoch:表示将所有图片在你的网络中训练一次所需要的迭代次数,如上面的例子:5000次;我们...转载 2019-02-19 16:23:49 · 329 阅读 · 0 评论 -
图像通道之间的变换
TensorFlow有两种数据格式NHWC和NCHW,默认的数据格式是NHWC,可以通过参数data_format指定数据格式。这个参数规定了 input Tensor 和 output Tensor 的排列方式。1、data_format设置为 “NHWC” 时,排列顺序为 [batch, height, width, channels]设置为 “NCHW” 时,排列顺序为 [batc...转载 2019-03-08 16:48:20 · 2551 阅读 · 0 评论 -
caffe中一些比较特殊的层
在刷编程题的时候,可能大家也经常遇到题目要求do in-place。起初并未在意,主要是即使没有按照要求实现,也可以AC,但总觉得有些投机取巧的嫌疑。所以就上网搜了相关概念,简单总结一下。 in-place操作,意思是所有的操作都是”就地“操作,不允许进行移动,或者称作 原位操作,即不允许使用临时变量。 举个例子,大家经常写也经常用到的"交换两个数的值":// 设置初始值int ...转载 2019-03-11 16:12:25 · 251 阅读 · 0 评论 -
NIN网络和1X1卷积的原理
深度学习 CNN卷积神经网络 LeNet-5详解https://blog.csdn.net/happyorg/article/details/78274066卷积神经网络之NiN(2013)https://blog.csdn.net/P_LarT/article/details/83821743【机器学习】关于CNN中1×1卷积核和Network in Network的理解ht...原创 2019-01-15 14:49:53 · 804 阅读 · 0 评论 -
反卷积网络
反卷积(Deconvolution)的概念第一次出现是Zeiler在2010年发表的论文Deconvolutional networks中,但是并没有指定反卷积这个名字,反卷积这个术语正式的使用是在其之后的工作中(Adaptive deconvolutional networks for mid and high level feature learning)。随着反卷积在神经网络可视...转载 2019-01-09 15:42:09 · 2613 阅读 · 0 评论 -
卷积神经网络 Batch Normalization作用与原理
tensorflow中的BN的计算过程模型图 为了activation能更有效地使用输入信息,所以一般BN放在激活函数之前。 一个batch里的128个图,经过一个64 kernels卷积层处理,得到了128×64个图,再针对每一个kernel所对应的128个图,求它们所有像素的mean和variance,因为总共有64个kernels,输出的结果就是一个一维长度64的数组啦!最后输...原创 2018-12-25 15:17:08 · 5488 阅读 · 0 评论 -
深度学习.ai(词典)
本文旨在解释深度学习的一些常用术语,尤其是吴恩达在deeplearning.ai的Coursera课程中会频繁提到的重要词汇。 Activation Function(激活函数) 激活函数的作用是对输入执行非线性变换,将输入乘以权重并添加到偏置项中。目前最常用的激活函数有ReLU、tanh和sigmoid。 打开百度App,看更多美图 Adam Optimizati...转载 2018-12-25 15:14:51 · 880 阅读 · 0 评论 -
tensorflow 版本的问题
Failed to get convolution algorithm. This is probably because cuDNN failed to initialize 电脑GPU下跑算法时出现上述问题,经过百度发现是装的tensorfow的版本问题 本机装的tensorflow为1.12的版本目前版本的TensorFlow的ObjectDection中,使用tensorflow-...原创 2018-12-25 14:26:02 · 835 阅读 · 0 评论 -
tensorflow中的tf.nn.conv2d函数
tf.nn.conv2d是TensorFlow里面实现卷积的函数,参考文档对它的介绍并不是很详细,实际上这是搭建卷积神经网络比较核心的一个方法,非常重要tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None)除去name参数用以指定该操作的name,与方法有关的一共五个参数:第一个参数...转载 2018-12-24 18:27:50 · 398 阅读 · 0 评论 -
pytorch 中tensor在CPU和GPU之间转换
1. CPU tensor转GPU tensor:cpu_imgs.cuda()2. GPU tensor 转CPU tensor:gpu_imgs.cpu()3. numpy转为CPU tensor:torch.from_numpy( imgs )4.CPU tensor转为numpy数据:cpu_imgs.numpy()5. note:GPU tensor不能直接转为n...转载 2019-07-18 23:22:05 · 14660 阅读 · 1 评论 -
linux中运行找不到.so文件
如果使用自己手动生成的动态链接库.so文件,但是这个.so文件,没有加入库文件搜索路劲中,程序运行时可能会出现找不到动态链接库的情形。可以通过ldd命名来查看可执行文件依赖的动态链接库,如下(其中D为可执行程序):其中的libjson_linux-gcc-4.6_libmt.so cannot found。解决这个问题:(1)在系统中查找这个文件(当然要保证系统中已经有这个...原创 2019-05-28 22:12:49 · 875 阅读 · 1 评论 -
Concat层和Eltwise层对比解析
Concat层解析Concat层的作用就是将两个及以上的特征图按照在channel或num维度上进行拼接,并没有eltwise层的运算操作,举个例子,如果说是在channel维度上进行拼接conv_9和deconv_9的话,首先除了channel维度可以不一样,其余维度必须一致(也就是num、H、W一致),这时候所做的操作仅仅是conv_9 的channel k1加上deconv_9的chan...转载 2019-04-17 22:18:05 · 1545 阅读 · 0 评论 -
Pyhon中的类继承(Super的用法)
# -*- coding:utf-8 -*-# 面向对象编程的三个特点:封装、继承、多态# 函数是封装代码的基本单位,类和对象的封装是属于更高级的封装方式 ,在类中经常会声明一些对象属性,用来保存数据的,在类中声明的函数,是用来操作数据的,不同的功能可以封装成不同的函数# 继承 特点:# 1.子类继承父类,子类拥有父类的所有属性和函数,但是父类不可以使用子类独有的属性函数# 2.子...原创 2018-12-23 15:15:41 · 168 阅读 · 0 评论 -
caffe 提取特征caffe接口
//CaffeExFeat.h#ifndef CAFFEEXFEAT_H #define CAFFEEXFEAT_H #include "caffe/caffe.hpp"#include <string>#include <vector>#include "opencv2/opencv.hpp" https://blog.csdn.net/AP1005834...转载 2018-12-11 15:07:52 · 246 阅读 · 0 评论 -
Python命令行输入参数运行.py程序
在运维过程中,有些时候需要向main函数中传递参数,以方便运维与测试,那么怎么向main函数中传入多个参数呢,下面以python3中的main函数为例,简单讲一下。首先我们需要import sys,sys是python3的一个标准库,也就是一个官方的模块。封装了一些系统的信息和接口,然后再说说argv这个变量。「argv」是「argument variable」参数变量的简写形式,一般在命令行...原创 2018-12-17 14:07:02 · 9301 阅读 · 0 评论 -
C语言实现RNN项目时遇到的一些问题
#include<stdio.h>void main(){ FILE *fw=fopen("D:\\data.txt","r"); int i,j,a[4][5]; for(i=0;i<4;i++) { for(j=0;j<5;j++) { fscanf(fw,"%d",&a...原创 2018-08-23 16:59:02 · 758 阅读 · 0 评论 -
windows 下使用 Anaconda3 安装 PyTorch (CPU版本)
安装的基本配置如下:windows 8.1 + Anaconda3 + Python3.6 + CPU默认已安装好 Anaconda3,并创建了 python3.6 的环境如果不清楚Anaconda的安装及使用,可先参考https://www.jianshu.com/p/eaee1fadc1e9按照上述网址给出的方法,安装并创建好python3.6的环境 一、官网...原创 2018-08-10 09:30:12 · 3006 阅读 · 0 评论 -
Tensorflow 中的矩阵和向量
真的很粗心啊!!刚玩Tensorflow总是会犯这种低级错误!转载地址:https://blog.csdn.net/weixin_42147780/article/details/81117734只要明确如下两句话基本可以摆脱这种小毛病。1.TensorFlow用张量这种数据结构来表示所有的数据。2.一个二阶张量就是我们平常所说的矩阵,一阶张量可以认为是一个向量。如果不细心就总...转载 2018-08-31 11:13:50 · 2991 阅读 · 0 评论 -
NIN 算法原理解读
NIN (Network In Network)Network In Network论文Network In Network(Min Lin, ICLR2014).传统CNN使用的线性滤波器是一种广义线性模型(Generalized linear model,GLM)。所以用CNN进行特征提取时,其实就隐含地假设了特征是线性可分的,可实际问题往往是难以线性可分的。CNN中通过堆加卷积过...转载 2018-12-27 15:38:57 · 1188 阅读 · 0 评论 -
windows下对文件夹下的图片重命名(C++,Python代码)
原文件夹重命名之后C++#include <iostream> #include <io.h> //对系统文件进行操作的头文件#include <string> #include <sstream>#include<vector>using namespace std;const int N = 6; ...转载 2018-12-24 18:28:04 · 827 阅读 · 0 评论 -
caffe中的图像卷积操作
im2col是用来优化卷积运算的,它的核心是将卷积核感受野部分转化成一行(列)来存储,优化运算速度,减少内存访问时间。这其实主要取决于我们使用的框架访存的方式。计算机一次性读取相近的内存是最快的,尤其是当需要把数据送到GPU去计算的时候,这样可以节省访存的时间,以达到加速的目的。不同框架的访存机制不一样,所以会有行列相反这样的区别下面讲一下,caffe中的实现。Caffe中的卷积计...原创 2018-12-26 16:45:58 · 616 阅读 · 0 评论 -
卷积神经网络中的参数计算
卷积神经网络是一个多层的神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成。 图:卷积神经网络的概念示范:输入图像通过和三个可训练的滤波器和可加偏置进行卷积,滤波过程如图一,卷积后在C1层产生三个特征映射图,然后特征映射图中每组的四个像素再进行求和,加权值,加偏置,通过一个Sigmoid函数得到三个S2层的特征映射图。这些映射图再进过滤波得到C3层。这个层级结构...转载 2018-12-24 18:26:33 · 566 阅读 · 0 评论 -
Anaconda3中配置opencv接口
一、在 Anaconda2 中配置 OpenCV解压 opencv,添加系统环境变量,计算机-->右键属性-->高级系统设置-->环境变量-->系统变量-->编辑path-->添加 F:\Program Files (x86)\opencv-3.2.0-vc14\build\x64\vc14\bin拷贝 opencv/build/python/2.7/x...原创 2018-12-15 11:49:36 · 828 阅读 · 0 评论 -
精确率,查准率,召回率
精确率(Precision),又称为“查准率”。召回率(Recall),又称为“查全率”。召回率和精确率是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。其中召回率是是检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。精确率是检索出的相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率。如以下公式所示: 召回率(...转载 2018-12-15 10:10:54 · 594 阅读 · 0 评论 -
TensorFlow写卷积神经网络程序与PCA降维
(一)卷积神经网络结构+最终的识别精度。用Tensorflow实现一个完整的卷积神经网络,用这个卷积神经网络来识别手写数字数据集(MNIST)。我们先来看看实现的卷积神经网络结构如下图所示:接着,我们再来看看实现的这个卷积神经网络,在MNIST数据集中的测试集上的精度。我用了两种优化训练方法,对模型训练了1000次,在训练1000的过程中,每隔50次进行一次模型的精度测试。(1)批...转载 2018-12-24 18:26:16 · 3582 阅读 · 5 评论 -
多通道图像卷积与参数计算
对于单通道图像,若利用10个卷积核进行卷积计算,可以得到10个特征图;若输入为多通道图像,则输出特征图的个数依然是卷积核的个数(10个)。 1.单通道多个卷积核卷积计算 一个卷积核得到的特征提取是不充分的,我们可以添加多个卷积核,比如32个卷积核,从而可以学习32种特征。2.多通道多个卷积核卷积计算 图片:假设图片的宽度为width:W,高度为height:H,图片的通道数为D,...原创 2018-12-19 17:54:23 · 6372 阅读 · 2 评论 -
计算机视觉牛人博客
1、小魏的修行路 http://blog.csdn.net/xiaowei_cqu 2、晨宇思远(邹宇华 北京航空航天大学) http://blog.csdn.net/chenyusiyuan 3、Rachel Zhang(张睿卿)的博客 http://blog.csdn.net/abcjennifer 4、zouxy09(邹晓艺) 华南理工大学 http://blog.csdn...原创 2018-12-13 16:45:19 · 262 阅读 · 0 评论 -
人脸检测级联分类器
对于人脸识别这种类型的应用来说,通常都会分为几个步骤: 人脸检测(Face Detection)。检测到人脸所在的区域。并进行一系列的矫正。 人脸校准(Face Alignment)。人脸校准指的是在图片中寻找到鼻子、眼睛、嘴巴之类的位置。 Face Detect & align 如图中,红色的框是在进行检测,白色的点是在进行校准。 信息...原创 2018-12-19 15:12:26 · 1447 阅读 · 0 评论 -
用GPU加速tensorflow
TensorFlow程序可以通过tf.device函数来指定运行每一个操作的设备,这个设备可以是本地的CPU或者GPU,也可以是某一台远程的服务器。但在本文中只关心本地的设备。TensorFlow会给每一个可用的设备一个名称,tf.device函数可以通过设备的名称来指定执行运算的设备。比如CPU在TensorFlow中的名称为/cpu:0。在默认情况下,即使机器有多个CPU,TensorFlow...转载 2018-12-05 15:28:58 · 223 阅读 · 0 评论 -
一维信号卷积与图像卷积的区别
基础概念: 卷积神经网络(CNN):属于人工神经网络的一种,它的权值共享的网络结构显著降低了模型的复杂度,减少了权值的数量。卷积神经网络不像传统的识别算法一样,需要对数据进行特征提取和数据重建,可以直接将图片作为网络的输入,自动提取特征,并且对图形的变形等具有高度不变形。在语音分析和图像识别领域有重要用途。 卷积:卷积是泛函分析中的一种积分变换的数学方法,通过两个函数 f 和 g 生成...转载 2018-12-05 14:52:26 · 9406 阅读 · 0 评论 -
tf 学习遇到的问题
使用的是pycharm。报错信息如图所示: 分析: 一般来说HTTP Error 403: Forbidden是因为爬虫被限制,解释一下为什么会报关于url的错。from tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets('MNIST_data', one_...原创 2018-12-02 21:22:32 · 321 阅读 · 1 评论 -
Caffe中的数据转换
1.cv2.imread()和caffe.io.loadimage的区别https://blog.csdn.net/lovelyaiq/article/details/70254583使用opencv和caffe的伙伴们,可能会有一个疑问,那就是对于同时读取图片的cv2.imread()和caffe.io.loadimage两个函数,有什么差别?1、cv2.imread()接口读图像,...转载 2018-11-29 11:22:22 · 368 阅读 · 0 评论