GithubHelp home page GithubHelp logo

lsi-capstone's Introduction

LSI-Capstone

UVA Landscape Studies Initiative project code

Introduction

Neural networks can learn a task quickly and with a relatively small amount of data if they are initialized with weights from another task on a large dataset, such as ImageNet, a technique known as transfer learning. Our capstone project, in collaboration with the Landscape Studies Initiative at UVA, used feature visualization techniques to qualitatively analyze how the dataset which produced the transferred weights affects a neural network's behavior and performace on its task.

This repository contains our project code, initial and final network parameters, and paper, which we submitted to the May 2020 SIEDS conference. Please refer to the paper for more information about the project's motivation, design, and conclusions.

Files

LandscapeNet.ipynb' contains the training code. We trained two neural networks: one initialized with weights from an ImageNet task, which are available via PyTorch's vision API, and one with weights from the Places365 project, which we obtained from their repository at https://github.com/CSAILVision/places365 . The latter are loaded in from resnet18_places365.pth.tar.

LandscapeNet_imagenet_pretrained is the neural network trained for our landscape classification task using the ImageNet weights. LandscapeNet_places365_pretrained. These files are loaded into OptimalClass.ipynb.

OptimalClass.ipynb contains the code used to generate images which optimize the activation of a given network node.

Note: due to image permissions, we have not uploaded our datasets, so the training code cannot actually be run.

If you want to run the training code on your own dataset and classification task, download the repository and add an Images directory with sub-directories Training and Validation. Within each subdirectory organize your images into labeled folders for each class. Modify the code to expect the correct number of classes.

You can of course also alter OptimalClass.ipynb to load your own weights.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.