harskish / ganspace

Discovering Interpretable GAN Controls [NeurIPS 2020]
Apache License 2.0
1.78k stars 265 forks source link

Forked repository mentioned in the README? #8

Closed woctezuma closed 4 years ago

woctezuma commented 4 years ago

In the README, you mention a forked repository:

Follow the instructions here. Make sure to use the forked repository in the conversion for compatibility reasons.

~However, there is no fork. Is it an obsolete sentence?~

woctezuma commented 4 years ago

Nevermind, I was thinking about a branch. It did not occur to me that you were talking about your repository, which is a fork of another one, as made clear in another issue.

woctezuma commented 4 years ago

Actually, I would like to know why you link to the fork rather than the original repository. What does the fork do differently compared to the original repository? Is the incompatibility of the converted weights (using the original repository) due to the latest updates of the original repository, or is it solely because it is missing some changes from the fork? If I use an old version of the original repository, does the incompatibility go away?

harskish commented 4 years ago

The fork is slightly older than the original repository. Specifically, the fork is missing https://github.com/rosinality/stylegan2-pytorch/commit/f79322a4ad098fd1ebf7c4cfdc6767c757c719fb, which means that checkpoints converted with rosinality's repositiroy contain more parameters than the fork expects.

I see two approaches to fixing this. The simpler solution is to update the fork to just print a warning if there are additional parameters instead of raising an error - that way the fork would accept checkpoints converted by the official repository. The other option is to update the fork to contain all the features of the upstream repository, but then I'd have to update the existing checkpoints, which might result in version mismatches for people that haven't updated yet.

woctezuma commented 4 years ago

Right. Thanks for clearing things up! The simpler solution sounds the best.

I will play with GANspace in the near future, after I convert the weights using the fork then.