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
Neural Network Libraries
Neural Network Libraries Neural Network Libraries is a deep learning framework that is intended to be used for research, development and production. W
MAU: A Motion-Aware Unit for Video Prediction and Beyond, NeurIPS2021
MAU (NeurIPS2021) Zheng Chang, Xinfeng Zhang, Shanshe Wang, Siwei Ma, Yan Ye, Xinguang Xiang, Wen GAo. Official PyTorch Code for "MAU: A Motion-Aware
Research code for CVPR 2021 paper "End-to-End Human Pose and Mesh Reconstruction with Transformers"
MeshTransformer ✨ This is our research code of End-to-End Human Pose and Mesh Reconstruction with Transformers. MEsh TRansfOrmer is a simple yet effec
Library to enable Bayesian active learning in your research or labeling work.
Bayesian Active Learning (BaaL) BaaL is an active learning library developed at ElementAI. This repository contains techniques and reusable components
Unofficial PyTorch implementation of MobileViT based on paper "MobileViT: Light-weight, General-purpose, and Mobile-friendly Vision Transformer".
MobileViT RegNet Unofficial PyTorch implementation of MobileViT based on paper MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TR
wgan, wgan2(improved, gp), infogan, and dcgan implementation in lasagne, keras, pytorch
Generative Adversarial Notebooks Collection of my Generative Adversarial Network implementations Most codes are for python3, most notebooks works on C
PyTorch Implementation of Realtime Multi-Person Pose Estimation project.
PyTorch Realtime Multi-Person Pose Estimation This is a pytorch version of Realtime_Multi-Person_Pose_Estimation, origin code is here Realtime_Multi-P
Solve a Rubiks Cube using Python Opencv and Kociemba module
Rubiks_Cube_Solver Solve a Rubiks Cube using Python Opencv and Kociemba module Main Steps Get the countours of the cube check whether there are tota
Code Repository for The Kaggle Book, Published by Packt Publishing
The Kaggle Book Data analysis and machine learning for competitive data science Code Repository for The Kaggle Book, Published by Packt Publishing "Lu
PyTorch reimplementation of minimal-hand (CVPR2020)
Minimal Hand Pytorch Unofficial PyTorch reimplementation of minimal-hand (CVPR2020). you can also find in youtube or bilibili bare hand youtube or bil
Code for "Diffusion is All You Need for Learning on Surfaces"
Source code for "Diffusion is All You Need for Learning on Surfaces", by Nicholas Sharp Souhaib Attaiki Keenan Crane Maks Ovsjanikov NOTE: the linked
Black box hyperparameter optimization made easy.
BBopt BBopt aims to provide the easiest hyperparameter optimization you'll ever do. Think of BBopt like Keras (back when Theano was still a thing) for
Export CenterPoint PonintPillars ONNX Model For TensorRT
CenterPoint-PonintPillars Pytroch model convert to ONNX and TensorRT Welcome to CenterPoint! This project is fork from tianweiy/CenterPoint. I impleme
Speedy Implementation of Instance-based Learning (IBL) agents in Python
A Python library to create single or multi Instance-based Learning (IBL) agents that are built based on Instance Based Learning Theory (IBLT) 1 Instal
A Tensorflow implementation of BicycleGAN.
BicycleGAN implementation in Tensorflow As part of the implementation series of Joseph Lim's group at USC, our motivation is to accelerate (or sometim
Learning Temporal Consistency for Low Light Video Enhancement from Single Images (CVPR2021)
StableLLVE This is a Pytorch implementation of "Learning Temporal Consistency for Low Light Video Enhancement from Single Images" in CVPR 2021, by Fan
Godot RL Agents is a fully Open Source packages that allows video game creators
Godot RL Agents The Godot RL Agents is a fully Open Source packages that allows video game creators, AI researchers and hobbiest the opportunity to le
Unofficial PyTorch code for BasicVSR
Dependencies and Installation The code is based on BasicSR, Please install the BasicSR framework first. Pytorch=1.51 Training cd ./code CUDA_VISIBLE_
PyTorch implementation of Neural Combinatorial Optimization with Reinforcement Learning.
neural-combinatorial-rl-pytorch PyTorch implementation of Neural Combinatorial Optimization with Reinforcement Learning. I have implemented the basic
Geometric Algebra package for JAX
JAXGA - JAX Geometric Algebra GitHub | Docs JAXGA is a Geometric Algebra package on top of JAX. It can handle high dimensional algebras by storing onl