C++程序
MingDaYeDe
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从交叉熵角度理解caffe中softmax_loss层
一、Caffe中的多分类损失函数采用SoftmaxWithLoss层来计算; 损失函数采用的是交叉熵: (1)其中,k为真是的标签,ak表示每个标签的值,而经过softmax()之后,则返回每一个标签的概率,N表示一个批量的大小, 若去掉批量的概念,即 批量数量为1, 可以理解为只输入一张图片, 来确认它的分类, 则损失函数变为:原创 2017-10-27 14:35:27 · 1141 阅读 · 0 评论 -
C++的标准输出和读写文件
作为第一篇博客,本想写点对深度学习的理解, 但是基于码农的考虑,还是先写“hello word”的一些思考吧。 说一说标准输入输出和文件读写的相似和不同吧, 请看下面代码: #include int main() { std::cout<<"hello world!"<<std::endl;原创 2017-10-20 19:04:24 · 1102 阅读 · 0 评论 -
C++中的static关键字的总结
C++中的static关键字的总结 C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。1.面向过程设计中的static1.1静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下://Example 1#i转载 2017-10-30 16:08:08 · 245 阅读 · 0 评论 -
numa的内存按节点分配和线程绑定
前段时间在做1.5亿条数据的比对, 需要多线程和内存的访问问题, 由于内存的访问与numa节点的分配有关,即:cpu访问本地节点的内存速度要快。现将numa的几个库函数做一下说明:int main(){ if(numa_available()<0) { printf("your system does not support numa api \n"); return原创 2017-10-23 16:40:14 · 12140 阅读 · 1 评论 -
caffe的softmax层原理及代码解析
一、 在多分类模型中, 常使用softmax分类,它是logistic模型的推广, 将输出映射成概率,在(0,1)之间, 并能够起到突出最大值的作用。 e指数曲线原创 2017-11-08 19:22:51 · 2602 阅读 · 2 评论 -
caffe源码解析之Blob 及Python和C++接口调用
一、Blob到底是什么东西? 可以理解Blob就是个4维数组,n*c*h*w;每个维度分别表示批处理数量,通道个数,高度和宽度; 这个4维数组的存在形式是以类的形式存在,可以理解为blob就是个数据存储容器。二、Blob的数据成员 protected: shared_ptr data_; shared_ptr diff_; shared_pt原创 2017-10-31 16:02:59 · 891 阅读 · 0 评论 -
caffe之Data_Layer层代码解析
一、 caffe的数据输入层, 根据不同的输入方式有不同的层, 因为本人最早接触的是通过lmdb数据库输入数据,而lmdb对应这DataLayer层, 其实还有一个常用的就是ImageDataLayer层, 这个层 可以直接输入图片的路径, 而不需转换。 上面这张图, 反应输入层的继承关系和不同层次关系, 可见: DataLayer层 继承自BasePrefetchingDataLa原创 2017-11-06 17:49:00 · 2817 阅读 · 1 评论
分享