tiny_cnn 阅读(1)
从今天起, 我会每天把阅读tiny_cnn的阅读心得提交到博客园中希望大家在这个平台上可以多多交流;
关于如果阅读代码? 抓住重点,忽略细节
首先打开从github上下载的文件:

通过csdn和网上搜索一番会知道这个文件的各个目录存放的是什么;
我用${root} 代表到tiny-cnn-master的路径,这个变量会在注释中用到;
首先打开vs/2014 ,用MS studio开开这个项目 , 找到main.cpp
发现会调用sample1_convnet()函数 ,如图1 所示

图1 main方法截图
而我们运行的时候确实没有输入任何参数,可见是运行的第45行, 既然是这样,需要找到无参数的时候调用那个函数?

第35行, 我们知道了 sample1_convnet()函数的参数值是data_dir_path = ./../data
这个变量至今还没有使用到,因此我们不必往下深究 , 只要知道.data_dir_path 是数据所在的路径即可;
》》》进入void sample1_convnet(const string& data_dir_path) 函数里面:
第一句话:

使我们不得不了解一下这两个泛型:
mse:
@see: ${root}/tiny_cnn/optimzers/optimizer.h
gradient_descent_levenberg_marquardt:
@see: ${root}/tiny_cnn/optimzers/optimizer.h
以上这两个函数也是没有用到,但是我们可以查看一下,因为代码很简洁
mse:
如图2-1所示:
在tiny_cnn中支持两种损失函数:
(1)mean squared error均方差函数
(2)cross entropy 交叉熵
通过阅读代码可知;
a )这是两个数学公式转化过来的:
f(y,t) = (y - t )^2 / 2
df( y , t ) = y – t , 其中 y 和t 理论上都是从负无穷到正无穷的实数
b)该程序使用的自会有mse这一种损失函数 , 如果我们想要修改的或者做改进的话, 也可以从这里入手;
比如换一种损失函数. 改进一下这个函数等等..

图2-1 :mse函数的实现
gradient_descent_levenberg_marquardt:

network
@see ${root}/tiny_cnn/network.h
tiny_cnn 阅读(1)的更多相关文章
- tiny_cnn代码阅读(2)
上一篇讲了mse函数 , 这次gradient_descent_levenberg_marquardt @see ${root}/tiny_cnn/optimizer/optimizer.h 这个函数 ...
- 【原】FMDB源码阅读(三)
[原]FMDB源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 FMDB比较优秀的地方就在于对多线程的处理.所以这一篇主要是研究FMDB的多线程处理的实现.而 ...
- 【原】FMDB源码阅读(二)
[原]FMDB源码阅读(二) 本文转载请注明出处 -- polobymulberry-博客园 1. 前言 上一篇只是简单地过了一下FMDB一个简单例子的基本流程,并没有涉及到FMDB的所有方方面面,比 ...
- 【原】FMDB源码阅读(一)
[原]FMDB源码阅读(一) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 说实话,之前的SDWebImage和AFNetworking这两个组件我还是使用过的,但是对于 ...
- 【原】AFNetworking源码阅读(六)
[原]AFNetworking源码阅读(六) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这一篇的想讲的,一个就是分析一下AFSecurityPolicy文件,看看AF ...
- 【原】AFNetworking源码阅读(五)
[原]AFNetworking源码阅读(五) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇中提及到了Multipart Request的构建方法- [AFHTTP ...
- 【原】AFNetworking源码阅读(四)
[原]AFNetworking源码阅读(四) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇还遗留了很多问题,包括AFURLSessionManagerTaskDe ...
- 【原】AFNetworking源码阅读(三)
[原]AFNetworking源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇的话,主要是讲了如何通过构建一个request来生成一个data tas ...
- 【原】AFNetworking源码阅读(二)
[原]AFNetworking源码阅读(二) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇中我们在iOS Example代码中提到了AFHTTPSessionMa ...
随机推荐
- Apache Benchmark测试工具
ab命令-- ab -c 数字(连接数) -t 数字(连接时间) http://网站:端口/路径 ab -n 数字(点击数) -c 数字(连接数) -k(同时点击) http://网站:端口/路径
- JQuery 支持 hide 和 show 事件的方法与分析
问题提出 JQuery不支持hide和show作为事件形式出现, 实际上这两个仅仅是JQuery对象的一个方法(fn): 有一类UI交互需求,根据一个DOM对象的或者显示对附属的DOM对象做相同操作 ...
- IOS 谓词
// 谓词 Person *person = [[Person alloc]init]; person.name = @"zhang san"; person.age = 20; ...
- Spring MVC 入门示例讲解
在本例中,我们将使用Spring MVC框架构建一个入门级web应用程序.Spring MVC 是Spring框架最重要的的模块之一.它以强大的Spring IoC容器为基础,并充分利用容器的特性来简 ...
- Js原生 双向数据绑定
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- [原创]java WEB学习笔记96:Spring学习---Spring简介及HelloWord
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- js 格式化数字保留2位小数
function toDecimal2(x) { var f = parseFloat(x); if (isNaN(f)) { return false; } var f = Math.round(x ...
- 介绍kali下的一些小工具
1.macchanger 可以用来修改你的mac地址
- mysql查看存储过程
查询数据库中的存储过程 方法一: select `name` from mysql.proc where db = 'your_db_name' and `type` = 'PROCEDURE' 方法 ...
- jQuery右键菜单contextMenu使用实例
在最近项目中需要频繁的右键菜单操作.我采用了contextMenu这款jQuery插件. 参考网址:http://www.jb51.net/article/58709.htm 官网demo http: ...