mfbalin / Concrete-Autoencoders

111 stars 31 forks source link

Error in calculating mean_max #10

Open foldy-lab opened 3 years ago

foldy-lab commented 3 years ago

Not sure if this is the right place to put it, but I think you have a small error when calculating mean_max

Line 107 reads: if K.get_value(K.mean(K.max(K.softmax(self.concrete_select.logits, axis = -1)))) >= stopper_callback.mean_max_target: Line 52 reads: monitor_value = K.get_value(K.mean(K.max(K.softmax(self.model.get_layer('concrete_select').logits), axis = -1)))

The difference is that in Line 107 you have axis=-1 in the K.softmax function, while in Line 52 you have it in the K.max function. From what I can tell, K.max, without axis specified takes the maximum of the entire matrix, instead of the row-wise maximum. For this reason, I have been seeing the program finish and exit when the monitoring value is still only ~0.15

mfbalin commented 11 months ago

Feel free to open a PR to fix this issue.