Closed zhou-frank closed 5 years ago
@zhou-frank Because b = tf.random_shuffle(a)
is still reasonable attributes, however, b = 1 - a
might produce unreasonable ones. Taking the hair color for example, if one is with blond hair, so a = [blond hair, black hair, brown hair] = [1, 0, 0]
, then b = 1 - a = [0, 1, 1]
, however, we cannot have a person with both black and brown hair.
By the way, if you use AttGAN for a single attribute, you should still train it with multiple-attribute classifier, because some attributes are entangled (e.g., gender and beard). If you use single-attribute classifier, you might get entangled results, e.g., adding a beard makes the female look like a male.
I understand the first paragraph you said. But for a single attribute the aim of model is to invert specific attributes without considering other attributes.For example,a deglasses model should be able to remove the eyeglasses of a face image with eyeglasses and not change other attributes.So I think it’s better to use single-attribute cls in this situation. I am very grateful that you can give me some advice.Tks for your reply.
Hello, @LynnHo .Recently,I use your AttGAN model to train one attribute editing model e.g. remove/wear eyeglasses,with/not beard. In train.py, I found that you set b = tf.random_shuffle(a),why you didn't use b = 1 - a to invert all the original attributes.I think it will make the model more directly in situation above. Tks for your reply.