pytorch yolov3代码理解(1)

代码链接:https://github.com/BobLiu20/YOLOv3_PyTorch

1.解读nets部分

1.1 backbone:Darknet53

yolov3网络结构展示:

yolov3结构图:原文来自https://blog.csdn.net/sum_nap/article/details/80568873

layer filters size input output
0 conv 32 3 x 3 / 1 416 x 416 x 3 -> 416 x 416 x 32 0.299 BFLOPs
1 conv 64 3 x 3 / 2 416 x 416 x 32 -> 208 x 208 x 64 1.595 BFLOPs
2 conv 32 1 x 1 / 1 208 x 208 x 64 -> 208 x 208 x 32 0.177 BFLOPs
3 conv 64 3 x 3 / 1 208 x 208 x 32 -> 208 x 208 x 64 1.595 BFLOPs
4 res 1 208 x 208 x 64 -> 208 x 208 x 64
5 conv 128 3 x 3 / 2 208 x 208 x 64 -> 104 x 104 x 128 1.595 BFLOPs
6 conv 64 1 x 1 / 1 104 x 104 x 128 -> 104 x 104 x 64 0.177 BFLOPs
7 conv 128 3 x 3 / 1 104 x 104 x 64 -> 104 x 104 x 128 1.595 BFLOPs
8 res 5 104 x 104 x 128 -> 104 x 104 x 128
9 conv 64 1 x 1 / 1 104 x 104 x 128 -> 104 x 104 x 64 0.177 BFLOPs
10 conv 128 3 x 3 / 1 104 x 104 x 64 -> 104 x 104 x 128 1.595 BFLOPs
11 res 8 104 x 104 x 128 -> 104 x 104 x 128
12 conv 256 3 x 3 / 2 104 x 104 x 128 -> 52 x 52 x 256 1.595 BFLOPs
13 conv 128 1 x 1 / 1 52 x 52 x 256 -> 52 x 52 x 128 0.177 BFLOPs
14 conv 256 3 x 3 / 1 52 x 52 x 128 -> 52 x 52 x 256 1.595 BFLOPs
15 res 12 52 x 52 x 256 -> 52 x 52 x 256
16 conv 128 1 x 1 / 1 52 x 52 x 256 -> 52 x 52 x 128 0.177 BFLOPs
17 conv 256 3 x 3 / 1 52 x 52 x 128 -> 52 x 52 x 256 1.595 BFLOPs
18 res 15 52 x 52 x 256 -> 52 x 52 x 256
19 conv 128 1 x 1 / 1 52 x 52 x 256 -> 52 x 52 x 128 0.177 BFLOPs
20 conv 256 3 x 3 / 1 52 x 52 x 128 -> 52 x 52 x 256 1.595 BFLOPs
21 res 18 52 x 52 x 256 -> 52 x 52 x 256
22 conv 128 1 x 1 / 1 52 x 52 x 256 -> 52 x 52 x 128 0.177 BFLOPs
23 conv 256 3 x 3 / 1 52 x 52 x 128 -> 52 x 52 x 256 1.595 BFLOPs
24 res 21 52 x 52 x 256 -> 52 x 52 x 256
25 conv 128 1 x 1 / 1 52 x 52 x 256 -> 52 x 52 x 128 0.177 BFLOPs
26 conv 256 3 x 3 / 1 52 x 52 x 128 -> 52 x 52 x 256 1.595 BFLOPs
27 res 24 52 x 52 x 256 -> 52 x 52 x 256
28 conv 128 1 x 1 / 1 52 x 52 x 256 -> 52 x 52 x 128 0.177 BFLOPs
29 conv 256 3 x 3 / 1 52 x 52 x 128 -> 52 x 52 x 256 1.595 BFLOPs
30 res 27 52 x 52 x 256 -> 52 x 52 x 256
31 conv 128 1 x 1 / 1 52 x 52 x 256 -> 52 x 52 x 128 0.177 BFLOPs
32 conv 256 3 x 3 / 1 52 x 52 x 128 -> 52 x 52 x 256 1.595 BFLOPs
33 res 30 52 x 52 x 256 -> 52 x 52 x 256
34 conv 128 1 x 1 / 1 52 x 52 x 256 -> 52 x 52 x 128 0.177 BFLOPs
35 conv 256 3 x 3 / 1 52 x 52 x 128 -> 52 x 52 x 256 1.595 BFLOPs
36 res 33 52 x 52 x 256 -> 52 x 52 x 256
37 conv 512 3 x 3 / 2 52 x 52 x 256 -> 26 x 26 x 512 1.595 BFLOPs
38 conv 256 1 x 1 / 1 26 x 26 x 512 -> 26 x 26 x 256 0.177 BFLOPs
39 conv 512 3 x 3 / 1 26 x 26 x 256 -> 26 x 26 x 512 1.595 BFLOPs
40 res 37 26 x 26 x 512 -> 26 x 26 x 512
41 conv 256 1 x 1 / 1 26 x 26 x 512 -> 26 x 26 x 256 0.177 BFLOPs
42 conv 512 3 x 3 / 1 26 x 26 x 256 -> 26 x 26 x 512 1.595 BFLOPs
43 res 40 26 x 26 x 512 -> 26 x 26 x 512
44 conv 256 1 x 1 / 1 26 x 26 x 512 -> 26 x 26 x 256 0.177 BFLOPs
45 conv 512 3 x 3 / 1 26 x 26 x 256 -> 26 x 26 x 512 1.595 BFLOPs
46 res 43 26 x 26 x 512 -> 26 x 26 x 512
47 conv 256 1 x 1 / 1 26 x 26 x 512 -> 26 x 26 x 256 0.177 BFLOPs
48 conv 512 3 x 3 / 1 26 x 26 x 256 -> 26 x 26 x 512 1.595 BFLOPs
49 res 46 26 x

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
In the fall of 1998 Bill Joy and Mike Clary asked us to help establish a community of developers and companies around Sun's then-new Jini network technology. Jini is a simple distributed computing model based on the Java programming language that enables services running on different computer systems to spontaneously interact with each other over the network with minimal pre- planning for such interactions. For Jini to succeed, it was clear that the underlying Jini protocols and infrastructure would need to become pervasive, and to accomplish that would require a strong community of participants and partners. Moreover Sun did not have the expertise to define Jini services in areas like printing, digital photography, storage, white goods, or the many other potential markets for products that would benefit from being network enabled. As a preliminary step the Sun Community Source License (SCSL) had been developed to provide a framework where the source code for Jini could be safely shared. SCSL is not true open source, but has many of the same characteristics. However a license and providing the source code were not enough~there had to be more to motivate people to participate. We worked with the Jini engineering and marketing teams to apply the lessons we had learned from being involved in various open source and community development projects and from our studies of complexity science to create a true Jini Community. We worked hard to help establish an identity for the community. To build identity and culture requires face-to-face interaction, so we organized community meetings that were held in interesting places and featuring non-traditional speakers. The first Jini Community meeting was at the Aspen Institute in Aspen, Colorado. We played team-building games, we engaged a recording graphic artist, we broke into groups in unusual ways. 1 We encouraged nonstandard thinking and speaking as individuals rather than as representatives of companies at times. The keynote speakers included Robert Dahl, a political scientist, talking "On Democracy," and Thomas Petzinger, a Wall Street Journal columnist, speaking about new business models based on cooperation. We also helped create a website for the project (http://www.jini.org) as a meeting place, a newspaper, a repository of shared documents, a totem, and a place to share work and projects. Most of the shared assets of the community could be accessed there. The website had a public part that advertised the community, and private parts for members only to help foster community identity. Common vocabulary leads to shared stories and then to shared beliefs. We created a pattern language on how the Jini Community could work, which has served to create a shared vocabulary--terms like dangerous waterhole, cut ~r run, and microcosm that serve as linguistic markers for the uniqueness of the community and culture. The pattern language was designed to teach how to build (self-) governance structures and procedures on the fly which have proven to be comfortable and delightful in the past but which were to be tailored to the specific on-the-spot needs of the community. We also worked with the community on developing a formal decision-making process and a "community process" for the purpose of ratifying definitions for Jini services. The former was to make it clear how community-wide decisions are made--how are proposals created, how are they voted on, how are appeals made--and the latter was to specify how the community can officially bless or endorse a service definition. The request to help build a community around a technology for business purposes led us to research and think about business in the commons. How do open-source projects work? How can a company participate? Why would a company engage in an activity centered around giving things away? How and why could such a thing work? Since the spring of 2000 we have done similar work with other Sun-sponsored open-source projects such as NetBeans, OpenOffice, Project JXTA, and java.net. We have worked with each of those teams to help them to define their open source strategy along with how to implement it. This book contains not only the lessons we have learned from helping to create and nurture communities around these Sun-sponsored and other open source and community development projects, but the fruit of years of participation in innovative communities of many sorts. Specifically, one of us 2 was the originator of the Common Lisp Group, which is the first, large-scale, email-based design effort; this group worked from 1981 until the early 1990s. The same author 2 founded Lucid, Inc, one of whose products~designed and implemented in the late 1980s~used a suite of free-software tools tied together by a proprietary, 2 RPG. Preface xxi database-centered coordination layer. The tools included GCC, GDB, and a window-based version of Emacs originally called Lucid Emacs and now called Xemacs. The interaction of the suite of tools with the coordination layer was through an open set of protocols, and several compilers were modified to support these protocols. Lucid was one of the first companies to do significant work on open-source code (in this case, Free Software Foundation code) as part of a business strategy, and in fact, the existence of LGPL is partly due to this early commercial use of GPLed code. This book also includes insights from studying other open-source projects such as Linux, Apache, Emacs, Xemacs, GCC, GDB, and Mozilla. We have had experience with projects and companies that were trying to achieve something creative in the context of a passionate user, developer, and partner landscape where the knowledge, expertise, and innovation in that landscape needed to be part of the creativity. Ron Goldman Richard P. Gabrid March, 2005

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值