自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (1)
  • 收藏
  • 关注

原创 “const char *“ 类型的值不能用于初始化 “char *“ 类型的实体的

c++学习

2022-06-14 14:22:55 519 1

原创 时间测试程序

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 128

转载 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 14646 1

原创 linux中运行找不到.so文件

如果使用自己手动生成的动态链接库.so文件,但是这个.so文件,没有加入库文件搜索路劲中,程序运行时可能会出现找不到动态链接库的情形。可以通过ldd命名来查看可执行文件依赖的动态链接库,如下(其中D为可执行程序):其中的libjson_linux-gcc-4.6_libmt.so cannot found。解决这个问题:(1)在系统中查找这个文件(当然要保证系统中已经有这个...

2019-05-28 22:12:49 873 1

转载 Cmake知识----编写CMakeLists.txt文件编译C/C++程序

1.CMake编译原理CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so(shared object))。因此CMake的编译基本就两个步骤:1. cmake2...

2019-05-12 16:51:04 315

转载 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 1542

转载 Linux下包含头文件的路径问题与动态库链接路径问题

C/C++程序在linux下被编译和连接时,GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径。自己指定的路径就不说了,这里说明一下系统自动搜索的路径。【1】include头文件路径除了默认的/usr/include, /usr/local/include等include路径外,还可以通过设置环境变量来添加系统include的路径:# Cexpor...

2019-04-11 15:41:01 762

转载 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 385

转载 opencv3.3调用 caffe 模型进行手写数字的分类

一、按照下面步骤修改caffe-master\examples\mnist文件夹中的lenet_train_test.prototxt 文件1、去掉数据输入层,即将top 为 “data” 的layers 去掉。 即将下面的内容删掉layer { name: "mnist" type: "Data" top: "data" top: "label"...

2019-03-26 15:58:58 405

原创 c++中的std 中的function模板类

我也不知道这是为什么1.仿函数:又叫std::function,是C++中的一个模板类2.C语言中的函数指针:int add(int a,int b){  return a+b;}typedefint (*func)(int,int);//给函数类型定义别名func func1;func1=add;//给函数指针初始化或者int (*func1)...

2019-03-25 21:47:32 2049

转载 opencv中的数据结构总结

好久没用opencv了,发现之前的学的都忘记了,总结一下。参考地址:https://blog.csdn.net/u010830004/article/details/54406806https://blog.csdn.net/iracer/article/details/51292349https://blog.csdn.net/liukun321/article/details/38...

2019-03-13 15:09:56 198

转载 caffe中一些比较特殊的层

在刷编程题的时候,可能大家也经常遇到题目要求do in-place。起初并未在意,主要是即使没有按照要求实现,也可以AC,但总觉得有些投机取巧的嫌疑。所以就上网搜了相关概念,简单总结一下。  in-place操作,意思是所有的操作都是”就地“操作,不允许进行移动,或者称作 原位操作,即不允许使用临时变量。  举个例子,大家经常写也经常用到的"交换两个数的值":// 设置初始值int ...

2019-03-11 16:12:25 250

原创 c++中vector中的 resize()与reserve()的区别

resize(),设置大小(size);reserve(),设置容量(capacity);size()是分配容器的内存大小,而capacity()只是设置容器容量大小,但并没有真正分配内存。打个比方:正在建造的一辆公交车,车里面可以设置40个座椅(reserve(40);),这是它的容量,但并不是说它里面就有了40个座椅,只能说明这部车内部空间大小可以放得下40张座椅而已。而车里面安装了40...

2019-03-09 16:30:11 708

转载 图像通道之间的变换

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 2543

原创 TensorRT(回忆图像中的像素访问)

此文章只作为复习所用,勿喷。Mat在内存中存储形式  灰度图的存储形式      RGB的存储形式  一般情况下,Mat是连续存储的,按行连接。可以通过isContinuous()函数,判断矩阵是否连续存储,若连续返回true。参考:https://www.cnblogs.com/kuotian/p/6389260.html刚开始接触到OpenCV,本...

2019-03-05 22:07:49 878

原创 C++中的文件操作总结

c++中的printf和fprintfprintf("%s",stringVar) &lt;===&gt;fprintf(stdout,"%s",stringVar)printf是对fprintf的另一层包含使用,printf其实就是fprintf的第一个参数设置为stdout。printf默认了操作的文件为标准输出文件stdout,而fprintf可以指定第一个参数为操作的文件,...

2019-03-03 18:58:20 670

转载 caffe中的solver参数详解

caffe solver参数意义与设置batchsize:每迭代一次,网络训练图片的数量,例如:如果你的batchsize=256,则你的网络每迭代一次,训练256张图片;则,如果你的总图片张数为1280000张,则要想将你所有的图片通过网络训练一次,则需要1280000/256=5000次迭代。epoch:表示将所有图片在你的网络中训练一次所需要的迭代次数,如上面的例子:5000次;我们...

2019-02-19 16:23:49 329

转载 C++中的this指针与python中的self

C++类中this指针的理解先要理解class的意思。class应该理解为一种类型,象int,char一样,是用户自定义的类型。用这个类型可以来声明一个变量,比如int x, myclass my等等。这样就像变量x具有int类型一样,变量my具有myclass类型。理解了这个,就好解释this了,my里的this 就是指向my的指针。如果还有一个变量myclass mz,mz的this就是指...

2019-02-14 15:29:37 4625 4

原创 Caffe中的Blob数据结构

Blob是caffe最基础的数据结构。它有4维[num_,channels_,height_,width_]我们通过代码来看看#include &lt;vector&gt;#include &lt;iostream&gt;#include &lt;caffe/blob.hpp&gt;using namespace caffe;using namespace std;int ma...

2019-01-23 11:11:11 1233

转载 图像均值与像素均值的区别

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 12093 2

原创 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 801

原创 MFC中多线程的函数参数的传递问题

DWORD WINAPI MyThreadProc (LPVOID lpParam){ somestruct* pN = (somestruct*)lpParam; // 将参数转为你的类型 ... return 0;}创建命令以及各个参数说明:HANDLE hThread = CreateThread( ...

2019-01-14 09:36:37 1270

转载 反卷积网络

 反卷积(Deconvolution)的概念第一次出现是Zeiler在2010年发表的论文Deconvolutional networks中,但是并没有指定反卷积这个名字,反卷积这个术语正式的使用是在其之后的工作中(Adaptive deconvolutional networks for mid and high level feature learning)。随着反卷积在神经网络可视...

2019-01-09 15:42:09 2606

原创 C++文件流的输入与输出

1.引入头文件fstreamfstream头文件定义了用于文件输入的类ifstream和文件输出的类ofstream2.写文件1)创建一个ofstream对象来管理输出流2)将该对象与文件关联起来3)使用cout方式使用该对象,唯一区别是输出将进入文件,而不是屏幕。4)关闭到文件的连接示例如下:ofstream fout;fout.open("test.txt");fou...

