Code for running simulations for the paper "Capacity of Group-invariant Linear Readouts from Equivariant Representations: How Many Objects can be Linearly Classified Under All Possible Views?", by Matthew Farrell, Blake Bordelon, Shubhendu Trivedi, and Cengiz Pehlevan. Note that the file models/vgg.py contains copyright statements for the original authors and modifiers of the script. The python packages used for the simulations are contained in environment.yml (this may include extra packages that are not necessary). To generate Figure 1, run python manifold_plots.py This script is fairly simple and self-explanatory. To generate Figures 2 and 3, run python plot_cnn_capacity.py At the bottom of the plot_cnn_capacity.py script, the plotting function is called for different panels. Comment out lines to generate specific figures. This script searches for a match with sets of parameters defined in cnn_capacity_params.py. To modify parameters used for simulations, modify the dictionaries in cnn_capacity_params.py or define your own parameter sets. For a description of different parameter options, see the docstring for the function cnn_capacity.get_capacity. The simulations take quite a lot of time to run, even with parallelization. Also a word of warning that the simulations take a lot of memory (~100GB for n_cores=5). To speed things up and reduce memory usage, one can set perceptron_style=efficient or pool_over_group=True, or reduce n_dichotomies. One can also choose to set seeds to seeds = [3] in plot_cnn_capacity.py. cnn_capacity_utils.py contains utility functions. The VGG model can be found in models/vgg.py. The direct sum (aka "grid cell") convolutional network model can be found in models/gridcellconv.py The code for generating datasets can be found in datasets.py. The code was modified and superficially refactored in preparation for releasing to the public. The simulations haven't been thoroughly tested after this refactoring so it's not 100% guaranteed that the code is correct (though it doesn't appear to throw errors). Fingers crossed that everything works the way it should. The development of this code was supported by the Harvard Data Science Initiative.
Code for generating the figures in the paper "Capacity of Group-invariant Linear Readouts from Equivariant Representations: How Many Objects can be Linearly Classified Under All Possible Views?"
Overview
Owner
Matthew Farrell
Rendering color and depth images for ShapeNet models.
Color & Depth Renderer for ShapeNet This library includes the tools for rendering multi-view color and depth images of ShapeNet models. Physically bas
Python scripts form performing stereo depth estimation using the CoEx model in ONNX.
ONNX-CoEx-Stereo-Depth-estimation Python scripts form performing stereo depth estimation using the CoEx model in ONNX. Stereo depth estimation on the
The code for two papers: Feedback Transformer and Expire-Span.
transformer-sequential This repo contains the code for two papers: Feedback Transformer Expire-Span The training code is structured for long sequentia
Social Network Ads Prediction
Social network advertising, also social media targeting, is a group of terms that are used to describe forms of online advertising that focus on social networking services.
Fine-grained Post-training for Improving Retrieval-based Dialogue Systems - NAACL 2021
Fine-grained Post-training for Multi-turn Response Selection Implements the model described in the following paper Fine-grained Post-training for Impr
Deep Q-network learning to play flappybird.
AI Plays Flappy Bird I've trained a DQN that learns to play flappy bird on it's own. Try the pre-trained model First install the pip requirements and
Attention for PyTorch with Linear Memory Footprint
Attention for PyTorch with Linear Memory Footprint Unofficially implements https://arxiv.org/abs/2112.05682 to get Linear Memory Cost on Attention (+
ObjectDrawer-ToolBox: a graphical image annotation tool to generate ground plane masks for a 3D object reconstruction system
ObjectDrawer-ToolBox is a graphical image annotation tool to generate ground plane masks for a 3D object reconstruction system, Object Drawer.
Multi-Person Extreme Motion Prediction
Multi-Person Extreme Motion Prediction Implementation for paper Wen Guo, Xiaoyu Bie, Xavier Alameda-Pineda, Francesc Moreno-Noguer, Multi-Person Extre
Deep Multi-Magnification Network for multi-class tissue segmentation of whole slide images
Deep Multi-Magnification Network This repository provides training and inference codes for Deep Multi-Magnification Network published here. Deep Multi
Official implementation for the paper: "Multi-label Classification with Partial Annotations using Class-aware Selective Loss"
Multi-label Classification with Partial Annotations using Class-aware Selective Loss Paper | Pretrained models Official PyTorch Implementation Emanuel
Pacman-AI - AI project designed by UC Berkeley. Designed reflex and minimax agents for the game Pacman.
Pacman AI Jussi Doherty CAP 4601 - Introduction to Artificial Intelligence - Fall 2020 Python version 3.0+ Source of this project This repo contains a
RuleBERT: Teaching Soft Rules to Pre-Trained Language Models
RuleBERT: Teaching Soft Rules to Pre-Trained Language Models (Paper) (Slides) (Video) RuleBERT is a pre-trained language model that has been fine-tune
Learning Open-World Object Proposals without Learning to Classify
Learning Open-World Object Proposals without Learning to Classify Pytorch implementation for "Learning Open-World Object Proposals without Learning to
Official PyTorch implementation of the ICRA 2021 paper: Adversarial Differentiable Data Augmentation for Autonomous Systems.
Adversarial Differentiable Data Augmentation This repository provides the official PyTorch implementation of the ICRA 2021 paper: Adversarial Differen
A code implementation of AC-GC: Activation Compression with Guaranteed Convergence, in NeurIPS 2021.
Code For AC-GC: Lossy Activation Compression with Guaranteed Convergence This code is intended to be used as a supplemental material for submission to
Spearmint Bayesian optimization codebase
Spearmint Spearmint is a software package to perform Bayesian optimization. The Software is designed to automatically run experiments (thus the code n
Implementation of paper "Self-supervised Learning on Graphs:Deep Insights and New Directions"
SelfTask-GNN A PyTorch implementation of "Self-supervised Learning on Graphs: Deep Insights and New Directions". [paper] In this paper, we first deepe
Object detection (YOLO) with pytorch, OpenCV and python
Real Time Object/Face Detection Using YOLO-v3 This project implements a real time object and face detection using YOLO algorithm. You only look once,
Active Offline Policy Selection With Python
Active Offline Policy Selection This is supporting example code for NeurIPS 2021 paper Active Offline Policy Selection by Ksenia Konyushkova*, Yutian