google-research / simclr

SimCLRv2 - Big Self-Supervised Models are Strong Semi-Supervised Learners
https://arxiv.org/abs/2006.10029
Apache License 2.0
4.12k stars 627 forks source link

Exact scripts to recreate augmented data from Figure 5 #43

Closed luisoala closed 4 years ago

luisoala commented 4 years ago

Dear Ting,

Thank you for sharing and documenting your code base for https://arxiv.org/pdf/2002.05709.pdf

I am interested in an analysis of the data you created for the results in Figure 5 of your paper. Any chance you have the script for this experiment available? I would like sample a few views from each augmentation composition you explored in that table.

All the best, Luis

chentingpc commented 4 years ago

Hi Luis, unfortunately relevant code and scripts are not included in the opensource codebase here. However, it should be pretty easy to find augmentation operators for those augmentations in tensorflow, and reproduce those experiments. Let me know if you have further questions.

luisoala commented 4 years ago

Dear Ting,

Thank you for the swift reply.

In fact, I would be interested in the exact configurations you used for the results in Figure 5 in Section 3.1 ("Composition of data augmentation operations is crucial for learning good representations").

Screenshot from 2020-06-29 02-08-40

I count seven in total (crop, cutout, color, sobel, noise, blur, rotate). In the appendix, I can find more detailed descriptions for three of them (crop, color, blur). In case you have the exact scripts or pseudo-code/description with parameters for the transformations of the experiment in section 3.1 at hand and are willing to share it would be immensely helpful.

For context: I am not planning to reproduce the self-supervised ablation experiment. I am interested in analyzing in more detail the ImageNet data under the exact transformation compositions you applied.

In good spirits, Luis

chentingpc commented 4 years ago

To keep this codebase manageable, we do not opensource these augmentation operations as well as experimental script here. But they are fairly easy to implement. For example, you can obtain sobel op with tf.image.sobel_edges, noise op with tf.random.uniform, rotate op with tf.image.rot90, cutout op can be found online such as here. Let me know if you have further questions.

luisoala commented 4 years ago

Okay, thank you for the pointers though. Best, Luis