caffe中softmax loss源码阅读】的更多相关文章

(1) softmax loss <1> softmax loss的函数形式为:     (1) zi为softmax的输入,f(zi)为softmax的输出. <2> softmax loss对其输入zj求导:      (2) 如果j==k,则zk是变量,否则zj是变量. 和的导数等于导数的和,对和中某个元素求导的话有: (2) softmax_loss_layer.cpp中的Forward_cpu()函数: template <typename Dtype> vo…
1. batch norm 输入batch norm层的数据为[N, C, H, W], 该层计算得到均值为C个,方差为C个,输出数据为[N, C, H, W]. <1> 形象点说,均值的计算过程为: (1) 即对batch中相同索引的通道数取平均值,所以最终计算得到的均值为C个,方差的计算过程与此相同. <2> batch norm层的作用: a. 均值:(2) b. 方差:(3) c. 归一化:(4) 2. caffe中batch_norm_layer.cpp中的LayerSe…
Java 源码阅读的第一步是Collection框架源码,这也是面试基础中的基础: 针对Collection的源码阅读写一个系列的文章,本文是第三篇ArrayDeque. ---@pdai JDK版本 JDK 1.8.0_110 概述总结 ArrayDeque是可变长Array, 实现了Deque接口:Deque是"double ended queue", 表示双向的队列,英文读作"deck": Deque 继承自 Queue接口,除了支持Queue的方法之外,还支…
Java 源码阅读的第一步是Collection框架源码,这也是面试基础中的基础: 针对Collection的源码阅读写一个系列的文章; 本文是第二篇LinkedList. ---@pdai JDK版本 JDK 1.8.0_110 概述总结 LinkedList底层是通过双向链表实现的,具体是first和last两个node元素: 链表的特性决定了LinkedList按照index查找元素的效率没有ArrayList高,但是add和remove操作效率会高很多: 根据index查找node, 因…
Java 源码阅读的第一步是Collection框架源码,这也是面试基础中的基础: 针对Collection的源码阅读写一个系列的文章,从ArrayList开始第一篇. ---@pdai JDK版本 JDK 1.8.0_110 概述总结 ArrayList底层是通过数组实现的:其中capacity表示底层数组的长度,而ArrayList长度由size表示: ArrayList允许存放null元素,也可以查找null所在的index, 比如indexOf(), lastIndexOf()方法: A…
Caffe源码阅读(1) 全连接层 发表于 2014-09-15   |   今天看全连接层的实现.主要看的是https://github.com/BVLC/caffe/blob/master/src/caffe/layers/inner_product_layer.cpp 主要是三个方法,setup,forward,backward setup 初始化网络参数,包括了w和b forward 前向传播的实现 backward 后向传播的实现 setup 主体的思路,作者的注释给的很清晰.主要是要…
caffe-windows中classification.cpp的源码阅读 命令格式: usage: classification string(模型描述文件net.prototxt) string(模型权值文件network.caffemodel) string(图像均值文件mean.binaryproto) string(图像类别标签信息 labels.txt) string(输入待分类图像img.jpg) 为什么要对图像进行均值处理?(参考) 数据预处理在深度学习中非常重要,数据预处理中,…
大约寒假开始的时候我就已经把std::sort的源码阅读完毕并理解其中的做法了,到了寒假结尾,姑且把它写出来 这是我的第一篇源码阅读笔记,以后会发更多的,包括算法和库实现,源码会按照我自己的代码风格格式化,去掉或者展开用于条件编译或者debug检查的宏,依重要程度重新排序函数,但是不会改变命名方式(虽然MSVC的STL命名实在是我不能接受的那种),对于代码块的解释会在代码块后(下面)用注释标明. template<class _RanIt, class _Diff, class _Pr> in…
本文首先谈自己的源码阅读体验,然后给几个案例解读,选的例子都是比较简单.重在说明我琢磨的点线面源码阅读方法.我不是专业架构师,是从一个深度学习算法工程师的角度来谈的,不专业的地方请大家轻拍. 经常看别人写的代码,然后改别人的代码,然后实现自己的想法,我想这是我们coder常干的事情.看人看代码,代码如人.他代码写的有多清爽简洁,说明他思维是清晰的:代码的结构有多合理,模块化内聚如何,是否低耦合,反应他的宏观把控能力.一个软件系统你可以把他看成是一个简单的企业,各个职能部门如何发挥自己的作用,相当…
1.前言 SpringMVC是目前J2EE平台的主流Web框架,不熟悉的园友可以看SpringMVC源码阅读入门,它交代了SpringMVC的基础知识和源码阅读的技巧 本文将通过源码(基于Spring4.3.7)分析,弄清楚Controller是如何匹配我们传入的参数,并定义简单的参数解析器 2.源码分析 demo源码在这里,回到DispatcherServlet的doDispatch方法,DispatchServlet分析见SpringMVC源码阅读:核心分发器DispatcherServle…
深入了解下 go 中的 select 前言 1.栗子一 2.栗子二 3.栗子三 看下源码实现 1.不存在 case 2.select 中仅存在一个 case 3.select 中存在两个 case,其中一个是 default 发送值 接收值 4.多个 case 的场景 具体的实现逻辑 1.打乱 case 的顺序 2.找出已经 ready 的 case 3.case 都没 ready,且没有 default 4.唤醒后返回 channel 对应的 case 总结 参考 深入了解下 go 中的 se…
项目中使用了vue,一直在比较computed和$watch的使用场景,今天周末抽时间看了下vue中$watch的源码部分,也查阅了一些别人的文章,暂时把自己的笔记记录于此,供以后查阅: 实现一个简单的$watch: const v = new Vue({ data:{ a: , b: { c: } } }) // 实例方法$watch,监听属性"a" v.$watch("a",()=>console.log("你修改了a")) //当Vu…
前言 对Google开源出来的bert代码,来阅读下.不纠结于代码组织形式,而只是梳理下其训练集的生成,训练的self-attention和multi-head的具体实现. 训练集的生成 主要实现在create_pretraining_data.py和tokenization.py两个脚本里.输入文本格式举例,下面是两篇文章外加一篇空文章.两篇文章之间用空格作间隔. This is a blog about bert code reading.It is writed using markdow…
自己保存的源码阅读笔记哈 faster rcnn 的主要识别过程(粗略) (开始填坑了): 一张3通道,1600*1600图像输入中,经过特征提取网络,得到100*100*512的feature map (设定stride = 16,这是坐标计算要用的),基于这个,生成100 * 100 * scale * aspdio 的anchor box,然后, 这个feature map 通过使用两个卷积网络分别回归目标非目标和bbox_dealta,两个,分别是rpn_objectness_predi…
之前看了Google官网的object_dectect 的源码,感觉Google大神写的还不错.最近想玩下Mask RCNN,就看了下源码,这里刚好当做总结和梳理.链接如下: Google官网的object_dectect:https://github.com/tensorflow/models/tree/master/research/object_detection Mask RCNN: https://github.com/matterport/Mask_RCNN 一个使用tensorfl…
目录 Pytorch版本yolov3源码阅读 1. 阅读test.py 1.1 参数解读 1.2 data文件解析 1.3 cfg文件解析 1.4 根据cfg文件创建模块 1.5 YOLOLayer 1.6 初始化模型 1.7 加载权重 1.8 计算mAP 2. 阅读train.py 2.1 参数解读 2.2 随机初始化 2.3 设置优化器 2.4 更新优化器 2.5 loss指标 2.6 checkpoint相关 3. 阅读detect.py 3.1 参数解读 3.2 预测框的获取 3.2 核…
目录 Client提交任务 flink的图结构 StreamGraph OptimizedPlan JobGraph ExecutionGraph flink部署与执行模型 Single Job JobManager ResourceManager TaskManager YARN Dispatcher JobMaster 源码分析 flink源码阅读经验总结 Client提交任务 执行模式有:本地.远程Standalone等,下面只介绍yarn模式. Yarn模式: Job模式是每个flink…
[原]FMDB源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 FMDB比较优秀的地方就在于对多线程的处理.所以这一篇主要是研究FMDB的多线程处理的实现.而FMDB最新的版本中主要是通过使用FMDatabaseQueue这个类来进行多线程处理的. 2. FMDatabaseQueue使用举例 // 创建,最好放在一个单例的类中 FMDatabaseQueue *queue = [FMDatabaseQueue databaseQueueWithPath…
[原]FMDB源码阅读(二) 本文转载请注明出处 -- polobymulberry-博客园 1. 前言 上一篇只是简单地过了一下FMDB一个简单例子的基本流程,并没有涉及到FMDB的所有方方面面,比如FMDB的executeUpdate:系列方法.数据库的加解密等等.这次写的就是对FMDatabase和FMResultSet这两个文件的补全内容.每次写这种补全的内容最头疼,内容会很分散,感觉没啥条理. 2. executeUpdate:系列函数 注意除了"SELECT"语句外,其他的…
[原]FMDB源码阅读(一) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 说实话,之前的SDWebImage和AFNetworking这两个组件我还是使用过的,但是对于FMDB组件我是一点都没用过.好在FMDB源码中的main.m文件提供了大量的示例,况且网上也有很多最佳实践的例子,我就不在这献丑了.我们先从一个最简单的FMDB的例子开始: // 找到用户目录下的Documents文件夹位置 NSString* docsdir = [NSSearchPathFor…
[原]AFNetworking源码阅读(六) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这一篇的想讲的,一个就是分析一下AFSecurityPolicy文件,看看AFNetworking的网络安全策略,尤其指HTTPS(大家可以先简单了解下HTTPS).再一个就是分析下AFNetworkReachabilityManager文件,看看AFNetworking如何解决网络状态的检测. 2. AFSecurityPolicy - 网络安全策略 之前我们在AFURLS…
[原]AFNetworking源码阅读(五) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇中提及到了Multipart Request的构建方法- [AFHTTPRequestSerializer multipartFormRequestWithMethod:URLString:parameters:constructingBodyWithBlock:error:],不过并没有深入研究,部分函数也只是简单地一笔带过.所以本篇文章从此入手,一方面把Multip…
[原]AFNetworking源码阅读(四) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇还遗留了很多问题,包括AFURLSessionManagerTaskDelegate类所实现的NSURLSession相关的代理方法,甚至连dataTask.uploadTask.downloadTask这几个基本概念也没说.这一篇就是为了集中消灭这些遗留问题. 2. AFURLSessionManagerTaskDelegate的代理方法 此处实现的仍然是NSURLS…
[原]AFNetworking源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇的话,主要是讲了如何通过构建一个request来生成一个data task.但是对于NSURLSession部分却没有提及.主要是精力有限,准备在这一部分把NSURLSession的知识好好梳理一遍.一切先从上一篇中的addDelegateForDataTask:函数说起,然后再介绍AFURLSessionManagerTaskDelegate,最后结合AFURLSes…
[原]AFNetworking源码阅读(二) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇中我们在iOS Example代码中提到了AFHTTPSessionManager中的一个函数: - (nullable NSURLSessionDataTask *)GET:(NSString *)URLString parameters:(nullable id)parameters progress:(nullable void (^)(NSProgress *d…
[原]AFNetworking源码阅读(一) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 AFNetworking版本:3.0.4 由于我平常并没有经常使用AFNetworking的经历,所以这次阅读AFNetworking源代码,我想回到最原点,从AFNetworking提供的iOS Example开始阅读.至于阅读的方式,和阅读SDWebImage一样,逐字逐句地去扣.我不是很聪明,所以就用这种蠢办法吧,O(∩_∩)O哈哈~ 新增:准备给自己加点难度,把AFN…
explode和implode函数主要用作字符串和数组间转换的操作,比如获取一段参数后根据某个字符分割字符串,或者将一个数组的结果使用一个字符合并成一个字符串输出.在PHP中经常会用到这两个函数,因此有必要了解一下其原理. 我在github有对PHP源码更详细的注解.感兴趣的可以围观一下,给个star.PHP5.4源码注解.可以通过commit记录查看已添加的注解. explode array explode ( string $delimiter, string $string, [ , $l…
[原]SDWebImage源码阅读(五) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 前面的代码并没有特意去讲SDWebImage的缓存机制,主要是想单独开一章节专门讲解缓存.之前我们也遇到一些缓存的属性和方法,比如storeImage.queryDiskCacheForKey.memCache等等. SDWebImage的缓存分为两个部分,一个内存缓存,使用NSCache实现,另一个就是硬盘缓存(disk),使用NSFileManager实现. 不过这么多函数,…
[原]SDWebImage源码阅读(四) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 SDWebImage中主要实现了NSURLConnectionDataDelegate的以下方法: - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response; - (void)connection:(NSURLConnection *)connecti…
[原]SDWebImage源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1.SDWebImageDownloader中的downloadImageWithURL 我们来到SDWebImageDownloader.m文件中,找到downloadImageWithURL函数.发现代码不是很长,那就一行行读.毕竟这个函数大概做什么我们是知道的.这个函数大概就是创建了一个SDWebImageSownloader的异步下载器,根据给定的URL下载image. 先映入眼帘的…