liux0614 / yolo_nano

Unofficial implementation of yolo nano
MIT License
254 stars 72 forks source link

关于网络设计 #10

Closed elin-croft closed 4 years ago

elin-croft commented 4 years ago

在作者的原文中这是人机协作的网络,我看了一眼代码,你是按照论文中的图片给出的框架把网络给写死了,没有体现出这个网络的异构性,后续会继续更新吗? 我想请教下你对文中探索网络框架的算法有什么看法吗?文中描述的很模糊,就只说了是迭代生成的。 而且我对作者在文中提到种子和原型设计不是太理解,可以请教下你的看法吗?

liux0614 commented 4 years ago

1.第三章往前数两段的最后一句话 “The final approximate solution Gˆ is then used to create the proposed YOLO Nano network.” 这句话的意思应当是,paper第三章提出的yolo nano就是经过了human-machine collaborative design strategy之后才得到的架构吧。 2.文中所说的异构性 是用了Macroarchitecture 和 Microarchitecture,我们可以随意去替换其中的结构,就像yolo的darknet,不用darknet作为backbone,而是使用其他net作为backbone。 3.文中的网络架构的确很模糊,没有说明PEP和EP的具体细节(不知道是不是和mobilenet v2的seperable conv一样类似),也没有说是不是用了半精度浮点数来计算。 4.作者没有给出自己在human driven design stage的模型是怎么样的,在machine driven design stage说的也不清楚,只说了follow了generative synthesis的思想,我不知道如何去复现这里的算法。

elin-croft commented 4 years ago

ep的细节在Google的mobilenetv2中给出了。 我的意思就是这个网络会根据要求和约束条件的变化而变化,作者文中给的只是他取得一个条件设定。 我就是看不太懂他那个决定因子G,种子S和原型的设定😂

elin-croft commented 4 years ago

手滑点了关闭问题😅

liux0614 commented 4 years ago

G不是决定因子吧 G是生成器吧。prototype就是首先你有一个在human driven design stage设计好的网络,作为雏形。然后在machine driven design stage 通过G和U来调整。 具体的细节可以看看这篇: https://arxiv.org/pdf/1809.05989.pdf 在这篇文章中网络被定义为Ns = {Vs, Es},V和E是节点和边。 那么我觉得Seed(两篇文章都没有非常详细的解释),应该是决定了结点和边的连接方式,一种seed会得到一种prototype的变种。

liux0614 commented 4 years ago

你可以看看这个repo https://github.com/quark0/darts 这个paper能自动寻找最后网络结构,yolo nano我觉得更像是通过这个类似darts的结构来训练的

elin-croft commented 4 years ago

thx