Skip to content

Neural Architecture Search for Convolutional Neural Networks using Reinforcement Learning

License

Notifications You must be signed in to change notification settings

Anshumaan-Chauhan02/DQNAS

Repository files navigation

DQNAS: Neural Architecture Search using Reinforcement Learning

my banner

Project Description

Convolutional Neural Networks have been used in a variety of image related applications after their rise in popularity due to ImageNet competition. Convolutional Neural Networks have shown remarkable results in applications including face recognition, moving target detection and tracking, classification of food based on the calorie content and many more. Designing of Convolutional Neural Networks requires experts having a cross domain knowledge and it is laborious, which requires a lot of time for testing different values for different hyperparameter along with the consideration of different configurations of existing architectures. Neural Architecture Search is an automated way of generating Neural Network architectures which saves researchers from all the brute-force testing trouble, but with the drawback of consuming a lot of computational resources for a prolonged period. In this paper, we propose an automated Neural Architecture Search framework DQNAS, guided by the principles of Reinforcement Learning along with One-shot Training which aims to generate neural network architectures that show superior performance and have minimum scalability problem.

This Repository consist of code and documentation needed for successfully running the project.
Below are the steps needed to be installed before running this project :

Technical Skills

Python Spyder TensorFlow Pandas NumPy Matplotlib Keras

1) Installing Anaconda

https://docs.anaconda.com/anaconda/install/index.html

2) Installing Spyder

Check the following installation guide

https://docs.spyder-ide.org/current/installation.html

3) Installing Machine Learning Libraries

TensorFlow
  !pip install tensorflow
Keras
  !pip install keras
Pandas
  !pip install pandas
NumPy
  !pip install numpy
Matplotlib
  !pip install matplotlib

4) File Description and Content

  • CNNCONSTANTS.py : Contains values for constants used in CNN and LSTM model (Controller) generation anc compilation
  • CNNGenerator.py : Functions used for the creation of CNN architecture
  • DQNAgent.py : Consists functions required for generation of controller model
  • DQNController.py : Sampling of CNN architectures and training of the controller model
  • NASrun.py : Main file used to run the program (May change the dataset loaded from Keras to some other dataset)
  • NASutils.py : Printing and Visualization of CNN architectures
  • cnnas.py : Training and Testing of CNN Architectures




Anurag’s github stats Top Langs

Releases

No releases published

Packages

No packages published

Languages