Closed bkj closed 6 years ago
Yes, just copy & paste it into genotypes.py
as you described : )
Then, run python train.py --arch $NAME_OF_THE_ARCH --auxiliary --cutout
for evaluation.
Cool thanks -- and how would you recommend sampling a random architecture? Something like this?
model = Network(args.init_channels, CIFAR_CLASSES, args.layers, criterion)
model.alphas_normal = Variable(torch.randn(k, num_ops))
model.alphas_reduce = Variable(torch.randn(k, num_ops))
random_genotype = model.genotype()
Yep, that should do.
OK that works -- I can verify that running train_search.py
and training the resulting genotype gives comparable results to the DARTS
model in cnn/genotypes.py
.
I am also getting around 89% validation accuracy when running train_search.py
. Are these expected results for this step. I see no expected results for this in the documentation or paper.
It looks fine. The validation acc during arch search does not tell too much because the weights are under-trained. You'll need to train the architecture from scratch in order to evaluate it and achieve ~2.83%.
@quark0 hi, I'm wondering how many epochs do you train the searched architecture, I used the searched arch on epoch 49, and it it only gets 95.0 valid acc after retrained for 350 epochs
What's the recommended way to train the results of
train_search.py
? This is the end of mylog.txt
:Should I just copy and paste that
Genotype
intogenotypes.py
w/ a new name? Or is there some recommended way?Thanks