/Relational-Networks

Pytorch implementation of " A simple neural network module for relational reasoning" paper aka Relational networks for visual reasoning.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Relational-Networks

Pytorch implementation of " A simple neural network module for relational reasoning" paper aka Relational networks for visual reasoning. https://arxiv.org/abs/1706.01427

Important Note

This implementation includes only the visual pipeline for CLEVR dataset. Best validation accuracy acheived with this implementation is 72% compared to 96.8% reported in the paper. This result was acheived by applying a learning rate schedule that doubles the learning rate every 20 epochs (motivated by warmup in https://arxiv.org/abs/1706.02677). The paper itself does not discuss any schedules used, running with schedules gets 65% at best.

Pull requests and suggestions are welcome to reproduce the results from the paper.

Training and Valiation Accuracies with warmup

Requirements

Usage

Train

python3 runtime

Arguments

  • lr : Learning rate. default: 2.5e-4
  • batch_size: default : 64
  • warmup: A flag to turn on doubling the learning rate every 20 epochs. default: False
  • save_path: path to checkpoints. Checkpoints are saved for every new best validation accuracy.
  • vis_screen: Visdom env name. default: RelNet

Other Implementations (Visual pipeline)