selfconsistency icon indicating copy to clipboard operation
selfconsistency copied to clipboard

I think it is a great work !Can you share your train code and dataset?

Open c1a1o1 opened this issue 6 years ago • 18 comments

I think it is a great work !Can you share your train code and dataset? Thank you very much!

c1a1o1 avatar May 25 '18 04:05 c1a1o1

Talking with others to figure out the best way to release this section. Thanks for asking!

AndrewHLiu avatar Jun 05 '18 22:06 AndrewHLiu

Hey any Updates on this? Can you maybe say how you chose the labels in the case that a tag was not shared by an input pair?

ChrisLab91 avatar Oct 06 '18 16:10 ChrisLab91

We sort our data into a dictionary .. where each key is an EXIF tag that is mapped to N lists (N is the number of values for the given EXIF tag). Each list consists of all the images that has this value. Hence, we can easily sample a batch from these lists. We assign a null label (e.g -1) to the images that either does not have a tag or is under the pruning threshold. When you train your model you can either mask the loss or always assign a target of 0 when one of the label is a null value.

minyoungg avatar Oct 07 '18 01:10 minyoungg

Thanks so much for your answer!

I think there is one more thing that is unclear to me:

Did you sample each picture pair for one (random?) "tag" and selected a value for that tag uniformly? Or did you rather select the pictures such that you also gurantee 50% of each batch shares the value for EVERY (used) tag. It would be not trivial to me how to achieve such an selection.

ChrisLab91 avatar Oct 07 '18 17:10 ChrisLab91

For each training batch we choose 1 exif tag and 1 value within that tag. These are chosen uniformly at random. Given this tag and value we make sure half of the batch will be consistent (both images have the same value) and half of the batch will be inconsistent (1 image will have the value and the other will not). The images are chosen at random from the list explained above. We do this because it is computationally expensive to find an unbiased set of images. Of course this introduces biases on other exif tags if we compute loss on all the tags and backprop on it. Although we did not do this in our original implementation, one could just backprop on that specific tag to reduce bias ... which I would assume prolongs the training time. Hope this helps.

minyoungg avatar Oct 08 '18 22:10 minyoungg

Thanks!

ChrisLab91 avatar Oct 12 '18 23:10 ChrisLab91

@c1a1o1 @ChrisLab91 hey guys, have you met the Intel MKL ERROR: Parameter 6 was incorrect on entry to DLASWP when you run ncuts_demo.py ? could you give me some solving suggestions?

yelusaleng avatar Nov 28 '18 02:11 yelusaleng

Hi, I would also find it really helpful if you could add a training example. Many thanks!

shgidi avatar Apr 15 '19 12:04 shgidi

A great work! And I'm really looking forward to reproducing the results. I'm very appreciate it if you could provide the dataset and trainning examples.

imjiangjun avatar Aug 13 '19 14:08 imjiangjun

Hi, I am still not clear about some things-

  1. after choosing the tag and the value uniformly for a batch, while constructing the inconsistent half batch, for each pair of images, one image has the same value as the value for the consistent images while the other image has a different value. Do they have the same tag but a different value or it can have different tags?
  2. we are computing loss for whether the chosen tag was same or not. Do we check whether a consistent pair of images have some other tag which has same value besides the chosen tag (like in fig.3 of the paper)? If so, which loss function is used?
  3. how to compute the loss of inconsistent image pairs? Do we use the null label for it? If so, then how do handle class imbalance problem?

shauryagoel avatar Apr 12 '20 13:04 shauryagoel

Can you please share the trained weights zip? It is unavailable on berkley website

kuznetsoffandrey avatar Apr 28 '21 09:04 kuznetsoffandrey

Hi ! It would be amazing if you could share the training implementation on github. Thanks a lot !

vincenzocolella avatar Jun 24 '21 15:06 vincenzocolella

Nice job! is it possible to have a main in order to train on another dataset?

thanks in advance!

onaidra avatar Jun 25 '21 15:06 onaidra

i'm having problems in exif_solver function setup_data because i can't understand nextbatch at which data type is referred to. Another problem that i'm struggling to understand is the functions' order used to train the dataset.

Any suggestion?

onaidra avatar Jun 26 '21 14:06 onaidra

@minyoungg @AndrewHLiu I am not understanding what setup_data(self, data, data_fn=None) is expecting as input, because data_fn in get_data is used as a function "self.data_fn(batch_size,split=split)" but there is no function with input split

onaidra avatar Jun 28 '21 16:06 onaidra

@ChrisLab91 have you been able to train on another dataset?

onaidra avatar Jun 28 '21 16:06 onaidra

@ChrisLab91 have you been able to train on another dataset?

Yes, I downloaded it from flickr myself they have / had relatively mild regulations on downloads if you have the bandwidth. I don't have the dataset anymore though.

christian-holland avatar Jun 28 '21 17:06 christian-holland

@christian-holland thanks for your reply, can you please contact me privately on my email address? I just wanted some advice in how to create a "main" in order to train the dataset.

Thanks in advance

onaidra avatar Jun 28 '21 17:06 onaidra