endernewton / Iter Reason
Licence: mit
Code for Iterative Reasoning Paper (CVPR 2018)
Stars: ✭ 263
Programming Languages
python
139335 projects - #7 most used programming language
Projects that are alternatives of or similar to Iter Reason
Food Recipe Cnn
food image to recipe with deep convolutional neural networks.
Stars: ✭ 448 (+70.34%)
Mutual labels: classification, recognition
Phormatics
Using A.I. and computer vision to build a virtual personal fitness trainer. (Most Startup-Viable Hack - HackNYU2018)
Stars: ✭ 79 (-69.96%)
Mutual labels: classification, recognition
Simpsonrecognition
Detect and recognize The Simpsons characters using Keras and Faster R-CNN
Stars: ✭ 131 (-50.19%)
Mutual labels: classification, recognition
mirapy
MiraPy: A Python package for Deep Learning in Astronomy
Stars: ✭ 40 (-84.79%)
Mutual labels: classification
df-dn-paper
Conceptual & empirical comparisons between decision forests & deep networks
Stars: ✭ 14 (-94.68%)
Mutual labels: classification
covid-mask-detector
Detect whether a person is wearing a mask or not
Stars: ✭ 102 (-61.22%)
Mutual labels: classification
MachineLearningSeries
Vídeos e códigos do Universo Discreto ensinando o fundamental de Machine Learning em Python. Para mais detalhes, acompanhar a playlist listada.
Stars: ✭ 20 (-92.4%)
Mutual labels: classification
pywedge
Makes Interactive Chart Widget, Cleans raw data, Runs baseline models, Interactive hyperparameter tuning & tracking
Stars: ✭ 49 (-81.37%)
Mutual labels: classification
Synthetic-data-gen
Various methods for generating synthetic data for data science and ML
Stars: ✭ 57 (-78.33%)
Mutual labels: classification
Competitive-Feature-Learning
Online feature-extraction and classification algorithm that learns representations of input patterns.
Stars: ✭ 32 (-87.83%)
Mutual labels: classification
astrodash
Deep learning for the automated spectral classification of supernovae
Stars: ✭ 25 (-90.49%)
Mutual labels: classification
support-tickets-classification
This case study shows how to create a model for text analysis and classification and deploy it as a web service in Azure cloud in order to automatically classify support tickets. This project is a proof of concept made by Microsoft (Commercial Software Engineering team) in collaboration with Endava http://endava.com/en
Stars: ✭ 142 (-46.01%)
Mutual labels: classification
PAPC
PAPC is a deep learning for point clouds platform based on pure PaddlePaddle
Stars: ✭ 55 (-79.09%)
Mutual labels: classification
ml-am-lm-cmusphinx
This is Malayalam Speech Recognition model developed for CMUSphinx. This is now used for Google Summer Code 2016
Stars: ✭ 28 (-89.35%)
Mutual labels: recognition
CLUE pytorch
CLUE baseline pytorch CLUE的pytorch版本基线
Stars: ✭ 72 (-72.62%)
Mutual labels: classification
MLSample.SimpleTransactionTagging
This is an simple example of tagging bank transactions with ML.NET
Stars: ✭ 13 (-95.06%)
Mutual labels: classification
ruby-magic
Simple interface to libmagic for Ruby Programming Language
Stars: ✭ 23 (-91.25%)
Mutual labels: recognition
image-classifier-service
Sorting my messed folder where I put my holidays pictures was not fun. My computer made the trick for me with Deep Learning!
Stars: ✭ 31 (-88.21%)
Mutual labels: recognition
tennis action recognition
Using deep learning to perform action recognition in the sport of tennis.
Stars: ✭ 17 (-93.54%)
Mutual labels: classification
HAR
Recognize one of six human activities such as standing, sitting, and walking using a Softmax Classifier trained on mobile phone sensor data.
Stars: ✭ 18 (-93.16%)
Mutual labels: classification
Iterative Visual Reasoning Beyond Convolutions
By Xinlei Chen, Li-Jia Li, Li Fei-Fei and Abhinav Gupta.
Disclaimer
- This is the authors' implementation of the system described in the paper, not an official Google product.
- Right now:
- The available reasoning module is based on convolutions and spatial memory.
- For simplicity, the released code uses the tensorflow default
crop_and_resize
operation, rather than the customized one reported in the paper (I find the default one is actually better by ~1%).
Prerequisites
- Tensorflow, tested with version 1.6 with Ubuntu 16.04, installed with:
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.6.0-cp27-none-linux_x86_64.whl
- Other packages needed can be installed with
pip
:
pip install Cython easydict matplotlib opencv-python Pillow pyyaml scipy
- For running COCO, the API can be installed globally:
# any path is okay
mkdir ~/install && cd ~/install
git clone https://github.com/cocodataset/cocoapi.git cocoapi
cd cocoapi/PythonAPI
python setup.py install --user
Setup and Running
- Clone the repository.
git clone https://github.com/endernewton/iter-reason.git
cd iter-reason
- Set up data, here we use ADE20K as an example.
mkdir -p data/ADE
cd data/ADE
wget -v http://groups.csail.mit.edu/vision/datasets/ADE20K/ADE20K_2016_07_26.zip
tar -xzvf ADE20K_2016_07_26.zip
mv ADE20K_2016_07_26/* ./
rmdir ADE20K_2016_07_26
# then get the train/val/test split
wget -v http://xinleic.xyz/data/ADE_split.tar.gz
tar -xzvf ADE_split.tar.gz
rm -vf ADE_split.tar.gz
cd ../..
- Set up pre-trained ImageNet models. This is similarly done in tf-faster-rcnn. Here by default we use ResNet-50 as the backbone:
mkdir -p data/imagenet_weights
cd data/imagenet_weights
wget -v http://download.tensorflow.org/models/resnet_v1_50_2016_08_28.tar.gz
tar -xzvf resnet_v1_50_2016_08_28.tar.gz
mv resnet_v1_50.ckpt res50.ckpt
cd ../..
- Compile the library (for computing bounding box overlaps).
cd lib
make
cd ..
- Now you are ready to run! For example, to train and test the baseline:
./experiments/scripts/train.sh [GPU_ID] [DATASET] [NET] [STEPS] [ITER]
# GPU_ID is the GPU you want to test on
# DATASET in {ade, coco, vg} is the dataset to train/test on, defined in the script
# NET in {res50, res101} is the backbone networks to choose from
# STEPS (x10K) is the number of iterations before it reduces learning rate, can support multiple steps separated by character 'a'
# ITER (x10K) is the total number of iterations to run
# Examples:
# train on ADE20K for 320K iterations, reducing learning rate at 280K.
./experiments/scripts/train.sh 0 ade 28 32
# train on COCO for 720K iterations, reducing at 320K and 560K.
./experiments/scripts/train.sh 1 coco 32a56 72
- To train and test the reasoning modules (based on ResNet-50):
./experiments/scripts/train_memory.sh [GPU_ID] [DATASET] [MEM] [STEPS] [ITER]
# MEM in {local} is the type of reasoning modules to use
# Examples:
# train on ADE20K on the local spatial memory.
./experiments/scripts/train_memory.sh 0 ade local 28 32
-
Once the training is done, you can test the models separately with
test.sh
andtest_memory.sh
, we also provided a separate set of scripts to test on larger image inputs. -
You can use tensorboard to visualize and track the progress, for example:
tensorboard --logdir=tensorboard/res50/ade_train_5/ --port=7002 &
References
@inproceedings{chen18iterative,
author = {Xinlei Chen and Li-Jia Li and Li Fei-Fei and Abhinav Gupta},
title = {Iterative Visual Reasoning Beyond Convolutions},
booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
Year = {2018}
}
The idea of spatial memory was developed in:
@inproceedings{chen2017spatial,
author = {Xinlei Chen and Abhinav Gupta},
title = {Spatial Memory for Context Reasoning in Object Detection},
booktitle = {Proceedings of the International Conference on Computer Vision},
Year = {2017}
}
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].