2019-01-07 16:40:25 1114

转载 递归的思想

1. 介绍一说起递归,我想每个人都不陌生。举个从小就听过的例子:从前有座山,山里有座庙,庙里有个和尚,和尚在讲故事,从前有座山,山里有座庙,庙里有个和尚,和尚在讲故事,从前有座山...还有你从两面相对的镜子中看到的画面,其实都是抽象出来的递归现象,但是严格来说并不是递归,因为会一直重复下去,没有终止条件,那就称为死循环了。有关递归和死循环的异同我们之后会说到,那么现在先来了解一下什么是递归...

2019-01-04 18:00:14 209 5

转载 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 1185

原创 caffe中的图像卷积操作

im2col是用来优化卷积运算的,它的核心是将卷积核感受野部分转化成一行(列)来存储,优化运算速度,减少内存访问时间。这其实主要取决于我们使用的框架访存的方式。计算机一次性读取相近的内存是最快的,尤其是当需要把数据送到GPU去计算的时候,这样可以节省访存的时间,以达到加速的目的。不同框架的访存机制不一样,所以会有行列相反这样的区别下面讲一下,caffe中的实现。Caffe中的卷积计...

2018-12-26 16:45:58 615

原创 卷积神经网络 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 5471

转载 深度学习.ai(词典)

本文旨在解释深度学习的一些常用术语,尤其是吴恩达在deeplearning.ai的Coursera课程中会频繁提到的重要词汇。 Activation Function(激活函数) 激活函数的作用是对输入执行非线性变换,将输入乘以权重并添加到偏置项中。目前最常用的激活函数有ReLU、tanh和sigmoid。 打开百度App,看更多美图 Adam Optimizati...

2018-12-25 15:14:51 880

原创 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 834

