第一节 总流程
一、(原理介绍)
XXXXXXXXXXXXXXXXXX
二、(总的流程图)

第二节:主接口1
一、(原理介绍)
XXXXXXXXXXXXXXXXXXXXXXXXX
二、(总的流程图)

例子:
流程图

步骤描述:步骤描述需要一定的逻辑性。但不一定是纯文字形式,可以用公式,便于理解的伪代码+文字等方式进行步骤描述



三、分模块介绍
1、逻辑模块一:
1.1 代码
1.2 流程图
1.3 详细说明

例子:
1、 三个框相交,则去掉中间的

1.  if(detectResult.size() > 1)
2.      for(int i=1;i<detectResult.size()-1;i++){
3.          if (((detectResult[i].x + detectResult[i].width + 2) >= detectResult[i + 1].x) &&
4.              (detectResult[i].x <= (detectResult[i - 1].x + detectResult[i - 1].width - 2))){
5.          }
6.          if (((detectResult[i].x + detectResult[i].width + 2) >= detectResult[i + 1].x) &&
7.              (detectResult[i].x <= (detectResult[i - 1].x + detectResult[i - 1].width - 2))
8.              && ((detectResult[i + 1].x - detectResult[i - 1].x - detectResult[i - 1].width) < (0.7*(ROIWIDTH + avg_distance_of_chars)))){
9.              detectResult.erase(detectResult.begin() + i);
10.             i--;
11.         }
12.     }

2、接口模块:
2.1 代码
2.2 功能描述
2.3 接口描述
2.4 核心原理

例子1:
以cifar-10为例说明,具体的运算过程,对应代码:

1、卷积:
1.

inline void Conv(const int *restrict pSrc, int *restrict pDst, const int *restrict pKer, const int input_w, const int input_h, int k_size, int stride)
2.  {
3.      int   y, i, j, k;
4.      int tSum;
5.      const int *pSS = pSrc;
6.
7.
8.      for (y = 0; y< (input_h + stride - 1) - k_size + 1; y += stride, pSS += (stride*input_w))
9.      {
10.         for (i = 0; i<(input_w + stride - 1) - k_size + 1; i += stride)
11.         {
12.             tSum = 0;
13.             for (j = 0; j<k_size; j++)
14.             {
15.                 for (k = 0; k<k_size; k++)
16.                 {
17.                     tSum += pSS[j * input_w + i + k] * pKer[j * k_size + k];
18.                 }
19.             }
20.
21.             *pDst++ = tSum;
22.         }
23.     }
24. }  

1.1 功能描述
宽为input_w、高为input_h的输入图像pSrc,与k_size x k_size的卷积核pKer进行卷积,得到宽为input_w、高为input_h特征图pDst。

1.2 接口描述

名称  In/out/Par  Size/precision  Description/value
pSrc    in  input_w* input_h    输入图像
pDst    out input_w* input_h    输出图像
pKer    in  k_size * k_size 卷积核
input_w parameter   int 输入图像宽
input_h parameter   int 输入图像高
k_size  parameter   int 卷积核宽,一般为奇数
stride  parameter   int 卷积核在图像上上下左右滑动的平移像素幅度

1.3 核心原理(以cifar-10为例进行说明):
(1)输入是3个32*32, 共3*1024=3072。每条边padding为2,则内存里实际为3个36*36.
(2)卷积核个数是3维的5*5分别与3个输入进行卷积运算,得到3维的32*32的输出,这里将3维的32*32对应位相加得到一张32*32的feature Map
(3)输出:如果有64个3维的5*5卷积核就有64张feature Map
具体过程图示为:

卷积的权值读取方式为:
(1)第1个5*5作用于第一张输入全图,
(2)第2个5*5作用于第二张输入全图,
(3)第3个5*5作用于第三张输入全图,
(4)再把这三个对应位置相加,在加上biases,得到第一张feature map
(5)最后64个5*5*3重复上面的过程,得到64个featuremap
(6)这里weights有3*5*5*64个,biases有64个.
这里输入是3 个图像,输出是64个特征图,卷积核是5*5权值个数是64* 5*5*3

例子2:

