yuhuixu1993 / PC-DARTS

PC-DARTS:Partial Channel Connections for Memory-Efficient Differentiable Architecture Search

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

感谢你的开源

shuangjian24 opened this issue · comments

这是很有效的方法,看了整个框架后,我有这样两个疑问:
1、Genotype是怎么进行更新的:在model_search.py里,实现了生成新的Genotype,那下一步的迭代是如何使用这个新的Genotype呢?
2、每次只对1/4的X进行运算,剩下的3/4直接传递下去了,这是否可以看做是skip_connection呢?

@shuangjian24 , 你好,谢谢你的关注。
1、model_search 之后生成新的genotype 需要复制到genotype.py中,令PCDARTS=这个生成的genotype,之后再运行‘train.py’去evaluate这个网络结构。
2、这可能与skip有一点区别,skip是加这里是concate,可能与densenet中的dense连接有点像。

@yuhuixu1993 那在跑train_search.py这个代码的时候,是不会进行实时的网络更新的吗,log文件记录的只是网络结构的可能性吗

@shuangjian24 , 每个epoch都会输出当时的最优的genotye,应该是实时更新的吧(不大理解你说的意思)我们一般选取最后一个epoch作为最终搜索结果

@yuhuixu1993 我本以为是这样的:当搜索出一个genotype后,会直接使用它,基于它进行再搜索。

@shuangjian24 不是的,这种是one-shot搜索,只搜一次就用了,你那种可能类似于进化算法?

@yuhuixu1993 谢谢你的耐心解释,我懂了,谢谢

@shuangjian24 ,thanks for your interest!