Skip to content

Commit e66d81e

Browse files
Update README.md
1 parent 008498d commit e66d81e

File tree

1 file changed

+24
-19
lines changed

1 file changed

+24
-19
lines changed

README.md

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ This repo contains the code used for numerical experiments in the "[Learning Mix
1616
## License and Citation
1717
The code in this repo is being released under the GNU General Public License v3.0; please refer to the [LICENSE](./LICENSE) file in the repo for detailed legalese pertaining to the license. In particular, if you use any part of this code then you must cite both the original paper as well as this codebase as follows:
1818

19-
**Paper Citation:** M. Ghassemi, Z. Shakeri, A.D. Sarwate, and W.U. Bajwa, "Learning mixtures of separable dictionaries for tensor data: Analysis and algorithms," IEEE Trans. Signal Processing, vol. 68, pp. 33-48, 2020.
19+
**Paper Citation:** M. Ghassemi, Z. Shakeri, A.D. Sarwate, and W.U. Bajwa, "Learning mixtures of separable dictionaries for tensor data: Analysis and algorithms," IEEE Trans. Signal Processing, vol. 68, pp. 33-48, 2020; doi: [10.1109/TSP.2019.2952046](https://doi.org/10.1109/TSP.2019.2952046).
2020

2121
**Codebase Citation:** J. Shenouda, M. Ghassemi, Z. Shakeri, A.D. Sarwate, and W.U. Bajwa, "Codebase---Learning mixtures of separable dictionaries for tensor data: Analysis and algorithms," GitHub Repository, 2020.
2222

@@ -39,13 +39,16 @@ Almost all of the experiment were completed in about 3 days; however, some of th
3939

4040
**Note:** Precise values of some of the parameters, such as the random seeds, initially used to generate results in the paper were lost. Nonetheless, all the results obtained from this codebase are consistent with all the discussions and conclusions made in the paper.
4141

42+
## External Dependencies
43+
In order to reproduce our results for image denoising with the [SeDiL](https://doi.org/10.1109/CVPR.2013.63) algorithm, you will need the source code for SeDiL; however, we do not have permission to publicize that code. In the absence of that code, you can run the alternative function `LSRImageDenoising_noSeDiL.m`. Alternatively, you can contact us with proof of express permission from the original authors of the SeDiL algorithm, after which we can provide you the codebase that includes SeDiL.
44+
4245
<a name="real_experiments"></a>
4346
# Real-data Experiments
44-
The `Real_Experiments` directory contains the code used to produce the results for the real image denoising experiments as described in the paper.
47+
The `Real_Experiments` directory contains the code used to produce the results for the real image denoising experiments as described in the paper.
4548

4649
## Steps to reproduce the results
4750
### Table II in the Paper: Performance of all Dictionary Learning Algorithms
48-
To perform the image denoising experiments, we had one function `LSRImageDenoising.m` that was used for each image by passing in different parameters to the function. In order to speed up our computations, we ran the`LSRImageDenoising.m` function 3 times for each image and then concatenated our representation errors in all three `.mat` files that our function returned to give us a a total of 25 Monte Carlo trials.
51+
To perform the image denoising experiments for Table II in the paper, we had one function `LSRImageDenoising.m` that was used for each image by passing in different parameters to the function. In order to speed up our computations, we ran the`LSRImageDenoising.m` function three times for each image and then concatenated our representation errors in all three `.mat` files that our function returned to give us results corresponding to a total of 25 Monte Carlo trials.
4952

5053
For example to perform image denoising experiments on the "House" image, we ran:
5154
- `LSRImageDenoising(8, '../Data/rand_state1.mat','../Data/house_color.tiff', "House", "rnd1");`
@@ -65,40 +68,42 @@ To reproduce Table III in the paper, we ran the `mushroomDenoisingTeFDiL.m` func
6568
This produces three `.mat` files under the `Real_Experiments/Mushroom` directory. Once all three functions finished running, we ran `getMushroomTeFDiLPSNR.m` to produce the PSNR values of TeFDiL at various ranks, corresponding to Table III in the paper.
6669

6770
## Runtime
68-
On our servers, this job completed in 3 days for the House, Castle and Mushroom images; however for the Lena image, it took over 5 days for the job to finish completely.
69-
70-
## External Dependency
71-
In order to reproduce our results for image denoising with SeDiL, you will need the source code for SeDiL. We do not have permission to publicize that code; therefore, if you do not have it then you can run the alternative function `LSRImageDenoising_noSeDiL.m` or contact us with proof of express permission from the original authors of the SeDiL algorithm to allow us to give you the codebase that includes SeDiL.
71+
On our servers, this job completed in three days for the House, Castle and Mushroom images; however for the Lena image, it took over five days for the job to finish completely.
7272

7373
<a name="online_experiments"></a>
74-
# Online Algorithm Experiment with House image
74+
# Online-learning Algorithm Experiments with House image
7575
The `Online_Experiment` directory contains the code used to run the experiments for the online dictionary learning algorithms.
76-
## Steps to reproduce
77-
- Run the `HouseOnline.m` function twice once with `Data/rand_state1` and again with `Data/rand_state2`
7876

79-
ex.
77+
## Steps to reproduce the results
78+
In order to reproduce Figure 3(b) in the paper, we ran the `HouseOnline.m` function twice; once with `Data/rand_state1` and again with `Data/rand_state2`. E.g.,
8079
- `HouseOnline('../Data/rand_state1')`
8180
- `HouseOnline('../Data/rand_state2')`
8281

83-
We split up the monte carlos over two jobs on our server for a total of 30 monte carlos.
82+
We split up the Monte Carlo trials over two jobs on our server for a total of 30 Monte Carlo trials.
83+
84+
After running the function twice (preferably at the same time as two jobs), it will save two new `.mat` files; copy those new `.mat` files to your local machine and run the `plotsOnline.m` script, which will load in the two `.mat` files that were generated and concatenate them together before plotting the result.
8485

85-
After running the function twice (preferably at the same time as 2 jobs) it will save 2 new `.mat` files copy those new `.mat` files to your local machine and run the `plotsOnline.m` script which will load in the two `.mat` files that were generated and concatenate them together before plotting the result.
8686
## Runtime
87-
It took about 3 days for our online experiments to finish running.
87+
It took about three days for our online experiments to finish running.
88+
8889
<a name="synthetic_experiments"></a>
89-
# Synthetic Experiment
90+
# Synthetic-data Experiments
9091
The code for the synthetic experiments can be found in the `Synthetic_Experiments` directory.
91-
## Steps to reproduce
92-
To obtain our results we ran the `synthetic_experiments.m` file which will return a `.mat` file called `3D_synthetic_results_25MonteCarlo.mat` after the code has finished running. Once it is finished copy the generated `.mat` files to your local machine and run the `plot_synthetic.m` script in MATLAB which will produce a plot of the average test error for each algorithm.
92+
93+
## Steps to reproduce the results
94+
In order to reproduce Figure 3(a) in the paper, we ran the `synthetic_experiments.m` file that returns a `.mat` file called `3D_synthetic_results_25MonteCarlo.mat` after the code has finished running. Once the code finishes execution, copy the generated `.mat` files to your local machine and run the `plot_synthetic.m` script in MATLAB. This will produce a plot of the average test error for each algorithm.
9395

9496
## Runtime
95-
This experiment also took about 3 days to finish running on our computing cluster.
97+
This set of experiments also took about three days to finish running on our computing cluster.
98+
9699
<a name="contributors"></a>
97100
# Contributors
98101

99-
The original algorithms and experiments were developed by the authors of the paper
102+
The original algorithms and experiments were developed by the authors of the paper:
100103
- [Mohsen Ghassemi](http://eceweb1.rutgers.edu/~mg975/)
101104
- [Zahra Shakeri](https://sites.google.com/view/zshakeri/home?authuser=1)
105+
- [Anand D. Sarwate](https://www.ece.rutgers.edu/~asarwate/)
106+
- [Waheed U. Bajwa](http://www.inspirelab.us/)
102107

103108
The reproducibility of this codebase and publicizing of it was made possible by:
104109
- [Joseph Shenouda](https://github.com/jshen99)

0 commit comments

Comments
 (0)