项目开发中如何写说明文档相关推荐

  1. 项目开发中发布更新文档备注

    项目开发中 经常会遇到 某一个团队成员更新了,配置文件但是没有及时沟通导致项目发布后出现异常的情况. 这时就需要一个项目更新发布的规范说明文件,比如每次更新更改了哪些,进行文档备注. 更新的脚本文件也 ...

  2. 反思:项目开发中的语言沟通与文档沟通

    反思:项目开发中的语言沟通与文档沟通 问题引出:刚进入公司试用期,有导师安排开发实现一些功能模块或者小的应用.毕竟需要在整个产品的框架下添加代码,看了下整个产品近1G的源代码,相当浩瀚.虽然是不需要我 ...

  3. React项目开发中的数据管理

    原文链接:https://blog.csdn.net/hl582567508/article/details/76982756 redux中文文档:http://cn.redux.js.org/ Re ...

  4. 【开发规范】go项目开发中的[流程,git,代码,目录,微服务仓库管理,静态检查]

    文章目录 前言 一.有哪些规范我们应该遵循 二.项目开发流程 三.git的代码分支管理 1. 分支管理 2. commit规范 三.go的代码规范 四.go项目目录规范 五.微服务该采用multi-r ...

  5. 【转】缺陷与出路—一个游戏开发者的反思 二、项目开发中的混沌和秩序

    二.项目开发中的混沌和秩序 我们可能都听说过这些说法:"你不可能不劳而获""覆水难收"或"天网恢恢,疏而不漏".如果这些谚语对你说来不算陌生 ...

  6. 在项目开发中应该遵循的准则

    根据我公司实际情况,大致列出在项目开发中应遵循的步骤原则.在各程序员遵循原则的情况下,方能开发出健壮有效的程序,且能提高自己的编程素质. 1.在项目开发初期应该有项目的详细原型.鉴于程序员文档能力有限 ...

  7. aspnet是前端还是后端_项目开发中无法回避的问题:前端和后端如何合作和并行工作?...

    项目开发中无法回避的问题:前端和后端如何合作和并行工作? 前端,后端要想非常愉快的合作开发和集成,那最开始第1步就是要定义一套共用的数据模型接口.这一步是所有工作可以顺利进行的前提. 数据模型接口之后 ...

  8. ssh项目同时使用mysql跟sqlserver数据库_MSSQL_如何把sqlserver数据迁移到mysql数据库及需要注意事项,在项目开发中,有时由于项目 - phpStudy...

    如何把sqlserver数据迁移到mysql数据库及需要注意事项 在项目开发中,有时由于项目开始时候使用的数据库是SQL Server,后来把存储的数据库调整为MySQL,所以需要把SQL Serve ...

  9. 项目开发中对使用的第三方库统一进行管理__添加属性表/页

    最近接手的一个项目开发中用到了很多第三方库,比如boost.gdal.xerces等等这些.从接手项目到现在从中学习到了很多之前从未见识过的东西.项目绝大部分都是前辈们写的,对于里面的对第三方库的管理 ...

  10. Vue项目开发中使用路由懒加载

    Vue项目开发中使用懒加载 一.使用路由懒加载的好处 当打包项目时,JavaScript包会变的非常大,影响页面加载,要是通过把不同的路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应 ...

最新文章

  1. [转]单点登录原理与简单实现
  2. AI芯片,看好云端还是边缘?
  3. 【 FPGA 】Vivado和ISE设计流程比较(重点是Vivado IDE)
  4. Pycharm基本操作
  5. 控制iOS的导航栏和状态栏的样式
  6. Boost:符号symbols找到null的测试程序
  7. 望SQLServer 高手指点
  8. js hover 触发事件_为什么说JS的DOM操作很耗性能
  9. 【Lintcode】029.Interleaving String
  10. Mars的mp3实例
  11. mysql 51cto 数据类型_Mysql数据类型
  12. 数论及Python实践
  13. error: two or more data types in declaration specifiers原因及解决方法
  14. rkmedia 中的行人检测
  15. Maven安装与配置,Idea配置Maven
  16. 房屋租赁管理系统 基于SSM框架 带视频讲解 有文档
  17. 人脸识别-论文阅读-ArcFace及其由来(SphereFace、CosFace)
  18. linux CentOS操作系统入门基本使用
  19. Could not find a package; ld returned 1 exit status;error while loading shared libraries
  20. java如何实现添加尖括号_(尖括号)在Java中意味着什么?

热门文章

  1. 7、IPsec 实验
  2. 北风网android,北风网JAVA/ASP.NET/Android系列公开课视频教程入门项目必学课程
  3. 【python】ssh密码字典攻击
  4. thymeleaf模板引擎使用iframe的解决方案
  5. 网络常用端口号大全----2
  6. 单片机通过改变占空比改变电机转速c语言,直流电动机的调速 用单片机产生PWM控制...
  7. 计算机二级C语言知识点
  8. scratch冬天下雪了 电子学会图形化编程scratch等级考试三级真题和答案解析2022年3月
  9. 在Windows NT上装还原卡
  10. Mac OS 下创建txt文本文件