-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path15885174968469.html
153 lines (114 loc) · 5.52 KB
/
15885174968469.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<!DOCTYPE html>
<html>
<head>
<title>
计算CNN模型所需的计算量(FLOPs)和参数量(parameters) - 咕噜灵波
</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="肥宅炼丹术士的日常">
<!-- 魔改部分 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="asset/style.css">
<link rel="stylesheet" type="text/css" href="asset/cuckoo.css">
<link rel="stylesheet" type="text/css" href="asset/main.css">
<link rel="stylesheet" type="text/css" href="asset/atom-one-light.css">
<link rel="alternate" type="application/atom+xml" href="atom.xml" title="咕噜灵波">
<script src="asset/highlight.pack.js"></script>
<!-- <script>hljs.initHighlightingOnLoad();</script>-->
</head>
<body>
<header class="site-header cuckoo">
<div class="wrapper">
<a class="site-title" href="index.html">咕噜灵波</a>
<nav class="site-nav">
<a href="#" class="menu-icon">
<svg viewBox="0 0 18 15">
<path fill="#424242"
d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z">
</path>
<path fill="#424242"
d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z">
</path>
<path fill="#424242"
d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z">
</path>
</svg>
</a>
<div class="trigger">
<a class="page-link" href="index.html">Home</a>
<a class="page-link" href="archives.html">Archives</a>
</div>
</nav>
</div>
</header>
<script src="./asset/live2d/autoload.js"></script>
</body>
</html> <div class="page-content cuckoo">
<div class="pattern-center ">
<div id="surpriseImg" class="pattern-attachment-img">
<!-- <img src="suprizeImg#lazyload-blur" data-src="suprizeImg" class="lazyload"
onerror="imgError(this,3)" style="width: 100%; height: 100%; object-fit: cover; pointer-events: none;"> -->
</div>
<header class="pattern-header ">
<h1 class="entry-title">计算CNN模型所需的计算量(FLOPs)和参数量(parameters)</h1>
</header>
</div>
<div class="wrapper">
<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
<header class="post-header">
<!-- <h1 class="post-title" itemprop="name headline">计算CNN模型所需的计算量(FLOPs)和参数量(parameters)</h1> -->
<div class="post-description">
</div>
</header>
<div class="post-content" itemprop="articleBody">
<h2 id="toc_0">参数量:</h2>
<p>(以下均考虑bias)<br/>
普通卷积层:<br/>
params = (C_in * k * k + 1) * C_out</p>
<p>Depthwise卷积层:<br/>
params = C_in * (k * k * 1 + 1) + C_out * (1 * 1 * C_in + 1)</p>
<p><em>解释:<br/>
第一部分:对输入的每个通道使用单通道卷积核进行卷积;<br/>
第二部分:使用1x1卷积将输入通道数转变成输出通道数:</em></p>
<p>全连接层:<br/>
params = (I + 1) * O</p>
<h2 id="toc_1">计算量:</h2>
<p>通常需要先求出输出特征图的尺寸H_out和W_out<br/>
H_out = (H_in - k + 2*padding) / stride + 1</p>
<p>普通卷积层:<br/>
FLOPs =(2 * C_in * k * k) * H_out * W_out * C_out</p>
<p><em>解释:对位相乘计算k<sup>2</sup> 次,加法计算k<sup>2</sup> -1次,bias每个输出位置计算1次</em></p>
<p>全连接层:<br/>
FLOPs = (2 * I -1) * O + O = (2 * I) * O</p>
</div>
<div>
</div>
</article>
</div>
</div>
<script src="asset/jquery-3.3.1.min.js"></script>
<script>
$(document).ready(function () {
$('#footer').show()
})
/** 生成1-4的随机图片标签 **/
function getRandomImage() {
var index = Math.ceil(Math.random() * 10) % 4;
var path = './asset/banner/' + index + '.jpg'
// return '<img src="/' + index + '.jpg" >';
return '<img src="' + path + '#lazyload-blur" data-src="' + path +
'" class="lazyload" onerror="imgError(this,3)" style="width: 100%; height: 100%; object-fit: cover; pointer-events: none;">'
}
/** 根据传进来的元素id,追加一个随机图片并显示 **/
function showRandonImage(divId) {
var oldHTML = document.getElementById(divId).innerHTML;
var newHTML = oldHTML + getRandomImage();
document.getElementById(divId).innerHTML = newHTML;
}
showRandonImage('surpriseImg');
</script> <footer id="footer" class="cuckoo page-footer" style="display: none">
<div class="wrapper">
<p>This blog is maintained by TSERR0F</a></p>
</div>
</footer>