转载 windows下对文件夹下的图片重命名(C++,Python代码)

原文件夹重命名之后C++#include &lt;iostream&gt;  #include &lt;io.h&gt;  //对系统文件进行操作的头文件#include &lt;string&gt;  #include &lt;sstream&gt;#include&lt;vector&gt;using namespace std;const int N = 6; ...

2018-12-24 18:28:04 827

转载 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 395

转载 卷积神经网络中的参数计算

卷积神经网络是一个多层的神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成。       图:卷积神经网络的概念示范:输入图像通过和三个可训练的滤波器和可加偏置进行卷积,滤波过程如图一,卷积后在C1层产生三个特征映射图,然后特征映射图中每组的四个像素再进行求和,加权值,加偏置,通过一个Sigmoid函数得到三个S2层的特征映射图。这些映射图再进过滤波得到C3层。这个层级结构...

2018-12-24 18:26:33 563

转载 TensorFlow写卷积神经网络程序与PCA降维

(一)卷积神经网络结构+最终的识别精度。用Tensorflow实现一个完整的卷积神经网络,用这个卷积神经网络来识别手写数字数据集(MNIST)。我们先来看看实现的卷积神经网络结构如下图所示:接着,我们再来看看实现的这个卷积神经网络,在MNIST数据集中的测试集上的精度。我用了两种优化训练方法,对模型训练了1000次,在训练1000的过程中,每隔50次进行一次模型的精度测试。(1)批...

2018-12-24 18:26:16 3575 5

原创 Pyhon中的类继承(Super的用法)

# -*- coding:utf-8 -*-# 面向对象编程的三个特点:封装、继承、多态# 函数是封装代码的基本单位,类和对象的封装是属于更高级的封装方式 ,在类中经常会声明一些对象属性,用来保存数据的,在类中声明的函数,是用来操作数据的,不同的功能可以封装成不同的函数# 继承 特点:# 1.子类继承父类,子类拥有父类的所有属性和函数,但是父类不可以使用子类独有的属性函数# 2.子...

2018-12-23 15:15:41 168

原创 opencv 中的Mask 抠图操作

// masktest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include &lt;opencv2/core/core.hpp&gt;#include "opencv2/imgproc/imgproc.hpp"#include &lt;opencv2/highgui/highgui.hpp&gt;#include &lt;iostrea...

2018-12-20 16:42:44 4532

原创 多通道图像卷积与参数计算

对于单通道图像,若利用10个卷积核进行卷积计算,可以得到10个特征图;若输入为多通道图像,则输出特征图的个数依然是卷积核的个数(10个)。 1.单通道多个卷积核卷积计算 一个卷积核得到的特征提取是不充分的,我们可以添加多个卷积核,比如32个卷积核,从而可以学习32种特征。2.多通道多个卷积核卷积计算 图片:假设图片的宽度为width:W,高度为height:H,图片的通道数为D,...

2018-12-19 17:54:23 6304 2

原创 人脸检测级联分类器

对于人脸识别这种类型的应用来说,通常都会分为几个步骤: 人脸检测(Face Detection)。检测到人脸所在的区域。并进行一系列的矫正。 人脸校准(Face Alignment)。人脸校准指的是在图片中寻找到鼻子、眼睛、嘴巴之类的位置。   Face Detect &amp; align   如图中,红色的框是在进行检测,白色的点是在进行校准。 信息...

2018-12-19 15:12:26 1441

原创 Python命令行输入参数运行.py程序

在运维过程中,有些时候需要向main函数中传递参数,以方便运维与测试,那么怎么向main函数中传入多个参数呢,下面以python3中的main函数为例,简单讲一下。首先我们需要import sys,sys是python3的一个标准库,也就是一个官方的模块。封装了一些系统的信息和接口,然后再说说argv这个变量。「argv」是「argument variable」参数变量的简写形式,一般在命令行...

2018-12-17 14:07:02 9295

原创 Anaconda3中配置opencv接口

一、在 Anaconda2 中配置 OpenCV解压 opencv,添加系统环境变量,计算机--&gt;右键属性--&gt;高级系统设置--&gt;环境变量--&gt;系统变量--&gt;编辑path--&gt;添加 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 826

KNN算法的代码实现

用Python3.5实现的KNN算法,Python2只要去掉print的括号就可以正常使用

2017-11-25

空空如也

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

TA关注的人

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