https://github.com/cedrickchee/capsnet-tensorflow
A Tensorflow implementation of CapsNet(Capsules Net) in Hinton's paper Dynamic Routing Between Capsules
Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.5%) to scientific vocabulary
Keywords
capsnet
capsule
neural-networks
Last synced: 6 months ago
·
JSON representation
Repository
A Tensorflow implementation of CapsNet(Capsules Net) in Hinton's paper Dynamic Routing Between Capsules
Basic Info
Statistics
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
- Releases: 0
Fork of naturomics/CapsNet-Tensorflow
Topics
capsnet
capsule
neural-networks
Created over 8 years ago
· Last pushed over 8 years ago
https://github.com/cedrickchee/CapsNet-Tensorflow/blob/master/
# CapsNet-Tensorflow
[](CONTRIBUTING.md)
[](https://opensource.org/licenses/Apache-2.0)

[](https://gitter.im/CapsNet-Tensorflow/Lobby)
A Tensorflow implementation of CapsNet in Hinton's paper [Dynamic Routing Between Capsules](https://arxiv.org/abs/1710.09829)
> **Status:**
> 1. The code runs, issue #8 fixed.
> 2. some results of the tag v0.1 version has been pasted out, but not effective as the results in the paper
> **Daily task**
> 1. Adjust margin
> 2. Improve the eval pipeline, integrate it into training pipeline: all you need is ``git clone``, ``cd`` and ``python main.py``
> **Others**
> 1. [Here()](https://zhihu.com/question/67287444/answer/251460831) is my understanding of section 4 of the paper (the core part of CapsNet), it might be helpful for understanding the code.
> 2. If you find out any problems, please let me know. I will try my best to 'kill' it as quickly as possible.
In the day of waiting, be patient: Merry days will come, believe. ---- Alexander PuskinIf :blush:
## Requirements
- Python
- NumPy
- [Tensorflow](https://github.com/tensorflow/tensorflow) (I'm using 1.3.0, others should work, too)
- tqdm (for showing training progress info)
- scipy (for saving image)
## Usage
### Training
**Step 1.**
Clone this repository with ``git``.
```
$ git clone https://github.com/naturomics/CapsNet-Tensorflow.git
$ cd CapsNet-Tensorflow
```
**Step 2.**
Download [MNIST dataset](http://yann.lecun.com/exdb/mnist/), ``mv`` and extract them into ``data/mnist`` directory.(Be careful the backslash appeared around the curly braces when you copy the ``wget `` command to your terminal, remove it)
```
$ mkdir -p data/mnist
$ wget -c -P data/mnist http://yann.lecun.com/exdb/mnist/{train-images-idx3-ubyte.gz,train-labels-idx1-ubyte.gz,t10k-images-idx3-ubyte.gz,t10k-labels-idx1-ubyte.gz}
$ gunzip data/mnist/*.gz
```
**Step 3.**
Start training with command line:
```
$ pip install tqdm # install it if you haven't installed yet
$ python train.py
```
the tqdm package is not necessary, just a tool for showing the training progress. If you don't want it, change the loop ``for in step ...`` to ``for step in range(num_batch)`` in ``train.py``
### Evaluation
```
$ python eval.py --is_training False
```
## Results
Results for the 'wrong' version(Issues #8):
- training loss



- test acc
|Epoch|49|51|
|:----:|:----:|:--:|
|test acc|94.69|94.71|





------------
Results after fix Issues #8:
> My simple comments for capsule
> 1. A new version neural unit(vector in vector out, not scalar in scalar out)
> 2. The routing algorithm is similar to attention mechanism
> 3. Anyway, a great potential work, we can do a lot of work on it
------------
### TODO:
- Finish the MNIST version of capsNet (progress:90%)
- Do some different experiments for capsNet:
* Using other datasets
* Adjusting model structure
- There is [another new paper](https://openreview.net/pdf?id=HJWLfGWRb) about capsules(submitted to ICLR 2018), follow-up.
## My weChat:

- We have a WeChat group, welcome to join us.
Owner
- Name: Cedric Chee
- Login: cedrickchee
- Kind: user
- Location: PID 1
- Company: InvictusByte
- Website: https://cedricchee.com
- Twitter: cedric_chee
- Repositories: 227
- Profile: https://github.com/cedrickchee
Lead Software Engineer | LLMs | full stack Go/JS dev, backend | product dev @ startups | 🧑🎓 CompSci | alumni: fast.ai, Antler.co