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
CMP 414/765 course repository for Spring 2022 semester
CMP414/765: Artificial Intelligence Spring2021 This is the GitHub repository for course CMP 414/765: Artificial Intelligence taught at The City Univer
Fader Networks: Manipulating Images by Sliding Attributes - NIPS 2017
FaderNetworks PyTorch implementation of Fader Networks (NIPS 2017). Fader Networks can generate different realistic versions of images by modifying at
3ds-Ghidra-Scripts - Ghidra scripts to help with 3ds reverse engineering
3ds Ghidra Scripts These are ghidra scripts to help with 3ds reverse engineering
Simple renderer for use with MuJoCo (>=2.1.2) Python Bindings.
Viewer for MuJoCo in Python Interactive renderer to use with the official Python bindings for MuJoCo. Starting with version 2.1.2, MuJoCo comes with n
CoANet: Connectivity Attention Network for Road Extraction From Satellite Imagery
CoANet: Connectivity Attention Network for Road Extraction From Satellite Imagery This paper (CoANet) has been published in IEEE TIP 2021. This code i
Code for the paper "Jukebox: A Generative Model for Music"
Status: Archive (code is provided as-is, no updates expected) Jukebox Code for "Jukebox: A Generative Model for Music" Paper Blog Explorer Colab Insta
Generating Band-Limited Adversarial Surfaces Using Neural Networks
Generating Band-Limited Adversarial Surfaces Using Neural Networks This is the official repository of the technical report that was published on arXiv
A Real-Time-Strategy game for Deep Learning research
Description DeepRTS is a high-performance Real-TIme strategy game for Reinforcement Learning research. It is written in C++ for performance, but provi
Extremely simple and fast extreme multi-class and multi-label classifiers.
napkinXC napkinXC is an extremely simple and fast library for extreme multi-class and multi-label classification, that focus of implementing various m
Self-supervised learning algorithms provide a way to train Deep Neural Networks in an unsupervised way using contrastive losses
Self-supervised learning Self-supervised learning algorithms provide a way to train Deep Neural Networks in an unsupervised way using contrastive loss
PyTorch reimplementation of hand-biomechanical-constraints (ECCV2020)
Hand Biomechanical Constraints Pytorch Unofficial PyTorch reimplementation of Hand-Biomechanical-Constraints (ECCV2020). This project reimplement foll
Implementation of "Debiasing Item-to-Item Recommendations With Small Annotated Datasets" (RecSys '20)
Debiasing Item-to-Item Recommendations With Small Annotated Datasets This is the code for our RecSys '20 paper. Other materials can be found here: Ful
NeurIPS 2021, self-supervised 6D pose on category level
SE(3)-eSCOPE video | paper | website Leveraging SE(3) Equivariance for Self-Supervised Category-Level Object Pose Estimation Xiaolong Li, Yijia Weng,
PyTorch implementation of MuseMorphose, a Transformer-based model for music style transfer.
MuseMorphose This repository contains the official implementation of the following paper: Shih-Lun Wu, Yi-Hsuan Yang MuseMorphose: Full-Song and Fine-
Personalized Transfer of User Preferences for Cross-domain Recommendation (PTUPCDR)
This is the official implementation of our paper Personalized Transfer of User Preferences for Cross-domain Recommendation (PTUPCDR), which has been accepted by WSDM2022.
Framework for estimating the structures and parameters of Bayesian networks (DAGs) at per-sample resolution
Sample-specific Bayesian Networks A framework for estimating the structures and parameters of Bayesian networks (DAGs) at per-sample or per-patient re
Pytorch Lightning Distributed Accelerators using Ray
Distributed PyTorch Lightning Training on Ray This library adds new PyTorch Lightning accelerators for distributed training using the Ray distributed
Run Keras models in the browser, with GPU support using WebGL
**This project is no longer active. Please check out TensorFlow.js.** The Keras.js demos still work but is no longer updated. Run Keras models in the
PyTorch and Tensorflow functional model definitions
functional-zoo Model definitions and pretrained weights for PyTorch and Tensorflow PyTorch, unlike lua torch, has autograd in it's core, so using modu
CVPR 2022 "Online Convolutional Re-parameterization"
OREPA: Online Convolutional Re-parameterization This repo is the PyTorch implementation of our paper to appear in CVPR2022 on "Online Convolutional Re