deepfakes / faceswap

Deepfakes Software For All
https://www.faceswap.dev
GNU General Public License v3.0
50.52k stars 13.06k forks source link

As this is meant to report issues, is there any place where we can chat about the code / new features? #142

Closed IUsedToBeAPygmy closed 6 years ago

IUsedToBeAPygmy commented 6 years ago

I've been doing some stuff with SSIM mixed with L1/L2 for loss functions, other activation layer types, etc. I'd like to discuss new options / features with you guys but I understand this would not be the place for that..

So where could we have an open discussion on who's doing what, who's trying what, results of different algos etc.?

Clorr commented 6 years ago

There are side repos for usage and theory in https://github.com/deepfakes/faceswap-playground and https://github.com/deepfakes/faceswap-model but they are not much used.

If it is to dicuss about theory, faceswap-model is better, if it is to add new features and then add code, it is ok to do it here. If you have code, it is even better to do a PR so that other can try it on their side

IUsedToBeAPygmy commented 6 years ago

Okay.

I'm thinking about using plugins for the activation as well, so we can add / test different activation types instead of the current LeakyReLu (like SELU, PELU etc.).. The same for the used optimizer (Adam / SGD / Nadam etc.)

But using custom activation types (like the ones in keras.contrib) change the serialization of the models - models trained with one activation type can't be loaded / continued with another.

So I'd like to propose to store used settings (model, optimizer, activation) in the actual filenames as to not overwrite previous data when switching to another type for testing.

I could imagine storing decoder_A_dssim_adam_pelu.h5 or decoder_B_original_nadam_leakyrelu.h5

Any thoughts?

Clorr commented 6 years ago

I totally agree, I did that for GAN, I should have done it for LowMem

Clorr commented 6 years ago

The suffix should match the plugin name IMHO

IUsedToBeAPygmy commented 6 years ago

We should do it for all parameters that break the serialization / ability to continue really.

Clorr commented 6 years ago

Ah ok, I understand. Thats possible, file names are just string we can construct on the fly...

IUsedToBeAPygmy commented 6 years ago

Can I have a go at this?

Clorr commented 6 years ago

Oh, feel free to do as you want and propose to others. My opinion is that it seems fine, but I'm not the only one here ;-)

gdunstone commented 6 years ago

I can look over it. Its better than the code I look over for work.

On 8 February 2018 at 03:33, Clorr notifications@github.com wrote:

Oh, feel free to do as you want and propose to others. My opinion is that it seems fine, but I'm not the only one here ;-)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/deepfakes/faceswap/issues/142#issuecomment-363827568, or mute the thread https://github.com/notifications/unsubscribe-auth/AEDEeGNLTcyv09xjONetLpCYYkacKOkuks5tSdBogaJpZM4R84X4 .

--

yubikey https://pgp.mit.edu/pks/lookup?op=get&search=0xEF32AD3C725E89DD

IUsedToBeAPygmy commented 6 years ago

By the way, what do I have to change to up the face resolution from 64x64 to 128x128?

IUsedToBeAPygmy commented 6 years ago

Alright I've got it working locally with selectable loss functions (including SSIM, and blend-weights to blend SSIM with L1 or L2), and the filenames now include the name of the used model. I'll add selectable activation functions including PELU, and probably make the optimizer selectable as well.

I just need to figure out how git works (I only have svn/p4 experience) to sync to master, merge my changes and commit. Going to RTFM now.

subzerofun commented 6 years ago

@IUsedToBeAPygmy Hey if you find out what to change for the 128x128 resolution – could you please upload a gist of the edited files? I've been trying around far too long and can't solve it myself.

gdunstone commented 6 years ago

You should fork the project and develop your changes, then create a pull request for your fork.

When you create the pull request, add me as a reviewer.

On 8 Feb. 2018 11:27, "subzerofun" notifications@github.com wrote:

@IUsedToBeAPygmy https://github.com/iusedtobeapygmy Hey if you find out what to change for the 128x128 resolution – could you please upload a gist of the edited files? I've been trying around far too long and can't solve it myself.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/deepfakes/faceswap/issues/142#issuecomment-363959896, or mute the thread https://github.com/notifications/unsubscribe-auth/AEDEeANEpkNVFB9zvInhj1AFxGyJe8uEks5tSj9mgaJpZM4R84X4 .

IUsedToBeAPygmy commented 6 years ago

I'd already forked and implemented my changes, but I figured I'd sync / merge to the latest master version first before creating a pull request? Once I've figured this out I'll create the pull request and add you as a reviewer.

Dev-iL commented 6 years ago

@IUsedToBeAPygmy regarding the topic of this issue - what about opening a Gitter room or a Slack workspace? Even IRC/Discord could work, honestly :)

IUsedToBeAPygmy commented 6 years ago

I'd prefer not to use a chat environment, I'd rather use a forum environment where the discussion is permanent allowing people to join the discussion on their own time.

Tvde1 commented 6 years ago

I think having a Discord guild would be beneficial for people looking for support.

andykdy commented 6 years ago

I personally agree with Pygmy In a forum format, important information can be kept and seen by a lot of people. In a chat useful bits of info are swept away by a slew of useless banter. I thought /r/deepfakes would have been an excellent place for technical discussion... But it was taken over by the internet

IUsedToBeAPygmy commented 6 years ago

@gdunstone I've created the pull request, but I don't know how to add you as reviewer. Be gentle, it's my first go at using Python and Github ;)