An equivalence of fully connected layer and convolutional layer.
* numpy
* python3
* tensorflow
* keras
* panda
* h5py
* matplotlib
* skimage
* trainnetworks.py # train CNN and FC network.
* visiualNet.py # plot the architecture of the networks.
* computeFnorm.py # compare the two well tuned networks, plot historams of the weights and filters.
* net.py # define CNN and FC network.
* img2col.py # converting 4D data to 2D matrix.
* Data.py # data provider.
* plotcsv.plotHistory.py # plot the training and validation loss.
* logger.BachLosses.py # record the loss of every batch druing training.
- train the two networks
python3 trainnetworks.py
. The log file and model are stored in the directory logs and model. - visiualize the two networks
python3 visualNet.py
. The reulsts are stored in the logs directory. - compare the two well-tuned networks,
python3 computeFnorm.py
. - visualize the losses of the two networks,
python3 plotHistory.py
.
Cite out technical report if it is useful to your research:
@misc{1712.01252,
author = {Wei Ma and Jun Lu},
title = {{A}n {E}quivalence of {F}ully {C}onnected {L}ayer and {C}onvolutional {L}ayer},
year = {2017},
eprint = {1712.01252}
}
- Program hipsternet
- Andrea Vedaldi and Karel Lenc. Matconvnet: Convolutional neural networks for matlab. In Proceedings of the 23rd ACM international conference on Multimedia, pp. 689–692. ACM, 2015.