RandWireNN(Randomly Wired Neural Network)

April 16, 2019 ยท View on GitHub

PyTorch implementation of : Exploring Randomly Wired Neural Networks for Image Recognition.

Update

  • 2019/4/10: Release a result of regular computation(C=109) RandWird-WS(4,0.75). It has Top-1 accuracy of 77.07% on Imagenet dataset.
  • 2019/4/7: The code of RandWireNN are released.

Reproduced results

ModelPaper's Top-1Mine Top-1EpochsLR SchedulerWeight Decay
RandWire-WS(4, 0.75), C=10979%77% *100cosine lr5e-5
RandWire-WS(4, 0.75), C=7874.7%73.97% *250cosine lr5e-5

*This result does not take advantage of dropout, droppath and label smoothing techniques. I will use these tricks to retrain the model.

Requirements

  • python packages
    • pytorch = 0.4.1
    • torchvision>=0.2.1
    • tensorboardX
    • pyyaml
    • CVdevKit
    • networkx

Data Preparation

Download the ImageNet dataset and put them into the {repo_root}/data/imagenet.

Training a model from scratch

./train.sh configs/config_regular_c109_n32.yaml

License

All materials in this repository are released under the Apache License 2.0.