removed SAEv2,

added SAEHD model ( High Definition Styled AutoEncoder )
This is a new heavyweight model for high-end cards to achieve maximum possible deepfake quality in 2020.
Differences from SAE:
+ new encoder produces more stable face and less scale jitter
  before: https://i.imgur.com/4jUcol8.gifv
  after:  https://i.imgur.com/lyiax49.gifv - scale of the face is less changed within frame size
+ new decoder produces subpixel clear result
+ pixel loss and dssim loss are merged together to achieve both training speed and pixel trueness
+ by default networks will be initialized with CA weights, but only after first successful iteration
  therefore you can test network size and batch size before weights initialization process
+ new neural network optimizer consumes less VRAM than before
+ added option <Enable 'true face' training>
  The result face will be more like src and will get extra sharpness.
  example: https://i.imgur.com/ME3A7dI.gifv
  Enable it for last 15-30k iterations before conversion.
+ encoder and decoder dims are merged to one parameter encoder/decoder dims
+ added mid-full face, which covers 30% more area than half face.
This commit is contained in:
Colombo 2019-10-08 15:09:28 +04:00
parent cbc18b2d41
commit ac7725163d
7 changed files with 128 additions and 155 deletions

View file

@ -508,6 +508,10 @@ class ModelBase(object):
def generate_next_sample(self):
return [ generator.generate_next() for generator in self.generator_list]
#overridable
def on_success_train_one_iter(self):
pass
def train_one_iter(self):
sample = self.generate_next_sample()
iter_time = time.time()
@ -534,7 +538,8 @@ class ModelBase(object):
img = (np.concatenate ( [preview_lh, preview], axis=0 ) * 255).astype(np.uint8)
cv2_imwrite (filepath, img )
self.on_success_train_one_iter()
self.iter += 1
return self.iter, iter_time