04/29/2020 12:09:03 MainProcess MainThread logger log_setup INFO Log level set to: TRACE 04/29/2020 12:09:03 MainProcess MainThread launcher execute_script DEBUG Executing: convert. PID: 15336 04/29/2020 12:09:05 MainProcess MainThread launcher _test_for_tf_version DEBUG Installed Tensorflow Version: 1.15 04/29/2020 12:09:05 MainProcess MainThread queue_manager __init__ DEBUG Initializing QueueManager 04/29/2020 12:09:05 MainProcess MainThread queue_manager __init__ DEBUG Initialized QueueManager 04/29/2020 12:09:05 MainProcess MainThread convert __init__ DEBUG Initializing Convert: (args: Namespace(alignments_path='D:\\Testing\\faceswap\\Extract\\Source\\source_test1\\source_test1\\alignments.fsa', allow_growth=False, colab=False, color_adjustment='avg-color', configfile=None, filter=None, frame_ranges=None, func=>, gpus=1, input_aligned_dir=None, input_dir='D:\\Testing\\faceswap\\Extract\\Source\\source_test1', jobs=0, keep_unchanged=False, logfile='D:\\Testing\\faceswap\\Extract\\log_test1.log', loglevel='TRACE', mask_type='none', model_dir='D:\\Testing\\faceswap\\Extract\\Model\\model_test1', nfilter=None, on_the_fly=False, output_dir='D:\\Testing\\faceswap\\Extract\\Convert\\test2', output_scale=100, redirect_gui=True, ref_threshold=0.4, reference_video=None, scaling='none', singleprocess=False, swap_model=False, trainer=None, writer='opencv')) 04/29/2020 12:09:05 MainProcess MainThread image __init__ DEBUG Initializing ImagesLoader: (path: D:\Testing\faceswap\Extract\Source\source_test1, queue_size: 8, fast_count: True, skip_list: None, count: None) 04/29/2020 12:09:05 MainProcess MainThread image __init__ DEBUG Initializing ImagesLoader: (path: D:\Testing\faceswap\Extract\Source\source_test1, queue_size: 8, args: None) 04/29/2020 12:09:05 MainProcess MainThread queue_manager get_queue DEBUG QueueManager getting: 'ImagesLoader' 04/29/2020 12:09:05 MainProcess MainThread queue_manager add_queue DEBUG QueueManager adding: (name: 'ImagesLoader', maxsize: 8) 04/29/2020 12:09:05 MainProcess MainThread queue_manager add_queue DEBUG QueueManager added: (name: 'ImagesLoader') 04/29/2020 12:09:05 MainProcess MainThread queue_manager get_queue DEBUG QueueManager got: 'ImagesLoader' 04/29/2020 12:09:05 MainProcess MainThread image _check_for_video DEBUG Input 'D:\Testing\faceswap\Extract\Source\source_test1' is_video: False 04/29/2020 12:09:05 MainProcess MainThread image _get_fps DEBUG 25.0 04/29/2020 12:09:05 MainProcess MainThread utils get_image_paths DEBUG Scanned Folder contains 2 files 04/29/2020 12:09:05 MainProcess MainThread utils get_image_paths TRACE Scanned Folder Contents: [, ] 04/29/2020 12:09:05 MainProcess MainThread utils get_image_paths DEBUG Returning 0 images 04/29/2020 12:09:05 MainProcess MainThread image _get_count_and_filelist DEBUG count: 0 04/29/2020 12:09:05 MainProcess MainThread image _get_count_and_filelist TRACE filelist: [] 04/29/2020 12:09:05 MainProcess MainThread fsmedia __init__ DEBUG Initializing Alignments: (is_extract: False, input_is_video: False) 04/29/2020 12:09:05 MainProcess MainThread fsmedia _set_folder_filename DEBUG Alignments File provided: 'D:\Testing\faceswap\Extract\Source\source_test1\source_test1\alignments.fsa' 04/29/2020 12:09:05 MainProcess MainThread fsmedia _set_folder_filename DEBUG Setting Alignments: (folder: 'D:\Testing\faceswap\Extract\Source\source_test1\source_test1' filename: 'alignments.fsa') 04/29/2020 12:09:05 MainProcess MainThread alignments __init__ DEBUG Initializing Alignments: (folder: 'D:\Testing\faceswap\Extract\Source\source_test1\source_test1', filename: 'alignments.fsa') 04/29/2020 12:09:05 MainProcess MainThread serializer get_serializer DEBUG 04/29/2020 12:09:05 MainProcess MainThread serializer get_serializer DEBUG 04/29/2020 12:09:05 MainProcess MainThread alignments _get_location DEBUG Getting location: (folder: 'D:\Testing\faceswap\Extract\Source\source_test1\source_test1', filename: 'alignments.fsa') 04/29/2020 12:09:05 MainProcess MainThread alignments _get_location DEBUG Valid Alignments filename provided: 'alignments.fsa' 04/29/2020 12:09:05 MainProcess MainThread alignments _get_location VERBOSE Alignments filepath: 'D:\Testing\faceswap\Extract\Source\source_test1\source_test1\alignments.fsa' 04/29/2020 12:09:05 MainProcess MainThread alignments have_alignments_file TRACE True 04/29/2020 12:09:05 MainProcess MainThread alignments _load DEBUG Loading alignments 04/29/2020 12:09:05 MainProcess MainThread alignments have_alignments_file TRACE True 04/29/2020 12:09:05 MainProcess MainThread alignments _load INFO Reading alignments from: 'D:\Testing\faceswap\Extract\Source\source_test1\source_test1\alignments.fsa' 04/29/2020 12:09:05 MainProcess MainThread serializer load DEBUG filename: D:\Testing\faceswap\Extract\Source\source_test1\source_test1\alignments.fsa 04/29/2020 12:09:05 MainProcess MainThread serializer load DEBUG stored data type: 04/29/2020 12:09:05 MainProcess MainThread serializer unmarshal DEBUG data type: 04/29/2020 12:09:05 MainProcess MainThread serializer unmarshal DEBUG returned data type: 04/29/2020 12:09:05 MainProcess MainThread serializer load DEBUG data type: 04/29/2020 12:09:05 MainProcess MainThread alignments _load DEBUG Loaded alignments 04/29/2020 12:09:05 MainProcess MainThread alignments _has_legacy_structure DEBUG legacy structure: False 04/29/2020 12:09:05 MainProcess MainThread alignments _has_legacy_landmarksxy DEBUG checking legacy landmarksXY 04/29/2020 12:09:05 MainProcess MainThread alignments _has_legacy_landmarksxy DEBUG legacy landmarksXY: False 04/29/2020 12:09:05 MainProcess MainThread alignments _has_legacy_landmarks_list DEBUG checking legacy landmarks as list 04/29/2020 12:09:05 MainProcess MainThread alignments __init__ DEBUG Initialized Alignments 04/29/2020 12:09:05 MainProcess MainThread fsmedia __init__ DEBUG Initialized Alignments 04/29/2020 12:09:05 MainProcess MainThread convert __init__ DEBUG Initializing OptionalActions 04/29/2020 12:09:05 MainProcess MainThread convert _remove_skipped_faces DEBUG Filtering Faces 04/29/2020 12:09:05 MainProcess MainThread convert _get_face_hashes VERBOSE Aligned directory not specified. All faces listed in the alignments file will be converted 04/29/2020 12:09:05 MainProcess MainThread convert _remove_skipped_faces DEBUG No face hashes. Not skipping any faces 04/29/2020 12:09:05 MainProcess MainThread convert __init__ DEBUG Initialized OptionalActions 04/29/2020 12:09:05 MainProcess MainThread convert _queue_size DEBUG 32 04/29/2020 12:09:05 MainProcess MainThread convert _add_queues DEBUG Adding queues. Queue size: 32 04/29/2020 12:09:05 MainProcess MainThread convert _queue_size DEBUG 32 04/29/2020 12:09:05 MainProcess MainThread queue_manager add_queue DEBUG QueueManager adding: (name: 'convert_in', maxsize: 32) 04/29/2020 12:09:05 MainProcess MainThread queue_manager add_queue DEBUG QueueManager added: (name: 'convert_in') 04/29/2020 12:09:05 MainProcess MainThread convert _queue_size DEBUG 32 04/29/2020 12:09:05 MainProcess MainThread queue_manager add_queue DEBUG QueueManager adding: (name: 'convert_out', maxsize: 32) 04/29/2020 12:09:05 MainProcess MainThread queue_manager add_queue DEBUG QueueManager added: (name: 'convert_out') 04/29/2020 12:09:05 MainProcess MainThread convert _queue_size DEBUG 32 04/29/2020 12:09:05 MainProcess MainThread queue_manager add_queue DEBUG QueueManager adding: (name: 'patch', maxsize: 32) 04/29/2020 12:09:05 MainProcess MainThread queue_manager add_queue DEBUG QueueManager added: (name: 'patch') 04/29/2020 12:09:05 MainProcess MainThread convert __init__ DEBUG Initializing DiskIO: (alignments: , images: , arguments: Namespace(alignments_path='D:\\Testing\\faceswap\\Extract\\Source\\source_test1\\source_test1\\alignments.fsa', allow_growth=False, colab=False, color_adjustment='avg-color', configfile=None, filter=None, frame_ranges=None, func=>, gpus=1, input_aligned_dir=None, input_dir='D:\\Testing\\faceswap\\Extract\\Source\\source_test1', jobs=0, keep_unchanged=False, logfile='D:\\Testing\\faceswap\\Extract\\log_test1.log', loglevel='TRACE', mask_type='none', model_dir='D:\\Testing\\faceswap\\Extract\\Model\\model_test1', nfilter=None, on_the_fly=False, output_dir='D:\\Testing\\faceswap\\Extract\\Convert\\test2', output_scale=100, redirect_gui=True, ref_threshold=0.4, reference_video=None, scaling='none', singleprocess=False, swap_model=False, trainer=None, writer='opencv')) 04/29/2020 12:09:05 MainProcess MainThread fsmedia __init__ DEBUG Initializing PostProcess 04/29/2020 12:09:05 MainProcess MainThread fsmedia _get_items DEBUG Postprocess Items: {} 04/29/2020 12:09:05 MainProcess MainThread fsmedia __init__ DEBUG Initialized PostProcess 04/29/2020 12:09:05 MainProcess MainThread convert _get_frame_ranges DEBUG No frame range set 04/29/2020 12:09:05 MainProcess MainThread convert _get_writer DEBUG Writer args: ['D:\\Testing\\faceswap\\Extract\\Convert\\test2'] 04/29/2020 12:09:05 MainProcess MainThread plugin_loader _import INFO Loading Writer from Opencv plugin... 04/29/2020 12:09:05 MainProcess MainThread _base __init__ DEBUG Initializing Writer: (output_folder: 'D:\Testing\faceswap\Extract\Convert\test2') 04/29/2020 12:09:05 MainProcess MainThread config __init__ DEBUG Initializing: Config 04/29/2020 12:09:05 MainProcess MainThread config get_config_file DEBUG Config File location: 'D:\Testing\faceswap\config\convert.ini' 04/29/2020 12:09:05 MainProcess MainThread _config set_defaults DEBUG Setting defaults 04/29/2020 12:09:05 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'convert', 'color'] 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: color_transfer_defaults.py, module_path: plugins.convert.color, plugin_type: color 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.color.color_transfer_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'color.color_transfer', info: 'Options for transfering the color distribution from the source to the target image using the mean and standard deviations of the L*a*b* color space.\nThis implementation is (loosely) based on the 'Color Transfer between Images' paper by Reinhard et al., 2001. matching the histograms between the source and destination faces.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.color_transfer', title: 'clip', datatype: '', default: 'True', info: 'Should components of L*a*b* image be scaled by np.clip before converting back to BGR color space?\nIf False then components will be min-max scaled appropriately.\nClipping will keep target image brightness truer to the input.\nScaling will adjust image brightness to avoid washed out portions in the resulting color transfer that can be caused by clipping.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: method) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.color_transfer', title: 'preserve_paper', datatype: '', default: 'True', info: 'Should color transfer strictly follow methodology layed out in original paper?\nThe method does not always produce aesthetically pleasing results.\nIf False then L*a*b* components will be scaled using the reciprocal of the scaling factor proposed in the paper. This method seems to produce more consistently aesthetically pleasing results.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: method) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: color.color_transfer 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: manual_balance_defaults.py, module_path: plugins.convert.color, plugin_type: color 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.color.manual_balance_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'color.manual_balance', info: 'Options for manually altering the balance of colors of the swapped face') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'colorspace', datatype: '', default: 'HSV', info: 'The colorspace to use for adjustment: The three adjustment sliders will effect the image differently depending on which colorspace is selected:\n RGB: Red, Green, Blue. An additive colorspace where colors are obtained by a linear combination of Red, Green, and Blue values. The three channels are correlated by the amount of light hitting the surface. In RGB color space the color information is separated into three channels but the same three channels also encode brightness information.\n HSV: Hue, Saturation, Value. Hue - Dominant wavelength. Saturation - Purity / shades of color. Value - Intensity. Best thing is that it uses only one channel to describe color (H), making it very intuitive to specify color.\n LAB: Lightness, A, B. Lightness - Intensity. A - Color range from green to magenta. B - Color range from blue to yellow. The L channel is independent of color information and encodes brightness only. The other two channels encode color.\n YCrCb: Y - Luminance or Luma component obtained from RGB after gamma correction. Cr - how far is the red component from Luma. Cb - how far is the blue component from Luma. Separates the luminance and chrominance components into different channels.', rounding: 'None', min_max: None, choices: ['RGB', 'HSV', 'LAB', 'YCrCb'], gui_radio: True, fixed: True, group: color balance) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'balance_1', datatype: '', default: '0.0', info: 'Balance of channel 1:\n RGB: Red\n HSV: Hue\n LAB: Lightness\n YCrCb: Luma', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: color balance) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'balance_2', datatype: '', default: '0.0', info: 'Balance of channel 2:\n RGB: Green\n HSV: Saturation\n LAB: Green > Magenta\n YCrCb: Distance of red from Luma', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: color balance) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'balance_3', datatype: '', default: '0.0', info: 'Balance of channel 3:\n RGB: Blue\n HSV: Intensity\n LAB: Blue > Yellow\n YCrCb: Distance of blue from Luma', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: color balance) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'contrast', datatype: '', default: '0.0', info: 'Amount of contrast applied.', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: brightness contrast) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'brightness', datatype: '', default: '0.0', info: 'Amount of brighness applied.', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: brightness contrast) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: color.manual_balance 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: match_hist_defaults.py, module_path: plugins.convert.color, plugin_type: color 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.color.match_hist_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'color.match_hist', info: 'Options for matching the histograms between the source and destination faces') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.match_hist', title: 'threshold', datatype: '', default: '99.0', info: 'Adjust the threshold for histogram matching. Can reduce extreme colors leaking in by filtering out colors at the extreme ends of the histogram spectrum.', rounding: '1', min_max: (90.0, 100.0), choices: [], gui_radio: False, fixed: True, group: None) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: color.match_hist 04/29/2020 12:09:05 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'convert', 'mask'] 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: box_blend_defaults.py, module_path: plugins.convert.mask, plugin_type: mask 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.mask.box_blend_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'mask.box_blend', info: 'Options for blending the edges of the swapped box with the background image') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.box_blend', title: 'type', datatype: '', default: 'gaussian', info: 'The type of blending to use:\n gaussian: Blend with Gaussian filter. Slower, but often better than Normalized\n normalized: Blend with Normalized box filter. Faster than Gaussian\n none: Don't perform blending', rounding: 'None', min_max: None, choices: ['gaussian', 'normalized', 'none'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.box_blend', title: 'distance', datatype: '', default: '11.0', info: 'The distance from the edges of the swap box to start blending.\nThe distance is set as percentage of the swap box size to give the number of pixels from the edge of the box. Eg: For a swap area of 256px and a percentage of 4%, blending would commence 10 pixels from the edge.\nHigher percentages start the blending from closer to the center of the face, so will reveal more of the source face.', rounding: '1', min_max: (0.1, 25.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.box_blend', title: 'radius', datatype: '', default: '5.0', info: 'Radius dictates how much blending should occur, or more specifically, how far the blending will spread away from the 'distance' parameter.\nThis figure is set as a percentage of the swap box size to give the radius in pixels. Eg: For a swap area of 256px and a percentage of 5%, the radius would be 13 pixels\nNB: Higher percentage means more blending, but too high may reveal more of the source face, or lead to hard lines at the border.', rounding: '1', min_max: (0.1, 25.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.box_blend', title: 'passes', datatype: '', default: '1', info: 'The number of passes to perform. Additional passes of the blending algorithm can improve smoothing at a time cost. This is more useful for 'box' type blending.\nAdditional passes have exponentially less effect so it's not worth setting this too high.', rounding: '1', min_max: (1, 8), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: mask.box_blend 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: mask_blend_defaults.py, module_path: plugins.convert.mask, plugin_type: mask 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.mask.mask_blend_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'mask.mask_blend', info: 'Options for blending the edges between the mask and the background image') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'type', datatype: '', default: 'normalized', info: 'The type of blending to use:\n gaussian: Blend with Gaussian filter. Slower, but often better than Normalized\n normalized: Blend with Normalized box filter. Faster than Gaussian\n none: Don't perform blending', rounding: 'None', min_max: None, choices: ['gaussian', 'normalized', 'none'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'kernel_size', datatype: '', default: '3', info: 'The kernel size dictates how much blending should occur.\nThe size is the diameter of the kernel in pixels (calculated from a 128px mask). This value should be odd, if an even number is passed in then it will be rounded to the next odd number. Higher sizes means more blending.', rounding: '1', min_max: (1, 9), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'passes', datatype: '', default: '4', info: 'The number of passes to perform. Additional passes of the blending algorithm can improve smoothing at a time cost. This is more useful for 'box' type blending.\nAdditional passes have exponentially less effect so it's not worth setting this too high.', rounding: '1', min_max: (1, 8), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'threshold', datatype: '', default: '4', info: 'Sets pixels that are near white to white and near black to black. Set to 0 for off.', rounding: '1', min_max: (0, 50), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'erosion', datatype: '', default: '0.0', info: 'Erosion kernel size as a percentage of the mask radius area.\nPositive values apply erosion which reduces the size of the swapped area.\nNegative values apply dilation which increases the swapped area.', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: mask.mask_blend 04/29/2020 12:09:05 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'convert', 'scaling'] 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: sharpen_defaults.py, module_path: plugins.convert.scaling, plugin_type: scaling 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.scaling.sharpen_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'scaling.sharpen', info: 'Options for sharpening the face after placement') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'scaling.sharpen', title: 'method', datatype: '', default: 'unsharp_mask', info: 'The type of sharpening to use:\n box: Fastest, but weakest method. Uses a box filter to assess edges.\n gaussian: Slower, but better than box. Uses a gaussian filter to assess edges.\n unsharp-mask: Slowest, but most tweakable. Uses the unsharp-mask method to assess edges.', rounding: 'None', min_max: None, choices: ['box', 'gaussian', 'unsharp_mask'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'scaling.sharpen', title: 'amount', datatype: '', default: '150', info: 'Percentage that controls the magnitude of each overshoot (how much darker and how much lighter the edge borders become).\nThis can also be thought of as how much contrast is added at the edges. It does not affect the width of the edge rims.', rounding: '1', min_max: (100, 500), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'scaling.sharpen', title: 'radius', datatype: '', default: '0.3', info: 'Affects the size of the edges to be enhanced or how wide the edge rims become, so a smaller radius enhances smaller-scale detail.\nRadius is set as a percentage of the final frame width and rounded to the nearest pixel. E.g for a 1280 width frame, a 0.6 percenatage will give a radius of 8px.\nHigher radius values can cause halos at the edges, a detectable faint light rim around objects. Fine detail needs a smaller radius. \nRadius and amount interact; reducing one allows more of the other.', rounding: '1', min_max: (0.1, 5.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'scaling.sharpen', title: 'threshold', datatype: '', default: '5.0', info: '[unsharp_mask only] Controls the minimal brightness change that will be sharpened or how far apart adjacent tonal values have to be before the filter does anything.\nThis lack of action is important to prevent smooth areas from becoming speckled. The threshold setting can be used to sharpen more pronounced edges, while leaving subtler edges untouched. \nLow values should sharpen more because fewer areas are excluded. \nHigher threshold values exclude areas of lower contrast.', rounding: '1', min_max: (1.0, 10.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: scaling.sharpen 04/29/2020 12:09:05 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'convert', 'writer'] 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: ffmpeg_defaults.py, module_path: plugins.convert.writer, plugin_type: writer 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.writer.ffmpeg_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'writer.ffmpeg', info: 'Options for encoding converted frames to video.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'container', datatype: '', default: 'mp4', info: 'Video container to use.', rounding: 'None', min_max: None, choices: ['avi', 'flv', 'mkv', 'mov', 'mp4', 'mpeg', 'webm'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'codec', datatype: '', default: 'libx264', info: 'Video codec to use:\n libx264: H.264. A widely supported and commonly used codec.\n libx265: H.265 / HEVC video encoder application library.', rounding: 'None', min_max: None, choices: ['libx264', 'libx265'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'crf', datatype: '', default: '23', info: 'Constant Rate Factor: 0 is lossless and 51 is worst quality possible. A lower value generally leads to higher quality, and a subjectively sane range is 17-28. Consider 17 or 18 to be visually lossless or nearly so; it should look the same or nearly the same as the input but it isn't technically lossless.\nThe range is exponential, so increasing the CRF value +6 results in roughly half the bitrate / file size, while -6 leads to roughly twice the bitrate.', rounding: '1', min_max: (0, 51), choices: [], gui_radio: False, fixed: True, group: quality) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'preset', datatype: '', default: 'medium', info: 'A preset is a collection of options that will provide a certain encoding speed to compression ratio.\nA slower preset will provide better compression (compression is quality per filesize).\nUse the slowest preset that you have patience for.', rounding: 'None', min_max: None, choices: ['ultrafast', 'superfast', 'veryfast', 'faster', 'fast', 'medium', 'slow', 'slower', 'veryslow'], gui_radio: True, fixed: True, group: quality) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'tune', datatype: '', default: 'none', info: 'Change settings based upon the specifics of your input:\n none: Don't perform any additional tuning.\n film: [H.264 only] Use for high quality movie content; lowers deblocking.\n animation: [H.264 only] Good for cartoons; uses higher deblocking and more reference frames.\n grain: Preserves the grain structure in old, grainy film material.\n stillimage: [H.264 only] Good for slideshow-like content.\n fastdecode: Allows faster decoding by disabling certain filters.\n zerolatency: Good for fast encoding and low-latency streaming.', rounding: 'None', min_max: None, choices: ['none', 'film', 'animation', 'grain', 'stillimage', 'fastdecode', 'zerolatency'], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'profile', datatype: '', default: 'auto', info: '[H.264 Only] Limit the output to a specific H.264 profile. Don't change this unless your target device only supports a certain profile.', rounding: 'None', min_max: None, choices: ['auto', 'baseline', 'main', 'high', 'high10', 'high422', 'high444'], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'level', datatype: '', default: 'auto', info: '[H.264 Only] Set the encoder level, Don't change this unless your target device only supports a certain level.', rounding: 'None', min_max: None, choices: ['auto', '1', '1b', '1.1', '1.2', '1.3', '2', '2.1', '2.2', '3', '3.1', '3.2', '4', '4.1', '4.2', '5', '5.1', '5.2', '6', '6.1', '6.2'], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: writer.ffmpeg 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: gif_defaults.py, module_path: plugins.convert.writer, plugin_type: writer 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.writer.gif_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'writer.gif', info: 'Options for outputting converted frames to an animated gif.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.gif', title: 'fps', datatype: '', default: '25', info: 'Frames per Second.', rounding: '1', min_max: (1, 60), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.gif', title: 'loop', datatype: '', default: '0', info: 'The number of iterations. Set to 0 to loop indefinitely.', rounding: '1', min_max: (0, 100), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.gif', title: 'palettesize', datatype: '', default: '256', info: 'The number of colors to quantize the image to. Is rounded to the nearest power of two.', rounding: 'None', min_max: None, choices: ['2', '4', '8', '16', '32', '64', '128', '256'], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.gif', title: 'subrectangles', datatype: '', default: 'False', info: 'If True, will try and optimize the GIF by storing only the rectangular parts of each frame that change with respect to the previous.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: writer.gif 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: opencv_defaults.py, module_path: plugins.convert.writer, plugin_type: writer 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.writer.opencv_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'writer.opencv', info: 'Options for outputting converted frames to a series of images using OpenCV\nOpenCV can be faster than other image writers, but lacks some configuration options and formats.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.opencv', title: 'format', datatype: '', default: 'png', info: 'Image format to use:\n bmp: Windows bitmap\n jpg: JPEG format\n jp2: JPEG 2000 format\n png: Portable Network Graphics\n ppm: Portable Pixmap Format', rounding: 'None', min_max: None, choices: ['bmp', 'jpg', 'jp2', 'png', 'ppm'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.opencv', title: 'draw_transparent', datatype: '', default: 'False', info: 'Place the swapped face on a transparent layer rather than the original frame.\nNB: This is only compatible with images saved in png format. If an incompatible format is selected then the image will be saved as a png.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.opencv', title: 'jpg_quality', datatype: '', default: '75', info: '[jpg only] Set the jpg quality. 1 is worst 95 is best. Higher quality leads to larger file sizes.', rounding: '1', min_max: (1, 95), choices: [], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.opencv', title: 'png_compress_level', datatype: '', default: '3', info: '[png only] ZLIB compression level, 1 gives best speed, 9 gives best compression, 0 gives no compression at all.', rounding: '1', min_max: (0, 9), choices: [], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: writer.opencv 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: pillow_defaults.py, module_path: plugins.convert.writer, plugin_type: writer 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.writer.pillow_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'writer.pillow', info: 'Options for outputting converted frames to a series of images using Pillow\nPillow is more feature rich than OpenCV but can be slower.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'format', datatype: '', default: 'png', info: 'Image format to use:\n bmp: Windows bitmap\n gif: Graphics Interchange Format (NB: Not animated)\n jpg: JPEG format\n jp2: JPEG 2000 format\n png: Portable Network Graphics\n ppm: Portable Pixmap Format\n tif: Tag Image File Format', rounding: 'None', min_max: None, choices: ['bmp', 'gif', 'jpg', 'jp2', 'png', 'ppm', 'tif'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'draw_transparent', datatype: '', default: 'False', info: 'Place the swapped face on a transparent layer rather than the original frame.\nNB: This is only compatible with images saved in png or tif format. If an incompatible format is selected then the image will be saved as a png.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'optimize', datatype: '', default: 'False', info: '[gif, jpg and png only] If enabled, indicates that the encoder should make an extra pass over the image in order to select optimal encoder settings.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'gif_interlace', datatype: '', default: 'True', info: '[gif only] Set whether to save the gif as interlaced or not.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'jpg_quality', datatype: '', default: '75', info: '[jpg only] Set the jpg quality. 1 is worst 95 is best. Higher quality leads to larger file sizes.', rounding: '1', min_max: (1, 95), choices: [], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'png_compress_level', datatype: '', default: '3', info: '[png only] ZLIB compression level, 1 gives best speed, 9 gives best compression, 0 gives no compression at all. When optimize option is set to True this has no effect (it is set to 9 regardless of a value passed).', rounding: '1', min_max: (0, 9), choices: [], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'tif_compression', datatype: '', default: 'tiff_deflate', info: '[tif only] The desired compression method for the file.', rounding: 'None', min_max: None, choices: ['none', 'tiff_ccitt', 'group3', 'group4', 'tiff_jpeg', 'tiff_adobe_deflate', 'tiff_thunderscan', 'tiff_deflate', 'tiff_sgilog', 'tiff_sgilog24', 'tiff_raw_16'], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: writer.pillow 04/29/2020 12:09:05 MainProcess MainThread config handle_config DEBUG Handling config 04/29/2020 12:09:05 MainProcess MainThread config check_exists DEBUG Config file exists: 'D:\Testing\faceswap\config\convert.ini' 04/29/2020 12:09:05 MainProcess MainThread config load_config VERBOSE Loading config: 'D:\Testing\faceswap\config\convert.ini' 04/29/2020 12:09:05 MainProcess MainThread config validate_config DEBUG Validating config 04/29/2020 12:09:05 MainProcess MainThread config check_config_change DEBUG Default config has not changed 04/29/2020 12:09:05 MainProcess MainThread config check_config_choices DEBUG Checking config choices 04/29/2020 12:09:05 MainProcess MainThread config check_config_choices DEBUG Checked config choices 04/29/2020 12:09:05 MainProcess MainThread config validate_config DEBUG Validated config 04/29/2020 12:09:05 MainProcess MainThread config handle_config DEBUG Handled config 04/29/2020 12:09:05 MainProcess MainThread config __init__ DEBUG Initialized: Config 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'writer.opencv', option: 'format') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: png) 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'writer.opencv', option: 'draw_transparent') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: False) 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'writer.opencv', option: 'jpg_quality') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: 75) 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'writer.opencv', option: 'png_compress_level') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: 3) 04/29/2020 12:09:05 MainProcess MainThread _base __init__ DEBUG config: {'format': 'png', 'draw_transparent': False, 'jpg_quality': 75, 'png_compress_level': 3} 04/29/2020 12:09:05 MainProcess MainThread _base __init__ DEBUG Initialized Writer 04/29/2020 12:09:05 MainProcess MainThread opencv get_save_args DEBUG (16, 3) 04/29/2020 12:09:05 MainProcess MainThread alignments have_alignments_file TRACE True 04/29/2020 12:09:05 MainProcess MainThread alignments have_alignments_file TRACE True 04/29/2020 12:09:05 MainProcess MainThread convert _load_extractor DEBUG Alignments file found: 'D:\Testing\faceswap\Extract\Source\source_test1\source_test1\alignments.fsa' 04/29/2020 12:09:05 MainProcess MainThread convert _init_threads DEBUG Initializing DiskIO Threads 04/29/2020 12:09:05 MainProcess MainThread convert _add_queue DEBUG Adding queue for task: 'load' 04/29/2020 12:09:05 MainProcess MainThread queue_manager get_queue DEBUG QueueManager getting: 'convert_in' 04/29/2020 12:09:05 MainProcess MainThread queue_manager get_queue DEBUG QueueManager got: 'convert_in' 04/29/2020 12:09:05 MainProcess MainThread convert _add_queue DEBUG Added queue for task: 'load' 04/29/2020 12:09:05 MainProcess MainThread convert _start_thread DEBUG Starting thread: 'load' 04/29/2020 12:09:05 MainProcess MainThread multithreading __init__ DEBUG Initializing MultiThread: (target: '_load', thread_count: 1) 04/29/2020 12:09:05 MainProcess MainThread multithreading __init__ TRACE args: (None,), kwargs: {} 04/29/2020 12:09:05 MainProcess MainThread multithreading __init__ DEBUG Initialized MultiThread: '_load' 04/29/2020 12:09:05 MainProcess MainThread multithreading start DEBUG Starting thread(s): '_load' 04/29/2020 12:09:05 MainProcess MainThread multithreading start DEBUG Starting thread 1 of 1: '_load_0' 04/29/2020 12:09:05 MainProcess _load_0 convert _load DEBUG Load Images: Start 04/29/2020 12:09:05 MainProcess MainThread multithreading start DEBUG Started all threads '_load': 1 04/29/2020 12:09:05 MainProcess _load_0 image load DEBUG Initializing Load Generator 04/29/2020 12:09:05 MainProcess MainThread convert _start_thread DEBUG Started thread: 'load' 04/29/2020 12:09:05 MainProcess _load_0 image _set_thread DEBUG Setting thread 04/29/2020 12:09:05 MainProcess MainThread convert _add_queue DEBUG Adding queue for task: 'save' 04/29/2020 12:09:05 MainProcess _load_0 multithreading __init__ DEBUG Initializing MultiThread: (target: 'ImagesLoader', thread_count: 1) 04/29/2020 12:09:05 MainProcess MainThread queue_manager get_queue DEBUG QueueManager getting: 'convert_out' 04/29/2020 12:09:05 MainProcess _load_0 multithreading __init__ TRACE args: (,), kwargs: {} 04/29/2020 12:09:05 MainProcess MainThread queue_manager get_queue DEBUG QueueManager got: 'convert_out' 04/29/2020 12:09:05 MainProcess _load_0 multithreading __init__ DEBUG Initialized MultiThread: 'ImagesLoader' 04/29/2020 12:09:05 MainProcess MainThread convert _add_queue DEBUG Added queue for task: 'save' 04/29/2020 12:09:05 MainProcess _load_0 image _set_thread DEBUG Set thread: 04/29/2020 12:09:05 MainProcess MainThread convert _start_thread DEBUG Starting thread: 'save' 04/29/2020 12:09:05 MainProcess _load_0 multithreading start DEBUG Starting thread(s): 'ImagesLoader' 04/29/2020 12:09:05 MainProcess MainThread multithreading __init__ DEBUG Initializing MultiThread: (target: '_save', thread_count: 1) 04/29/2020 12:09:05 MainProcess _load_0 multithreading start DEBUG Starting thread 1 of 1: 'ImagesLoader_0' 04/29/2020 12:09:05 MainProcess MainThread multithreading __init__ TRACE args: (,), kwargs: {} 04/29/2020 12:09:05 MainProcess MainThread multithreading __init__ DEBUG Initialized MultiThread: '_save' 04/29/2020 12:09:05 MainProcess MainThread multithreading start DEBUG Starting thread(s): '_save' 04/29/2020 12:09:05 MainProcess ImagesLoader_0 image _process DEBUG Load iterator: > 04/29/2020 12:09:05 MainProcess MainThread multithreading start DEBUG Starting thread 1 of 1: '_save_0' 04/29/2020 12:09:05 MainProcess _load_0 multithreading start DEBUG Started all threads 'ImagesLoader': 1 04/29/2020 12:09:05 MainProcess ImagesLoader_0 image _from_folder DEBUG Loading frames from folder: 'D:\Testing\faceswap\Extract\Source\source_test1' 04/29/2020 12:09:05 MainProcess _save_0 convert _save DEBUG Save Images: Start 04/29/2020 12:09:05 MainProcess ImagesLoader_0 image _process TRACE Putting EOF 04/29/2020 12:09:05 MainProcess MainThread multithreading start DEBUG Started all threads '_save': 1 04/29/2020 12:09:05 MainProcess _save_0 convert _save DEBUG Write preview for gui: False 04/29/2020 12:09:05 MainProcess _load_0 image load TRACE Got EOF 04/29/2020 12:09:05 MainProcess MainThread convert _start_thread DEBUG Started thread: 'save' 04/29/2020 12:09:05 MainProcess _save_0 convert _total_count DEBUG 0 04/29/2020 12:09:05 MainProcess _load_0 image load DEBUG Closing Load Generator 04/29/2020 12:09:05 MainProcess MainThread convert _init_threads DEBUG Initialized DiskIO Threads 04/29/2020 12:09:05 MainProcess _load_0 image close DEBUG Received Close 04/29/2020 12:09:05 MainProcess MainThread convert __init__ DEBUG Initialized DiskIO 04/29/2020 12:09:05 MainProcess _load_0 multithreading join DEBUG Joining Threads: 'ImagesLoader' 04/29/2020 12:09:05 MainProcess MainThread convert _queue_size DEBUG 32 04/29/2020 12:09:05 MainProcess _load_0 multithreading join DEBUG Joining Thread: 'ImagesLoader_0' 04/29/2020 12:09:05 MainProcess MainThread convert __init__ DEBUG Initializing Predict: (args: Namespace(alignments_path='D:\\Testing\\faceswap\\Extract\\Source\\source_test1\\source_test1\\alignments.fsa', allow_growth=False, colab=False, color_adjustment='avg-color', configfile=None, filter=None, frame_ranges=None, func=>, gpus=1, input_aligned_dir=None, input_dir='D:\\Testing\\faceswap\\Extract\\Source\\source_test1', jobs=0, keep_unchanged=False, logfile='D:\\Testing\\faceswap\\Extract\\log_test1.log', loglevel='TRACE', mask_type='none', model_dir='D:\\Testing\\faceswap\\Extract\\Model\\model_test1', nfilter=None, on_the_fly=False, output_dir='D:\\Testing\\faceswap\\Extract\\Convert\\test2', output_scale=100, redirect_gui=True, ref_threshold=0.4, reference_video=None, scaling='none', singleprocess=False, swap_model=False, trainer=None, writer='opencv'), queue_size: 32, in_queue: ) 04/29/2020 12:09:05 MainProcess _load_0 multithreading join DEBUG Joined all Threads: 'ImagesLoader' 04/29/2020 12:09:05 MainProcess MainThread convert _get_batchsize DEBUG Getting batchsize 04/29/2020 12:09:05 MainProcess _load_0 image close DEBUG Closed 04/29/2020 12:09:05 MainProcess MainThread gpu_stats _log DEBUG Initializing GPUStats 04/29/2020 12:09:05 MainProcess _load_0 convert _load DEBUG Putting EOF 04/29/2020 12:09:05 MainProcess MainThread gpu_stats _log DEBUG OS is not macOS. Trying pynvml 04/29/2020 12:09:05 MainProcess _load_0 convert _load DEBUG Load Images: Complete 04/29/2020 12:09:05 MainProcess _save_0 convert _save DEBUG Save Faces: Complete 04/29/2020 12:09:05 MainProcess MainThread gpu_stats _log DEBUG GPU Device count: 1 04/29/2020 12:09:05 MainProcess MainThread gpu_stats _log DEBUG Active GPU Devices: [0] 04/29/2020 12:09:05 MainProcess MainThread gpu_stats _log DEBUG GPU Handles found: 1 04/29/2020 12:09:05 MainProcess MainThread gpu_stats _log DEBUG GPU Driver: 442.74 04/29/2020 12:09:05 MainProcess MainThread gpu_stats _log DEBUG GPU Devices: ['GeForce GTX 1070 Ti'] 04/29/2020 12:09:05 MainProcess MainThread gpu_stats _log DEBUG GPU VRAM: [8192.0] 04/29/2020 12:09:05 MainProcess MainThread gpu_stats _log DEBUG Initialized GPUStats 04/29/2020 12:09:05 MainProcess MainThread convert _get_batchsize DEBUG Batchsize: 16 04/29/2020 12:09:05 MainProcess MainThread convert _get_batchsize DEBUG Got batchsize: 16 04/29/2020 12:09:05 MainProcess MainThread queue_manager get_queue DEBUG QueueManager getting: 'patch' 04/29/2020 12:09:05 MainProcess MainThread queue_manager get_queue DEBUG QueueManager got: 'patch' 04/29/2020 12:09:05 MainProcess MainThread serializer get_serializer DEBUG 04/29/2020 12:09:05 MainProcess MainThread convert _load_model DEBUG Loading Model 04/29/2020 12:09:05 MainProcess MainThread utils get_folder DEBUG Requested path: 'D:\Testing\faceswap\Extract\Model\model_test1' 04/29/2020 12:09:05 MainProcess MainThread utils get_folder DEBUG Returning: 'D:\Testing\faceswap\Extract\Model\model_test1' 04/29/2020 12:09:05 MainProcess MainThread serializer load DEBUG filename: D:\Testing\faceswap\Extract\Model\model_test1\original_state.json 04/29/2020 12:09:05 MainProcess MainThread serializer load DEBUG stored data type: 04/29/2020 12:09:05 MainProcess MainThread serializer unmarshal DEBUG data type: 04/29/2020 12:09:05 MainProcess MainThread serializer unmarshal DEBUG returned data type: 04/29/2020 12:09:05 MainProcess MainThread serializer load DEBUG data type: 04/29/2020 12:09:05 MainProcess MainThread convert _get_model_name DEBUG Trainer from state file: 'original' 04/29/2020 12:09:05 MainProcess MainThread plugin_loader _import INFO Loading Model from Original plugin... 04/29/2020 12:09:05 MainProcess MainThread original __init__ DEBUG Initializing Model: (args: (WindowsPath('D:/Testing/faceswap/Extract/Model/model_test1'), 1), kwargs: {'predict': True} 04/29/2020 12:09:05 MainProcess MainThread _base config_section DEBUG model.original 04/29/2020 12:09:05 MainProcess MainThread _base config DEBUG Loading config for: model.original 04/29/2020 12:09:05 MainProcess MainThread config __init__ DEBUG Initializing: Config 04/29/2020 12:09:05 MainProcess MainThread config get_config_file DEBUG Config File location: 'D:\Testing\faceswap\config\train.ini' 04/29/2020 12:09:05 MainProcess MainThread _config set_defaults DEBUG Setting defaults 04/29/2020 12:09:05 MainProcess MainThread _config set_globals DEBUG Setting global config 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'global', info: 'Options that apply to all models\nNB: Unless specifically stated, values changed here will only take effect when creating a new model.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'coverage', datatype: '', default: '68.75', info: 'How much of the extracted image to train on. A lower coverage will limit the model's scope to a zoomed-in central area while higher amounts can include the entire face. A trade-off exists between lower amounts given more detail versus higher amounts avoiding noticeable swap transitions. Sensible values to use are:\n 62.5%% spans from eyebrow to eyebrow.\n 75.0%% spans from temple to temple.\n 87.5%% spans from ear to ear.\n 100.0%% is a mugshot.', rounding: '2', min_max: (62.5, 100.0), choices: None, gui_radio: False, fixed: True, group: face) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'mask_type', datatype: '', default: 'none', info: 'The mask to be used for training. If you have selected 'Learn Mask' or 'Penalized Mask Loss' you must select a value other than 'none'. The required mask should have been selected as part of the Extract process. If it does not exist in the alignments file then it will be generated prior to training commencing.\n none: Don't use a mask.\n components: Mask designed to provide facial segmentation based on the positioning of landmark locations. A convex hull is constructed around the exterior of the landmarks to create a mask.\n extended: Mask designed to provide facial segmentation based on the positioning of landmark locations. A convex hull is constructed around the exterior of the landmarks and the mask is extended upwards onto the forehead.\n vgg-clear: Mask designed to provide smart segmentation of mostly frontal faces clear of obstructions. Profile faces and obstructions may result in sub-par performance.\n vgg-obstructed: Mask designed to provide smart segmentation of mostly frontal faces. The mask model has been specifically trained to recognize some facial obstructions (hands and eyeglasses). Profile faces may result in sub-par performance.\n unet-dfl: Mask designed to provide smart segmentation of mostly frontal faces. The mask model has been trained by community members and will need testing for further description. Profile faces may result in sub-par performance.', rounding: 'None', min_max: None, choices: ['none', 'components', 'extended', 'unet-dfl', 'vgg-clear', 'vgg-obstructed'], gui_radio: True, fixed: True, group: mask) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'mask_blur_kernel', datatype: '', default: '3', info: 'Apply gaussian blur to the mask input. This has the effect of smoothing the edges of the mask, which can help with poorly calculated masks and give less of a hard edge to the predicted mask. The size is in pixels (calculated from a 128px mask). Set to 0 to not apply gaussian blur. This value should be odd, if an even number is passed in then it will be rounded to the next odd number.', rounding: '1', min_max: (0, 9), choices: None, gui_radio: False, fixed: True, group: mask) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'mask_threshold', datatype: '', default: '4', info: 'Sets pixels that are near white to white and near black to black. Set to 0 for off.', rounding: '1', min_max: (0, 50), choices: None, gui_radio: False, fixed: True, group: mask) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'learn_mask', datatype: '', default: 'False', info: 'Dedicate a portion of the model to learning how to duplicate the input mask. Increases VRAM usage in exchange for learning a quick ability to try to replicate more complex mask models.', rounding: 'None', min_max: None, choices: None, gui_radio: False, fixed: True, group: mask) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'icnr_init', datatype: '', default: 'False', info: 'Use ICNR to tile the default initializer in a repeating pattern. This strategy is designed for pairing with sub-pixel / pixel shuffler to reduce the 'checkerboard effect' in image reconstruction. \n https://arxiv.org/ftp/arxiv/papers/1707/1707.02937.pdf', rounding: 'None', min_max: None, choices: None, gui_radio: False, fixed: True, group: initialization) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'conv_aware_init', datatype: '', default: 'False', info: 'Use Convolution Aware Initialization for convolutional layers. This can help eradicate the vanishing and exploding gradient problem as well as lead to higher accuracy, lower loss and faster convergence.\nNB:\n This can use more VRAM when creating a new model so you may want to lower the batch size for the first run. The batch size can be raised again when reloading the model. \n Multi-GPU is not supported for this option, so you should start the model on a single GPU. Once training has started, you can stop training, enable multi-GPU and resume.\n Building the model will likely take several minutes as the calculations for this initialization technique are expensive. This will only impact starting a new model.', rounding: 'None', min_max: None, choices: None, gui_radio: False, fixed: True, group: initialization) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'subpixel_upscaling', datatype: '', default: 'False', info: 'Use subpixel upscaling rather than pixel shuffler. These techniques are both designed to produce better resolving upscaling than other methods. Each perform the same operations, but using different TF opts.\n https://arxiv.org/pdf/1609.05158.pdf', rounding: 'None', min_max: None, choices: None, gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'reflect_padding', datatype: '', default: 'False', info: 'Use reflection padding rather than zero padding with convolutions. Each convolution must pad the image boundaries to maintain the proper sizing. More complex padding schemes can reduce artifacts at the border of the image.\n http://www-cs.engr.ccny.cuny.edu/~wolberg/cs470/hw/hw2_pad.txt', rounding: 'None', min_max: None, choices: None, gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'penalized_mask_loss', datatype: '', default: 'True', info: 'Image loss function is weighted by mask presence. For areas of the image without the facial mask, reconstuction errors will be ignored while the masked face area is prioritized. May increase overall quality by focusing attention on the core face area.', rounding: 'None', min_max: None, choices: None, gui_radio: False, fixed: True, group: loss) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'loss_function', datatype: '', default: 'mae', info: '\n MAE - Mean absolute error will guide reconstructions of each pixel towards its median value in the training dataset. Robust to outliers but as a median, it can potentially ignore some infrequent image types in the dataset.\n MSE - Mean squared error will guide reconstructions of each pixel towards its average value in the training dataset. As an avg, it will be suspectible to outliers and typically produces slightly blurrier results.\n LogCosh - log(cosh(x)) acts similiar to MSE for small errors and to MAE for large errors. Like MSE, it is very stable and prevents overshoots when errors are near zero. Like MAE, it is robust to outliers.\n Smooth_L1 --- Modification of the MAE loss to correct two of its disadvantages. This loss has improved stability and guidance for small errors.\n L_inf_norm --- The L_inf norm will reduce the largest individual pixel error in an image. As each largest error is minimized sequentially, the overall error is improved. This loss will be extremely focused on outliers.\n SSIM - Structural Similarity Index Metric is a perception-based loss that considers changes in texture, luminance, contrast, and local spatial statistics of an image. Potentially delivers more realistic looking images.\n GMSD - Gradient Magnitude Similarity Deviation seeks to match the global standard deviation of the pixel to pixel differences between two images. Similiar in approach to SSIM.\n Pixel_Gradient_Difference - Instead of minimizing the difference between the absolute value of each pixel in two reference images, compute the pixel to pixel spatial difference in each image and then minimize that difference between two images. Allows for large color shifts,but maintains the structure of the image.\n', rounding: 'None', min_max: None, choices: ['mae', 'mse', 'logcosh', 'smooth_loss', 'l_inf_norm', 'ssim', 'gmsd', 'pixel_gradient_diff'], gui_radio: False, fixed: True, group: loss) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'learning_rate', datatype: '', default: '5e-05', info: 'Learning rate - how fast your network will learn (how large are the modifications to the model weights after one batch of training). Values that are too large might result in model crashes and the inability of the model to find the best solution. Values that are too small might be unable to escape from dead-ends and find the best global minimum.', rounding: '6', min_max: (1e-06, 0.0001), choices: None, gui_radio: False, fixed: False, group: optimizer) 04/29/2020 12:09:05 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'train', 'model'] 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: dfl_h128_defaults.py, module_path: plugins.train.model, plugin_type: model 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.train.model.dfl_h128_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'model.dfl_h128', info: 'DFL H128 Model (Adapted from https://github.com/iperov/DeepFaceLab)\nNB: Unless specifically stated, values changed here will only take effect when creating a new model.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dfl_h128', title: 'lowmem', datatype: '', default: 'False', info: 'Lower memory mode. Set to 'True' if having issues with VRAM useage.\nNB: Models with a changed lowmem mode are not compatible with each other.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: model.dfl_h128 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: dfl_sae_defaults.py, module_path: plugins.train.model, plugin_type: model 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.train.model.dfl_sae_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'model.dfl_sae', info: 'DFL SAE Model (Adapted from https://github.com/iperov/DeepFaceLab)\nNB: Unless specifically stated, values changed here will only take effect when creating a new model.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dfl_sae', title: 'input_size', datatype: '', default: '128', info: 'Resolution (in pixels) of the input image to train on.\nBE AWARE Larger resolution will dramatically increase VRAM requirements.\n\nMust be divisible by 16.', rounding: '16', min_max: (64, 256), choices: None, gui_radio: False, fixed: True, group: size) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dfl_sae', title: 'clipnorm', datatype: '', default: 'True', info: 'Controls gradient clipping of the optimizer. Can prevent model corruption at the expense of VRAM.', rounding: 'None', min_max: None, choices: None, gui_radio: False, fixed: False, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dfl_sae', title: 'architecture', datatype: '', default: 'df', info: 'Model architecture:\n 'df': Keeps the faces more natural.\n 'liae': Can help fix overly different face shapes.', rounding: 'None', min_max: None, choices: ['df', 'liae'], gui_radio: True, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dfl_sae', title: 'autoencoder_dims', datatype: '', default: '0', info: 'Face information is stored in AutoEncoder dimensions. If there are not enough dimensions then certain facial features may not be recognized.\nHigher number of dimensions are better, but require more VRAM.\nSet to 0 to use the architecture defaults (256 for liae, 512 for df).', rounding: '32', min_max: (0, 1024), choices: None, gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dfl_sae', title: 'encoder_dims', datatype: '', default: '42', info: 'Encoder dimensions per channel. Higher number of encoder dimensions will help the model to recognize more facial features, but will require more VRAM.', rounding: '1', min_max: (21, 85), choices: None, gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dfl_sae', title: 'decoder_dims', datatype: '', default: '21', info: 'Decoder dimensions per channel. Higher number of decoder dimensions will help the model to improve details, but will require more VRAM.', rounding: '1', min_max: (10, 85), choices: None, gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dfl_sae', title: 'multiscale_decoder', datatype: '', default: 'False', info: 'Multiscale decoder can help to obtain better details.', rounding: 'None', min_max: None, choices: None, gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: model.dfl_sae 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: dlight_defaults.py, module_path: plugins.train.model, plugin_type: model 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.train.model.dlight_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'model.dlight', info: 'A lightweight, high resolution Dfaker variant (Adapted from https://github.com/dfaker/df)\nNB: Unless specifically stated, values changed here will only take effect when creating a new model.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dlight', title: 'features', datatype: '', default: 'best', info: 'Higher settings will allow learning more features such as tatoos, piercing,\nand wrinkles.\nStrongly affects VRAM usage.', rounding: 'None', min_max: None, choices: ['lowmem', 'fair', 'best'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dlight', title: 'details', datatype: '', default: 'good', info: 'Defines detail fidelity. Lower setting can appear 'rugged' while 'good' might take onger time to train.\nAffects VRAM usage.', rounding: 'None', min_max: None, choices: ['fast', 'good'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dlight', title: 'output_size', datatype: '', default: '256', info: 'Output image resolution (in pixels).\nBe aware that larger resolution will increase VRAM requirements.\nNB: Must be either 128, 256, or 384.', rounding: '128', min_max: (128, 384), choices: [], gui_radio: False, fixed: True, group: None) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: model.dlight 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: original_defaults.py, module_path: plugins.train.model, plugin_type: model 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.train.model.original_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'model.original', info: 'Original Faceswap Model.\nNB: Unless specifically stated, values changed here will only take effect when creating a new model.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.original', title: 'lowmem', datatype: '', default: 'False', info: 'Lower memory mode. Set to 'True' if having issues with VRAM useage.\nNB: Models with a changed lowmem mode are not compatible with each other.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: model.original 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: realface_defaults.py, module_path: plugins.train.model, plugin_type: model 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.train.model.realface_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'model.realface', info: 'An extra detailed variant of Original model.\nIncorporates ideas from Bryanlyon and inspiration from the Villain model.\nRequires about 6GB-8GB of VRAM (batchsize 8-16).\n\nNB: Unless specifically stated, values changed here will only take effect when creating a new model.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.realface', title: 'input_size', datatype: '', default: '64', info: 'Resolution (in pixels) of the input image to train on.\nBE AWARE Larger resolution will dramatically increase VRAM requirements.\nHigher resolutions may increase prediction accuracy, but does not effect the resulting output size.\nMust be between 64 and 128 and be divisible by 16.', rounding: '16', min_max: (64, 128), choices: [], gui_radio: False, fixed: True, group: size) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.realface', title: 'output_size', datatype: '', default: '128', info: 'Output image resolution (in pixels).\nBe aware that larger resolution will increase VRAM requirements.\nNB: Must be between 64 and 256 and be divisible by 16.', rounding: '16', min_max: (64, 256), choices: [], gui_radio: False, fixed: True, group: size) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.realface', title: 'dense_nodes', datatype: '', default: '1536', info: 'Number of nodes for decoder. Might affect your model's ability to learn in general.\nNote that: Lower values will affect the ability to predict details.', rounding: '64', min_max: (768, 2048), choices: [], gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.realface', title: 'complexity_encoder', datatype: '', default: '128', info: 'Encoder Convolution Layer Complexity. sensible ranges: 128 to 150.', rounding: '4', min_max: (96, 160), choices: [], gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.realface', title: 'complexity_decoder', datatype: '', default: '512', info: 'Decoder Complexity.', rounding: '4', min_max: (512, 544), choices: [], gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: model.realface 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: unbalanced_defaults.py, module_path: plugins.train.model, plugin_type: model 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.train.model.unbalanced_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'model.unbalanced', info: 'An unbalanced model with adjustable input size options.\nThis is an unbalanced model so b>a swaps may not work well\n\nNB: Unless specifically stated, values changed here will only take effect when creating a new model.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.unbalanced', title: 'input_size', datatype: '', default: '128', info: 'Resolution (in pixels) of the image to train on.\nBE AWARE Larger resolution will dramatically increaseVRAM requirements.\nMake sure your resolution is divisible by 64 (e.g. 64, 128, 256 etc.).\nNB: Your faceset must be at least 1.6x larger than your required input size.\n(e.g. 160 is the maximum input size for a 256x256 faceset).', rounding: '64', min_max: (64, 512), choices: [], gui_radio: False, fixed: True, group: size) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.unbalanced', title: 'lowmem', datatype: '', default: 'False', info: 'Lower memory mode. Set to 'True' if having issues with VRAM useage.\nNB: Models with a changed lowmem mode are not compatible with each other.\nNB: lowmem will override cutom nodes and complexity settings.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.unbalanced', title: 'clipnorm', datatype: '', default: 'True', info: 'Controls gradient clipping of the optimizer. Can prevent model corruption at the expense of VRAM.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.unbalanced', title: 'nodes', datatype: '', default: '1024', info: 'Number of nodes for decoder. Don't change this unless you know what you are doing!', rounding: '64', min_max: (512, 4096), choices: [], gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.unbalanced', title: 'complexity_encoder', datatype: '', default: '128', info: 'Encoder Convolution Layer Complexity. sensible ranges: 128 to 160.', rounding: '16', min_max: (64, 1024), choices: [], gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.unbalanced', title: 'complexity_decoder_a', datatype: '', default: '384', info: 'Decoder A Complexity.', rounding: '16', min_max: (64, 1024), choices: [], gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.unbalanced', title: 'complexity_decoder_b', datatype: '', default: '512', info: 'Decoder B Complexity.', rounding: '16', min_max: (64, 1024), choices: [], gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: model.unbalanced 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: villain_defaults.py, module_path: plugins.train.model, plugin_type: model 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.train.model.villain_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'model.villain', info: 'A Higher resolution version of the Original Model by VillainGuy.\nExtremely VRAM heavy. Full model requires 9GB+ for batchsize 16\n\nNB: Unless specifically stated, values changed here will only take effect when creating a new model.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.villain', title: 'lowmem', datatype: '', default: 'False', info: 'Lower memory mode. Set to 'True' if having issues with VRAM useage.\nNB: Models with a changed lowmem mode are not compatible with each other.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: model.villain 04/29/2020 12:09:05 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'train', 'trainer'] 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: original_defaults.py, module_path: plugins.train.trainer, plugin_type: trainer 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.train.trainer.original_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'trainer.original', info: 'Original Trainer Options.\nWARNING: The defaults for augmentation will be fine for 99.9% of use cases. Only change them if you absolutely know what you are doing!') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'preview_images', datatype: '', default: '14', info: 'Number of sample faces to display for each side in the preview when training.', rounding: '2', min_max: (2, 16), choices: None, gui_radio: False, fixed: True, group: evaluation) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'zoom_amount', datatype: '', default: '5', info: 'Percentage amount to randomly zoom each training image in and out.', rounding: '1', min_max: (0, 25), choices: None, gui_radio: False, fixed: True, group: image augmentation) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'rotation_range', datatype: '', default: '10', info: 'Percentage amount to randomly rotate each training image.', rounding: '1', min_max: (0, 25), choices: None, gui_radio: False, fixed: True, group: image augmentation) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'shift_range', datatype: '', default: '5', info: 'Percentage amount to randomly shift each training image horizontally and vertically.', rounding: '1', min_max: (0, 25), choices: None, gui_radio: False, fixed: True, group: image augmentation) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'flip_chance', datatype: '', default: '50', info: 'Percentage chance to randomly flip each training image horizontally.\nNB: This is ignored if the 'no-flip' option is enabled', rounding: '1', min_max: (0, 75), choices: None, gui_radio: False, fixed: True, group: image augmentation) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'color_lightness', datatype: '', default: '30', info: 'Percentage amount to randomly alter the lightness of each training image.\nNB: This is ignored if the 'no-augment-color' option is enabled', rounding: '1', min_max: (0, 75), choices: None, gui_radio: False, fixed: True, group: color augmentation) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'color_ab', datatype: '', default: '8', info: 'Percentage amount to randomly alter the 'a' and 'b' colors of the L*a*b* color space of each training image.\nNB: This is ignored if the 'no-augment-color' option is enabled', rounding: '1', min_max: (0, 50), choices: None, gui_radio: False, fixed: True, group: color augmentation) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'color_clahe_chance', datatype: '', default: '50', info: 'Percentage chance to perform Contrast Limited Adaptive Histogram Equalization on each training image.\nNB: This is ignored if the 'no-augment-color' option is enabled', rounding: '1', min_max: (0, 75), choices: None, gui_radio: False, fixed: False, group: color augmentation) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'color_clahe_max_size', datatype: '', default: '4', info: 'The grid size dictates how much Contrast Limited Adaptive Histogram Equalization is performed on any training image selected for clahe. Contrast will be applied randomly with a gridsize of 0 up to the maximum. This value is a multiplier calculated from the training image size.\nNB: This is ignored if the 'no-augment-color' option is enabled', rounding: '1', min_max: (1, 8), choices: None, gui_radio: False, fixed: True, group: color augmentation) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: trainer.original 04/29/2020 12:09:05 MainProcess MainThread config handle_config DEBUG Handling config 04/29/2020 12:09:05 MainProcess MainThread config check_exists DEBUG Config file exists: 'D:\Testing\faceswap\config\train.ini' 04/29/2020 12:09:05 MainProcess MainThread config load_config VERBOSE Loading config: 'D:\Testing\faceswap\config\train.ini' 04/29/2020 12:09:05 MainProcess MainThread config validate_config DEBUG Validating config 04/29/2020 12:09:05 MainProcess MainThread config check_config_change DEBUG Default config has not changed 04/29/2020 12:09:05 MainProcess MainThread config check_config_choices DEBUG Checking config choices 04/29/2020 12:09:05 MainProcess MainThread config check_config_choices DEBUG Checked config choices 04/29/2020 12:09:05 MainProcess MainThread config validate_config DEBUG Validated config 04/29/2020 12:09:05 MainProcess MainThread config handle_config DEBUG Handled config 04/29/2020 12:09:05 MainProcess MainThread config __init__ DEBUG Initialized: Config 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'global', option: 'coverage') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: 68.75) 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'global', option: 'mask_type') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: None) 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'global', option: 'mask_blur_kernel') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: 3) 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'global', option: 'mask_threshold') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: 4) 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'global', option: 'learn_mask') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: False) 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'global', option: 'icnr_init') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: False) 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'global', option: 'conv_aware_init') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: False) 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'global', option: 'subpixel_upscaling') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: False) 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'global', option: 'reflect_padding') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: False) 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'global', option: 'penalized_mask_loss') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: True) 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'global', option: 'loss_function') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: mae) 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'global', option: 'learning_rate') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: 5e-05) 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'model.original', option: 'lowmem') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: False) 04/29/2020 12:09:05 MainProcess MainThread _base __init__ DEBUG Initializing ModelBase (Model): (model_dir: 'D:\Testing\faceswap\Extract\Model\model_test1', gpus: 1, configfile: None, snapshot_interval: 0, no_logs: False, warp_to_landmarks: False, augment_color: True, no_flip: False, training_image_size, 256, alignments_paths: None, preview_scale: 100, input_shape: (64, 64, 3), encoder_dim: 1024, trainer: original, pingpong: False, memory_saving_gradients: False, optimizer_savings: False, predict: True) 04/29/2020 12:09:05 MainProcess MainThread _base __init__ DEBUG Initializing VRAMSavings: (pingpong: False, optimizer_savings: False, memory_saving_gradients: False) 04/29/2020 12:09:05 MainProcess MainThread _base set_pingpong DEBUG pingpong: False 04/29/2020 12:09:05 MainProcess MainThread _base set_optimizer_savings DEBUG optimizer_savings: False 04/29/2020 12:09:05 MainProcess MainThread _base set_gradient_type DEBUG memory_saving_gradients: False 04/29/2020 12:09:05 MainProcess MainThread _base __init__ DEBUG Initialized: VRAMSavings 04/29/2020 12:09:05 MainProcess MainThread _base name DEBUG model name: 'original' 04/29/2020 12:09:05 MainProcess MainThread backup_restore __init__ DEBUG Initializing Backup: (model_dir: 'D:\Testing\faceswap\Extract\Model\model_test1', model_name: 'original') 04/29/2020 12:09:05 MainProcess MainThread backup_restore __init__ DEBUG Initialized Backup 04/29/2020 12:09:05 MainProcess MainThread _base name DEBUG model name: 'original' 04/29/2020 12:09:05 MainProcess MainThread _base config_section DEBUG model.original 04/29/2020 12:09:05 MainProcess MainThread config __init__ DEBUG Initializing: Config 04/29/2020 12:09:05 MainProcess MainThread config get_config_file DEBUG Config File location: 'D:\Testing\faceswap\config\train.ini' 04/29/2020 12:09:05 MainProcess MainThread _config set_defaults DEBUG Setting defaults 04/29/2020 12:09:05 MainProcess MainThread _config set_globals DEBUG Setting global config 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'global', info: 'Options that apply to all models\nNB: Unless specifically stated, values changed here will only take effect when creating a new model.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'coverage', datatype: '', default: '68.75', info: 'How much of the extracted image to train on. A lower coverage will limit the model's scope to a zoomed-in central area while higher amounts can include the entire face. A trade-off exists between lower amounts given more detail versus higher amounts avoiding noticeable swap transitions. Sensible values to use are:\n 62.5%% spans from eyebrow to eyebrow.\n 75.0%% spans from temple to temple.\n 87.5%% spans from ear to ear.\n 100.0%% is a mugshot.', rounding: '2', min_max: (62.5, 100.0), choices: None, gui_radio: False, fixed: True, group: face) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'mask_type', datatype: '', default: 'none', info: 'The mask to be used for training. If you have selected 'Learn Mask' or 'Penalized Mask Loss' you must select a value other than 'none'. The required mask should have been selected as part of the Extract process. If it does not exist in the alignments file then it will be generated prior to training commencing.\n none: Don't use a mask.\n components: Mask designed to provide facial segmentation based on the positioning of landmark locations. A convex hull is constructed around the exterior of the landmarks to create a mask.\n extended: Mask designed to provide facial segmentation based on the positioning of landmark locations. A convex hull is constructed around the exterior of the landmarks and the mask is extended upwards onto the forehead.\n vgg-clear: Mask designed to provide smart segmentation of mostly frontal faces clear of obstructions. Profile faces and obstructions may result in sub-par performance.\n vgg-obstructed: Mask designed to provide smart segmentation of mostly frontal faces. The mask model has been specifically trained to recognize some facial obstructions (hands and eyeglasses). Profile faces may result in sub-par performance.\n unet-dfl: Mask designed to provide smart segmentation of mostly frontal faces. The mask model has been trained by community members and will need testing for further description. Profile faces may result in sub-par performance.', rounding: 'None', min_max: None, choices: ['none', 'components', 'extended', 'unet-dfl', 'vgg-clear', 'vgg-obstructed'], gui_radio: True, fixed: True, group: mask) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'mask_blur_kernel', datatype: '', default: '3', info: 'Apply gaussian blur to the mask input. This has the effect of smoothing the edges of the mask, which can help with poorly calculated masks and give less of a hard edge to the predicted mask. The size is in pixels (calculated from a 128px mask). Set to 0 to not apply gaussian blur. This value should be odd, if an even number is passed in then it will be rounded to the next odd number.', rounding: '1', min_max: (0, 9), choices: None, gui_radio: False, fixed: True, group: mask) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'mask_threshold', datatype: '', default: '4', info: 'Sets pixels that are near white to white and near black to black. Set to 0 for off.', rounding: '1', min_max: (0, 50), choices: None, gui_radio: False, fixed: True, group: mask) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'learn_mask', datatype: '', default: 'False', info: 'Dedicate a portion of the model to learning how to duplicate the input mask. Increases VRAM usage in exchange for learning a quick ability to try to replicate more complex mask models.', rounding: 'None', min_max: None, choices: None, gui_radio: False, fixed: True, group: mask) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'icnr_init', datatype: '', default: 'False', info: 'Use ICNR to tile the default initializer in a repeating pattern. This strategy is designed for pairing with sub-pixel / pixel shuffler to reduce the 'checkerboard effect' in image reconstruction. \n https://arxiv.org/ftp/arxiv/papers/1707/1707.02937.pdf', rounding: 'None', min_max: None, choices: None, gui_radio: False, fixed: True, group: initialization) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'conv_aware_init', datatype: '', default: 'False', info: 'Use Convolution Aware Initialization for convolutional layers. This can help eradicate the vanishing and exploding gradient problem as well as lead to higher accuracy, lower loss and faster convergence.\nNB:\n This can use more VRAM when creating a new model so you may want to lower the batch size for the first run. The batch size can be raised again when reloading the model. \n Multi-GPU is not supported for this option, so you should start the model on a single GPU. Once training has started, you can stop training, enable multi-GPU and resume.\n Building the model will likely take several minutes as the calculations for this initialization technique are expensive. This will only impact starting a new model.', rounding: 'None', min_max: None, choices: None, gui_radio: False, fixed: True, group: initialization) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'subpixel_upscaling', datatype: '', default: 'False', info: 'Use subpixel upscaling rather than pixel shuffler. These techniques are both designed to produce better resolving upscaling than other methods. Each perform the same operations, but using different TF opts.\n https://arxiv.org/pdf/1609.05158.pdf', rounding: 'None', min_max: None, choices: None, gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'reflect_padding', datatype: '', default: 'False', info: 'Use reflection padding rather than zero padding with convolutions. Each convolution must pad the image boundaries to maintain the proper sizing. More complex padding schemes can reduce artifacts at the border of the image.\n http://www-cs.engr.ccny.cuny.edu/~wolberg/cs470/hw/hw2_pad.txt', rounding: 'None', min_max: None, choices: None, gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'penalized_mask_loss', datatype: '', default: 'True', info: 'Image loss function is weighted by mask presence. For areas of the image without the facial mask, reconstuction errors will be ignored while the masked face area is prioritized. May increase overall quality by focusing attention on the core face area.', rounding: 'None', min_max: None, choices: None, gui_radio: False, fixed: True, group: loss) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'loss_function', datatype: '', default: 'mae', info: '\n MAE - Mean absolute error will guide reconstructions of each pixel towards its median value in the training dataset. Robust to outliers but as a median, it can potentially ignore some infrequent image types in the dataset.\n MSE - Mean squared error will guide reconstructions of each pixel towards its average value in the training dataset. As an avg, it will be suspectible to outliers and typically produces slightly blurrier results.\n LogCosh - log(cosh(x)) acts similiar to MSE for small errors and to MAE for large errors. Like MSE, it is very stable and prevents overshoots when errors are near zero. Like MAE, it is robust to outliers.\n Smooth_L1 --- Modification of the MAE loss to correct two of its disadvantages. This loss has improved stability and guidance for small errors.\n L_inf_norm --- The L_inf norm will reduce the largest individual pixel error in an image. As each largest error is minimized sequentially, the overall error is improved. This loss will be extremely focused on outliers.\n SSIM - Structural Similarity Index Metric is a perception-based loss that considers changes in texture, luminance, contrast, and local spatial statistics of an image. Potentially delivers more realistic looking images.\n GMSD - Gradient Magnitude Similarity Deviation seeks to match the global standard deviation of the pixel to pixel differences between two images. Similiar in approach to SSIM.\n Pixel_Gradient_Difference - Instead of minimizing the difference between the absolute value of each pixel in two reference images, compute the pixel to pixel spatial difference in each image and then minimize that difference between two images. Allows for large color shifts,but maintains the structure of the image.\n', rounding: 'None', min_max: None, choices: ['mae', 'mse', 'logcosh', 'smooth_loss', 'l_inf_norm', 'ssim', 'gmsd', 'pixel_gradient_diff'], gui_radio: False, fixed: True, group: loss) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'global', title: 'learning_rate', datatype: '', default: '5e-05', info: 'Learning rate - how fast your network will learn (how large are the modifications to the model weights after one batch of training). Values that are too large might result in model crashes and the inability of the model to find the best solution. Values that are too small might be unable to escape from dead-ends and find the best global minimum.', rounding: '6', min_max: (1e-06, 0.0001), choices: None, gui_radio: False, fixed: False, group: optimizer) 04/29/2020 12:09:05 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'train', 'model'] 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: dfl_h128_defaults.py, module_path: plugins.train.model, plugin_type: model 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.train.model.dfl_h128_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'model.dfl_h128', info: 'DFL H128 Model (Adapted from https://github.com/iperov/DeepFaceLab)\nNB: Unless specifically stated, values changed here will only take effect when creating a new model.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dfl_h128', title: 'lowmem', datatype: '', default: 'False', info: 'Lower memory mode. Set to 'True' if having issues with VRAM useage.\nNB: Models with a changed lowmem mode are not compatible with each other.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: model.dfl_h128 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: dfl_sae_defaults.py, module_path: plugins.train.model, plugin_type: model 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.train.model.dfl_sae_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'model.dfl_sae', info: 'DFL SAE Model (Adapted from https://github.com/iperov/DeepFaceLab)\nNB: Unless specifically stated, values changed here will only take effect when creating a new model.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dfl_sae', title: 'input_size', datatype: '', default: '128', info: 'Resolution (in pixels) of the input image to train on.\nBE AWARE Larger resolution will dramatically increase VRAM requirements.\n\nMust be divisible by 16.', rounding: '16', min_max: (64, 256), choices: None, gui_radio: False, fixed: True, group: size) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dfl_sae', title: 'clipnorm', datatype: '', default: 'True', info: 'Controls gradient clipping of the optimizer. Can prevent model corruption at the expense of VRAM.', rounding: 'None', min_max: None, choices: None, gui_radio: False, fixed: False, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dfl_sae', title: 'architecture', datatype: '', default: 'df', info: 'Model architecture:\n 'df': Keeps the faces more natural.\n 'liae': Can help fix overly different face shapes.', rounding: 'None', min_max: None, choices: ['df', 'liae'], gui_radio: True, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dfl_sae', title: 'autoencoder_dims', datatype: '', default: '0', info: 'Face information is stored in AutoEncoder dimensions. If there are not enough dimensions then certain facial features may not be recognized.\nHigher number of dimensions are better, but require more VRAM.\nSet to 0 to use the architecture defaults (256 for liae, 512 for df).', rounding: '32', min_max: (0, 1024), choices: None, gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dfl_sae', title: 'encoder_dims', datatype: '', default: '42', info: 'Encoder dimensions per channel. Higher number of encoder dimensions will help the model to recognize more facial features, but will require more VRAM.', rounding: '1', min_max: (21, 85), choices: None, gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dfl_sae', title: 'decoder_dims', datatype: '', default: '21', info: 'Decoder dimensions per channel. Higher number of decoder dimensions will help the model to improve details, but will require more VRAM.', rounding: '1', min_max: (10, 85), choices: None, gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dfl_sae', title: 'multiscale_decoder', datatype: '', default: 'False', info: 'Multiscale decoder can help to obtain better details.', rounding: 'None', min_max: None, choices: None, gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: model.dfl_sae 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: dlight_defaults.py, module_path: plugins.train.model, plugin_type: model 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.train.model.dlight_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'model.dlight', info: 'A lightweight, high resolution Dfaker variant (Adapted from https://github.com/dfaker/df)\nNB: Unless specifically stated, values changed here will only take effect when creating a new model.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dlight', title: 'features', datatype: '', default: 'best', info: 'Higher settings will allow learning more features such as tatoos, piercing,\nand wrinkles.\nStrongly affects VRAM usage.', rounding: 'None', min_max: None, choices: ['lowmem', 'fair', 'best'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dlight', title: 'details', datatype: '', default: 'good', info: 'Defines detail fidelity. Lower setting can appear 'rugged' while 'good' might take onger time to train.\nAffects VRAM usage.', rounding: 'None', min_max: None, choices: ['fast', 'good'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.dlight', title: 'output_size', datatype: '', default: '256', info: 'Output image resolution (in pixels).\nBe aware that larger resolution will increase VRAM requirements.\nNB: Must be either 128, 256, or 384.', rounding: '128', min_max: (128, 384), choices: [], gui_radio: False, fixed: True, group: None) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: model.dlight 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: original_defaults.py, module_path: plugins.train.model, plugin_type: model 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.train.model.original_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'model.original', info: 'Original Faceswap Model.\nNB: Unless specifically stated, values changed here will only take effect when creating a new model.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.original', title: 'lowmem', datatype: '', default: 'False', info: 'Lower memory mode. Set to 'True' if having issues with VRAM useage.\nNB: Models with a changed lowmem mode are not compatible with each other.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: model.original 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: realface_defaults.py, module_path: plugins.train.model, plugin_type: model 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.train.model.realface_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'model.realface', info: 'An extra detailed variant of Original model.\nIncorporates ideas from Bryanlyon and inspiration from the Villain model.\nRequires about 6GB-8GB of VRAM (batchsize 8-16).\n\nNB: Unless specifically stated, values changed here will only take effect when creating a new model.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.realface', title: 'input_size', datatype: '', default: '64', info: 'Resolution (in pixels) of the input image to train on.\nBE AWARE Larger resolution will dramatically increase VRAM requirements.\nHigher resolutions may increase prediction accuracy, but does not effect the resulting output size.\nMust be between 64 and 128 and be divisible by 16.', rounding: '16', min_max: (64, 128), choices: [], gui_radio: False, fixed: True, group: size) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.realface', title: 'output_size', datatype: '', default: '128', info: 'Output image resolution (in pixels).\nBe aware that larger resolution will increase VRAM requirements.\nNB: Must be between 64 and 256 and be divisible by 16.', rounding: '16', min_max: (64, 256), choices: [], gui_radio: False, fixed: True, group: size) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.realface', title: 'dense_nodes', datatype: '', default: '1536', info: 'Number of nodes for decoder. Might affect your model's ability to learn in general.\nNote that: Lower values will affect the ability to predict details.', rounding: '64', min_max: (768, 2048), choices: [], gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.realface', title: 'complexity_encoder', datatype: '', default: '128', info: 'Encoder Convolution Layer Complexity. sensible ranges: 128 to 150.', rounding: '4', min_max: (96, 160), choices: [], gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.realface', title: 'complexity_decoder', datatype: '', default: '512', info: 'Decoder Complexity.', rounding: '4', min_max: (512, 544), choices: [], gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: model.realface 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: unbalanced_defaults.py, module_path: plugins.train.model, plugin_type: model 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.train.model.unbalanced_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'model.unbalanced', info: 'An unbalanced model with adjustable input size options.\nThis is an unbalanced model so b>a swaps may not work well\n\nNB: Unless specifically stated, values changed here will only take effect when creating a new model.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.unbalanced', title: 'input_size', datatype: '', default: '128', info: 'Resolution (in pixels) of the image to train on.\nBE AWARE Larger resolution will dramatically increaseVRAM requirements.\nMake sure your resolution is divisible by 64 (e.g. 64, 128, 256 etc.).\nNB: Your faceset must be at least 1.6x larger than your required input size.\n(e.g. 160 is the maximum input size for a 256x256 faceset).', rounding: '64', min_max: (64, 512), choices: [], gui_radio: False, fixed: True, group: size) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.unbalanced', title: 'lowmem', datatype: '', default: 'False', info: 'Lower memory mode. Set to 'True' if having issues with VRAM useage.\nNB: Models with a changed lowmem mode are not compatible with each other.\nNB: lowmem will override cutom nodes and complexity settings.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.unbalanced', title: 'clipnorm', datatype: '', default: 'True', info: 'Controls gradient clipping of the optimizer. Can prevent model corruption at the expense of VRAM.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.unbalanced', title: 'nodes', datatype: '', default: '1024', info: 'Number of nodes for decoder. Don't change this unless you know what you are doing!', rounding: '64', min_max: (512, 4096), choices: [], gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.unbalanced', title: 'complexity_encoder', datatype: '', default: '128', info: 'Encoder Convolution Layer Complexity. sensible ranges: 128 to 160.', rounding: '16', min_max: (64, 1024), choices: [], gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.unbalanced', title: 'complexity_decoder_a', datatype: '', default: '384', info: 'Decoder A Complexity.', rounding: '16', min_max: (64, 1024), choices: [], gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.unbalanced', title: 'complexity_decoder_b', datatype: '', default: '512', info: 'Decoder B Complexity.', rounding: '16', min_max: (64, 1024), choices: [], gui_radio: False, fixed: True, group: network) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: model.unbalanced 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: villain_defaults.py, module_path: plugins.train.model, plugin_type: model 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.train.model.villain_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'model.villain', info: 'A Higher resolution version of the Original Model by VillainGuy.\nExtremely VRAM heavy. Full model requires 9GB+ for batchsize 16\n\nNB: Unless specifically stated, values changed here will only take effect when creating a new model.') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'model.villain', title: 'lowmem', datatype: '', default: 'False', info: 'Lower memory mode. Set to 'True' if having issues with VRAM useage.\nNB: Models with a changed lowmem mode are not compatible with each other.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: model.villain 04/29/2020 12:09:05 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'train', 'trainer'] 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: original_defaults.py, module_path: plugins.train.trainer, plugin_type: trainer 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.train.trainer.original_defaults 04/29/2020 12:09:05 MainProcess MainThread config add_section DEBUG Add section: (title: 'trainer.original', info: 'Original Trainer Options.\nWARNING: The defaults for augmentation will be fine for 99.9% of use cases. Only change them if you absolutely know what you are doing!') 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'preview_images', datatype: '', default: '14', info: 'Number of sample faces to display for each side in the preview when training.', rounding: '2', min_max: (2, 16), choices: None, gui_radio: False, fixed: True, group: evaluation) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'zoom_amount', datatype: '', default: '5', info: 'Percentage amount to randomly zoom each training image in and out.', rounding: '1', min_max: (0, 25), choices: None, gui_radio: False, fixed: True, group: image augmentation) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'rotation_range', datatype: '', default: '10', info: 'Percentage amount to randomly rotate each training image.', rounding: '1', min_max: (0, 25), choices: None, gui_radio: False, fixed: True, group: image augmentation) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'shift_range', datatype: '', default: '5', info: 'Percentage amount to randomly shift each training image horizontally and vertically.', rounding: '1', min_max: (0, 25), choices: None, gui_radio: False, fixed: True, group: image augmentation) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'flip_chance', datatype: '', default: '50', info: 'Percentage chance to randomly flip each training image horizontally.\nNB: This is ignored if the 'no-flip' option is enabled', rounding: '1', min_max: (0, 75), choices: None, gui_radio: False, fixed: True, group: image augmentation) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'color_lightness', datatype: '', default: '30', info: 'Percentage amount to randomly alter the lightness of each training image.\nNB: This is ignored if the 'no-augment-color' option is enabled', rounding: '1', min_max: (0, 75), choices: None, gui_radio: False, fixed: True, group: color augmentation) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'color_ab', datatype: '', default: '8', info: 'Percentage amount to randomly alter the 'a' and 'b' colors of the L*a*b* color space of each training image.\nNB: This is ignored if the 'no-augment-color' option is enabled', rounding: '1', min_max: (0, 50), choices: None, gui_radio: False, fixed: True, group: color augmentation) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'color_clahe_chance', datatype: '', default: '50', info: 'Percentage chance to perform Contrast Limited Adaptive Histogram Equalization on each training image.\nNB: This is ignored if the 'no-augment-color' option is enabled', rounding: '1', min_max: (0, 75), choices: None, gui_radio: False, fixed: False, group: color augmentation) 04/29/2020 12:09:05 MainProcess MainThread config add_item DEBUG Add item: (section: 'trainer.original', title: 'color_clahe_max_size', datatype: '', default: '4', info: 'The grid size dictates how much Contrast Limited Adaptive Histogram Equalization is performed on any training image selected for clahe. Contrast will be applied randomly with a gridsize of 0 up to the maximum. This value is a multiplier calculated from the training image size.\nNB: This is ignored if the 'no-augment-color' option is enabled', rounding: '1', min_max: (1, 8), choices: None, gui_radio: False, fixed: True, group: color augmentation) 04/29/2020 12:09:05 MainProcess MainThread _config load_module DEBUG Added defaults: trainer.original 04/29/2020 12:09:05 MainProcess MainThread config handle_config DEBUG Handling config 04/29/2020 12:09:05 MainProcess MainThread config check_exists DEBUG Config file exists: 'D:\Testing\faceswap\config\train.ini' 04/29/2020 12:09:05 MainProcess MainThread config load_config VERBOSE Loading config: 'D:\Testing\faceswap\config\train.ini' 04/29/2020 12:09:05 MainProcess MainThread config validate_config DEBUG Validating config 04/29/2020 12:09:05 MainProcess MainThread config check_config_change DEBUG Default config has not changed 04/29/2020 12:09:05 MainProcess MainThread config check_config_choices DEBUG Checking config choices 04/29/2020 12:09:05 MainProcess MainThread config check_config_choices DEBUG Checked config choices 04/29/2020 12:09:05 MainProcess MainThread config validate_config DEBUG Validated config 04/29/2020 12:09:05 MainProcess MainThread config handle_config DEBUG Handled config 04/29/2020 12:09:05 MainProcess MainThread config __init__ DEBUG Initialized: Config 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Getting config item: (section: 'global', option: 'learning_rate') 04/29/2020 12:09:05 MainProcess MainThread config get DEBUG Returning item: (type: , value: 5e-05) 04/29/2020 12:09:05 MainProcess MainThread config changeable_items DEBUG Alterable for existing models: {'learning_rate': 5e-05} 04/29/2020 12:09:05 MainProcess MainThread _base __init__ DEBUG Initializing State: (model_dir: 'D:\Testing\faceswap\Extract\Model\model_test1', model_name: 'original', config_changeable_items: '{'learning_rate': 5e-05}', no_logs: False, pingpong: False, training_image_size: '256' 04/29/2020 12:09:05 MainProcess MainThread serializer get_serializer DEBUG 04/29/2020 12:09:05 MainProcess MainThread _base load DEBUG Loading State 04/29/2020 12:09:05 MainProcess MainThread serializer load DEBUG filename: D:\Testing\faceswap\Extract\Model\model_test1\original_state.json 04/29/2020 12:09:05 MainProcess MainThread serializer load DEBUG stored data type: 04/29/2020 12:09:05 MainProcess MainThread serializer unmarshal DEBUG data type: 04/29/2020 12:09:05 MainProcess MainThread serializer unmarshal DEBUG returned data type: 04/29/2020 12:09:05 MainProcess MainThread serializer load DEBUG data type: 04/29/2020 12:09:05 MainProcess MainThread _base load DEBUG Loaded state: {'name': 'original', 'sessions': {'1': {'timestamp': 1588069963.2956283, 'no_logs': False, 'pingpong': False, 'loss_names': {'a': ['face_loss'], 'b': ['face_loss']}, 'batchsize': 64, 'iterations': 40695, 'config': {'learning_rate': 5e-05}}, '2': {'timestamp': 1588096724.7223222, 'no_logs': False, 'pingpong': False, 'loss_names': {'a': ['face_loss'], 'b': ['face_loss']}, 'batchsize': 64, 'iterations': 16356, 'config': {'learning_rate': 5e-05}}, '3': {'timestamp': 1588107762.301436, 'no_logs': False, 'pingpong': False, 'loss_names': {'a': ['face_loss'], 'b': ['face_loss']}, 'batchsize': 64, 'iterations': 56219, 'config': {'learning_rate': 5e-05}}, '4': {'timestamp': 1588143644.5661523, 'no_logs': False, 'pingpong': False, 'loss_names': {'a': ['face_loss'], 'b': ['face_loss']}, 'batchsize': 64, 'iterations': 4831, 'config': {'learning_rate': 5e-05}}, '5': {'timestamp': 1588146750.5387857, 'no_logs': False, 'pingpong': False, 'loss_names': {'a': ['face_loss'], 'b': ['face_loss']}, 'batchsize': 64, 'iterations': 14460, 'config': {'learning_rate': 5e-05}}}, 'lowest_avg_loss': {'a': 0.03463127989321947, 'b': 0.02329189281910658}, 'iterations': 132561, 'inputs': {'face_in:0': [64, 64, 3]}, 'training_size': 256, 'config': {'coverage': 68.75, 'mask_type': None, 'mask_blur_kernel': 3, 'mask_threshold': 4, 'learn_mask': False, 'icnr_init': False, 'conv_aware_init': False, 'subpixel_upscaling': False, 'reflect_padding': False, 'penalized_mask_loss': True, 'loss_function': 'mae', 'learning_rate': 5e-05, 'lowmem': False}} 04/29/2020 12:09:05 MainProcess MainThread _base _update_legacy_config DEBUG Checking for legacy state file update 04/29/2020 12:09:05 MainProcess MainThread _base _update_legacy_config DEBUG Legacy item 'dssim_loss' not in config. Skipping update 04/29/2020 12:09:05 MainProcess MainThread _base _update_legacy_config DEBUG State file updated for legacy config: False 04/29/2020 12:09:05 MainProcess MainThread _base replace_config DEBUG Replacing config. Old config: {'coverage': 68.75, 'mask_type': None, 'mask_blur_kernel': 3, 'mask_threshold': 4, 'learn_mask': False, 'icnr_init': False, 'conv_aware_init': False, 'subpixel_upscaling': False, 'reflect_padding': False, 'penalized_mask_loss': True, 'loss_function': 'mae', 'learning_rate': 5e-05, 'lowmem': False} 04/29/2020 12:09:05 MainProcess MainThread _base replace_config DEBUG Replaced config. New config: {'coverage': 68.75, 'mask_type': None, 'mask_blur_kernel': 3, 'mask_threshold': 4, 'learn_mask': False, 'icnr_init': False, 'conv_aware_init': False, 'subpixel_upscaling': False, 'reflect_padding': False, 'penalized_mask_loss': True, 'loss_function': 'mae', 'learning_rate': 5e-05, 'lowmem': False} 04/29/2020 12:09:05 MainProcess MainThread _base replace_config INFO Using configuration saved in state file 04/29/2020 12:09:05 MainProcess MainThread _base new_session_id DEBUG 6 04/29/2020 12:09:05 MainProcess MainThread _base create_new_session DEBUG Creating new session. id: 6 04/29/2020 12:09:05 MainProcess MainThread _base __init__ DEBUG Initialized State: 04/29/2020 12:09:05 MainProcess MainThread nn_blocks __init__ DEBUG Initializing NNBlocks: (use_subpixel: False, use_icnr_init: False, use_convaware_init: False, use_reflect_padding: False, first_run: False) 04/29/2020 12:09:05 MainProcess MainThread nn_blocks __init__ DEBUG Initialized NNBlocks 04/29/2020 12:09:05 MainProcess MainThread _base name DEBUG model name: 'original' 04/29/2020 12:09:05 MainProcess MainThread _base rename_legacy DEBUG Renaming legacy files 04/29/2020 12:09:05 MainProcess MainThread _base name DEBUG model name: 'original' 04/29/2020 12:09:05 MainProcess MainThread _base rename_legacy DEBUG No legacy files to rename 04/29/2020 12:09:05 MainProcess MainThread _base load_state_info DEBUG Loading Input Shape from State file 04/29/2020 12:09:05 MainProcess MainThread _base load_state_info DEBUG Setting input shape from state file: (64, 64, 3) 04/29/2020 12:09:05 MainProcess MainThread _base calculate_coverage_ratio DEBUG Requested coverage_ratio: 0.6875 04/29/2020 12:09:05 MainProcess MainThread _base calculate_coverage_ratio DEBUG Final coverage_ratio: 0.6875 04/29/2020 12:09:05 MainProcess MainThread _base __init__ DEBUG training_opts: {'alignments': None, 'preview_scaling': 1.0, 'warp_to_landmarks': False, 'augment_color': True, 'no_flip': False, 'pingpong': False, 'snapshot_interval': 0, 'training_size': 256, 'no_logs': False, 'coverage_ratio': 0.6875, 'mask_type': None, 'mask_blur_kernel': 3, 'mask_threshold': 4, 'learn_mask': False, 'penalized_mask_loss': False} 04/29/2020 12:09:05 MainProcess MainThread _base multiple_models_in_folder DEBUG model_files: ['original_decoder_A.h5', 'original_decoder_B.h5', 'original_encoder.h5'], retval: False 04/29/2020 12:09:05 MainProcess MainThread original add_networks DEBUG Adding networks 04/29/2020 12:09:05 MainProcess MainThread module_wrapper _tfmw_add_deprecation_warning DEBUG From D:\MiniConda\envs\faceswap\lib\site-packages\keras\backend\tensorflow_backend.py:74: The name tf.get_default_graph is deprecated. Please use tf.compat.v1.get_default_graph instead.\n 04/29/2020 12:09:05 MainProcess MainThread module_wrapper _tfmw_add_deprecation_warning DEBUG From D:\MiniConda\envs\faceswap\lib\site-packages\keras\backend\tensorflow_backend.py:517: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.\n 04/29/2020 12:09:05 MainProcess MainThread nn_blocks upscale DEBUG inp: Tensor("input_1:0", shape=(?, 8, 8, 512), dtype=float32), filters: 256, kernel_size: 3, use_instance_norm: False, kwargs: {}) 04/29/2020 12:09:05 MainProcess MainThread nn_blocks get_name DEBUG Generating block name: upscale_8_0 04/29/2020 12:09:05 MainProcess MainThread nn_blocks set_default_initializer DEBUG Set default kernel_initializer to: 04/29/2020 12:09:05 MainProcess MainThread nn_blocks conv2d DEBUG inp: Tensor("input_1:0", shape=(?, 8, 8, 512), dtype=float32), filters: 1024, kernel_size: 3, strides: (1, 1), padding: same, kwargs: {'name': 'upscale_8_0_conv2d', 'kernel_initializer': }) 04/29/2020 12:09:05 MainProcess MainThread nn_blocks set_default_initializer DEBUG Using model specified initializer: 04/29/2020 12:09:05 MainProcess MainThread module_wrapper _tfmw_add_deprecation_warning DEBUG From D:\MiniConda\envs\faceswap\lib\site-packages\keras\backend\tensorflow_backend.py:4138: The name tf.random_uniform is deprecated. Please use tf.random.uniform instead.\n 04/29/2020 12:09:05 MainProcess MainThread nn_blocks upscale DEBUG inp: Tensor("upscale_8_0_pixelshuffler/Reshape_1:0", shape=(?, 16, 16, 256), dtype=float32), filters: 128, kernel_size: 3, use_instance_norm: False, kwargs: {}) 04/29/2020 12:09:05 MainProcess MainThread nn_blocks get_name DEBUG Generating block name: upscale_16_0 04/29/2020 12:09:05 MainProcess MainThread nn_blocks set_default_initializer DEBUG Set default kernel_initializer to: 04/29/2020 12:09:05 MainProcess MainThread nn_blocks conv2d DEBUG inp: Tensor("upscale_8_0_pixelshuffler/Reshape_1:0", shape=(?, 16, 16, 256), dtype=float32), filters: 512, kernel_size: 3, strides: (1, 1), padding: same, kwargs: {'name': 'upscale_16_0_conv2d', 'kernel_initializer': }) 04/29/2020 12:09:05 MainProcess MainThread nn_blocks set_default_initializer DEBUG Using model specified initializer: 04/29/2020 12:09:05 MainProcess MainThread nn_blocks upscale DEBUG inp: Tensor("upscale_16_0_pixelshuffler/Reshape_1:0", shape=(?, 32, 32, 128), dtype=float32), filters: 64, kernel_size: 3, use_instance_norm: False, kwargs: {}) 04/29/2020 12:09:05 MainProcess MainThread nn_blocks get_name DEBUG Generating block name: upscale_32_0 04/29/2020 12:09:05 MainProcess MainThread nn_blocks set_default_initializer DEBUG Set default kernel_initializer to: 04/29/2020 12:09:05 MainProcess MainThread nn_blocks conv2d DEBUG inp: Tensor("upscale_16_0_pixelshuffler/Reshape_1:0", shape=(?, 32, 32, 128), dtype=float32), filters: 256, kernel_size: 3, strides: (1, 1), padding: same, kwargs: {'name': 'upscale_32_0_conv2d', 'kernel_initializer': }) 04/29/2020 12:09:05 MainProcess MainThread nn_blocks set_default_initializer DEBUG Using model specified initializer: 04/29/2020 12:09:05 MainProcess MainThread nn_blocks conv2d DEBUG inp: Tensor("upscale_32_0_pixelshuffler/Reshape_1:0", shape=(?, 64, 64, 64), dtype=float32), filters: 3, kernel_size: 5, strides: (1, 1), padding: same, kwargs: {'activation': 'sigmoid', 'name': 'face_out'}) 04/29/2020 12:09:05 MainProcess MainThread nn_blocks set_default_initializer DEBUG Set default kernel_initializer to: 04/29/2020 12:09:05 MainProcess MainThread _base add_network DEBUG network_type: 'decoder', side: 'a', network: '', is_output: True 04/29/2020 12:09:05 MainProcess MainThread _base name DEBUG model name: 'original' 04/29/2020 12:09:05 MainProcess MainThread _base add_network DEBUG name: 'decoder_a', filename: 'original_decoder_A.h5' 04/29/2020 12:09:05 MainProcess MainThread _base __init__ DEBUG Initializing NNMeta: (filename: 'D:\Testing\faceswap\Extract\Model\model_test1\original_decoder_A.h5', network_type: 'decoder', side: 'a', network: , is_output: True 04/29/2020 12:09:05 MainProcess MainThread module_wrapper _tfmw_add_deprecation_warning DEBUG From D:\MiniConda\envs\faceswap\lib\site-packages\keras\backend\tensorflow_backend.py:174: The name tf.get_default_session is deprecated. Please use tf.compat.v1.get_default_session instead.\n 04/29/2020 12:09:05 MainProcess MainThread module_wrapper _tfmw_add_deprecation_warning DEBUG From D:\MiniConda\envs\faceswap\lib\site-packages\keras\backend\tensorflow_backend.py:181: The name tf.ConfigProto is deprecated. Please use tf.compat.v1.ConfigProto instead.\n 04/29/2020 12:09:05 MainProcess MainThread module_wrapper _tfmw_add_deprecation_warning DEBUG From D:\MiniConda\envs\faceswap\lib\site-packages\keras\backend\tensorflow_backend.py:186: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.\n 04/29/2020 12:09:06 MainProcess MainThread module_wrapper _tfmw_add_deprecation_warning DEBUG From D:\MiniConda\envs\faceswap\lib\site-packages\keras\backend\tensorflow_backend.py:190: The name tf.global_variables is deprecated. Please use tf.compat.v1.global_variables instead.\n 04/29/2020 12:09:06 MainProcess MainThread module_wrapper _tfmw_add_deprecation_warning DEBUG From D:\MiniConda\envs\faceswap\lib\site-packages\keras\backend\tensorflow_backend.py:199: The name tf.is_variable_initialized is deprecated. Please use tf.compat.v1.is_variable_initialized instead.\n 04/29/2020 12:09:06 MainProcess MainThread module_wrapper _tfmw_add_deprecation_warning DEBUG From D:\MiniConda\envs\faceswap\lib\site-packages\keras\backend\tensorflow_backend.py:206: The name tf.variables_initializer is deprecated. Please use tf.compat.v1.variables_initializer instead.\n 04/29/2020 12:09:06 MainProcess MainThread _base __init__ DEBUG Initialized NNMeta 04/29/2020 12:09:06 MainProcess MainThread nn_blocks upscale DEBUG inp: Tensor("input_2:0", shape=(?, 8, 8, 512), dtype=float32), filters: 256, kernel_size: 3, use_instance_norm: False, kwargs: {}) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks get_name DEBUG Generating block name: upscale_8_1 04/29/2020 12:09:06 MainProcess MainThread nn_blocks set_default_initializer DEBUG Set default kernel_initializer to: 04/29/2020 12:09:06 MainProcess MainThread nn_blocks conv2d DEBUG inp: Tensor("input_2:0", shape=(?, 8, 8, 512), dtype=float32), filters: 1024, kernel_size: 3, strides: (1, 1), padding: same, kwargs: {'name': 'upscale_8_1_conv2d', 'kernel_initializer': }) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks set_default_initializer DEBUG Using model specified initializer: 04/29/2020 12:09:06 MainProcess MainThread nn_blocks upscale DEBUG inp: Tensor("upscale_8_1_pixelshuffler/Reshape_1:0", shape=(?, 16, 16, 256), dtype=float32), filters: 128, kernel_size: 3, use_instance_norm: False, kwargs: {}) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks get_name DEBUG Generating block name: upscale_16_1 04/29/2020 12:09:06 MainProcess MainThread nn_blocks set_default_initializer DEBUG Set default kernel_initializer to: 04/29/2020 12:09:06 MainProcess MainThread nn_blocks conv2d DEBUG inp: Tensor("upscale_8_1_pixelshuffler/Reshape_1:0", shape=(?, 16, 16, 256), dtype=float32), filters: 512, kernel_size: 3, strides: (1, 1), padding: same, kwargs: {'name': 'upscale_16_1_conv2d', 'kernel_initializer': }) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks set_default_initializer DEBUG Using model specified initializer: 04/29/2020 12:09:06 MainProcess MainThread nn_blocks upscale DEBUG inp: Tensor("upscale_16_1_pixelshuffler/Reshape_1:0", shape=(?, 32, 32, 128), dtype=float32), filters: 64, kernel_size: 3, use_instance_norm: False, kwargs: {}) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks get_name DEBUG Generating block name: upscale_32_1 04/29/2020 12:09:06 MainProcess MainThread nn_blocks set_default_initializer DEBUG Set default kernel_initializer to: 04/29/2020 12:09:06 MainProcess MainThread nn_blocks conv2d DEBUG inp: Tensor("upscale_16_1_pixelshuffler/Reshape_1:0", shape=(?, 32, 32, 128), dtype=float32), filters: 256, kernel_size: 3, strides: (1, 1), padding: same, kwargs: {'name': 'upscale_32_1_conv2d', 'kernel_initializer': }) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks set_default_initializer DEBUG Using model specified initializer: 04/29/2020 12:09:06 MainProcess MainThread nn_blocks conv2d DEBUG inp: Tensor("upscale_32_1_pixelshuffler/Reshape_1:0", shape=(?, 64, 64, 64), dtype=float32), filters: 3, kernel_size: 5, strides: (1, 1), padding: same, kwargs: {'activation': 'sigmoid', 'name': 'face_out'}) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks set_default_initializer DEBUG Set default kernel_initializer to: 04/29/2020 12:09:06 MainProcess MainThread _base add_network DEBUG network_type: 'decoder', side: 'b', network: '', is_output: True 04/29/2020 12:09:06 MainProcess MainThread _base name DEBUG model name: 'original' 04/29/2020 12:09:06 MainProcess MainThread _base add_network DEBUG name: 'decoder_b', filename: 'original_decoder_B.h5' 04/29/2020 12:09:06 MainProcess MainThread _base __init__ DEBUG Initializing NNMeta: (filename: 'D:\Testing\faceswap\Extract\Model\model_test1\original_decoder_B.h5', network_type: 'decoder', side: 'b', network: , is_output: True 04/29/2020 12:09:06 MainProcess MainThread _base __init__ DEBUG Initialized NNMeta 04/29/2020 12:09:06 MainProcess MainThread nn_blocks conv DEBUG inp: Tensor("input_3:0", shape=(?, 64, 64, 3), dtype=float32), filters: 128, kernel_size: 5, strides: 2, use_instance_norm: False, kwargs: {}) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks get_name DEBUG Generating block name: conv_64_0 04/29/2020 12:09:06 MainProcess MainThread nn_blocks conv2d DEBUG inp: Tensor("input_3:0", shape=(?, 64, 64, 3), dtype=float32), filters: 128, kernel_size: 5, strides: 2, padding: same, kwargs: {'name': 'conv_64_0_conv2d'}) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks set_default_initializer DEBUG Set default kernel_initializer to: 04/29/2020 12:09:06 MainProcess MainThread nn_blocks conv DEBUG inp: Tensor("conv_64_0_leakyrelu/LeakyRelu:0", shape=(?, 32, 32, 128), dtype=float32), filters: 256, kernel_size: 5, strides: 2, use_instance_norm: False, kwargs: {}) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks get_name DEBUG Generating block name: conv_32_0 04/29/2020 12:09:06 MainProcess MainThread nn_blocks conv2d DEBUG inp: Tensor("conv_64_0_leakyrelu/LeakyRelu:0", shape=(?, 32, 32, 128), dtype=float32), filters: 256, kernel_size: 5, strides: 2, padding: same, kwargs: {'name': 'conv_32_0_conv2d'}) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks set_default_initializer DEBUG Set default kernel_initializer to: 04/29/2020 12:09:06 MainProcess MainThread nn_blocks conv DEBUG inp: Tensor("conv_32_0_leakyrelu/LeakyRelu:0", shape=(?, 16, 16, 256), dtype=float32), filters: 512, kernel_size: 5, strides: 2, use_instance_norm: False, kwargs: {}) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks get_name DEBUG Generating block name: conv_16_0 04/29/2020 12:09:06 MainProcess MainThread nn_blocks conv2d DEBUG inp: Tensor("conv_32_0_leakyrelu/LeakyRelu:0", shape=(?, 16, 16, 256), dtype=float32), filters: 512, kernel_size: 5, strides: 2, padding: same, kwargs: {'name': 'conv_16_0_conv2d'}) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks set_default_initializer DEBUG Set default kernel_initializer to: 04/29/2020 12:09:06 MainProcess MainThread nn_blocks conv DEBUG inp: Tensor("conv_16_0_leakyrelu/LeakyRelu:0", shape=(?, 8, 8, 512), dtype=float32), filters: 1024, kernel_size: 5, strides: 2, use_instance_norm: False, kwargs: {}) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks get_name DEBUG Generating block name: conv_8_0 04/29/2020 12:09:06 MainProcess MainThread nn_blocks conv2d DEBUG inp: Tensor("conv_16_0_leakyrelu/LeakyRelu:0", shape=(?, 8, 8, 512), dtype=float32), filters: 1024, kernel_size: 5, strides: 2, padding: same, kwargs: {'name': 'conv_8_0_conv2d'}) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks set_default_initializer DEBUG Set default kernel_initializer to: 04/29/2020 12:09:06 MainProcess MainThread nn_blocks upscale DEBUG inp: Tensor("reshape_1/Reshape:0", shape=(?, 4, 4, 1024), dtype=float32), filters: 512, kernel_size: 3, use_instance_norm: False, kwargs: {}) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks get_name DEBUG Generating block name: upscale_4_0 04/29/2020 12:09:06 MainProcess MainThread nn_blocks set_default_initializer DEBUG Set default kernel_initializer to: 04/29/2020 12:09:06 MainProcess MainThread nn_blocks conv2d DEBUG inp: Tensor("reshape_1/Reshape:0", shape=(?, 4, 4, 1024), dtype=float32), filters: 2048, kernel_size: 3, strides: (1, 1), padding: same, kwargs: {'name': 'upscale_4_0_conv2d', 'kernel_initializer': }) 04/29/2020 12:09:06 MainProcess MainThread nn_blocks set_default_initializer DEBUG Using model specified initializer: 04/29/2020 12:09:06 MainProcess MainThread _base add_network DEBUG network_type: 'encoder', side: 'None', network: '', is_output: False 04/29/2020 12:09:06 MainProcess MainThread _base name DEBUG model name: 'original' 04/29/2020 12:09:06 MainProcess MainThread _base add_network DEBUG name: 'encoder', filename: 'original_encoder.h5' 04/29/2020 12:09:06 MainProcess MainThread _base __init__ DEBUG Initializing NNMeta: (filename: 'D:\Testing\faceswap\Extract\Model\model_test1\original_encoder.h5', network_type: 'encoder', side: 'None', network: , is_output: False 04/29/2020 12:09:06 MainProcess MainThread _base __init__ DEBUG Initialized NNMeta 04/29/2020 12:09:06 MainProcess MainThread original add_networks DEBUG Added networks 04/29/2020 12:09:06 MainProcess MainThread _base load_models DEBUG Load model: (swapped: False) 04/29/2020 12:09:06 MainProcess MainThread _base models_exist DEBUG Pre-existing models exist: True 04/29/2020 12:09:06 MainProcess MainThread _base models_exist DEBUG Pre-existing models exist: True 04/29/2020 12:09:06 MainProcess MainThread module_wrapper _tfmw_add_deprecation_warning DEBUG From D:\MiniConda\envs\faceswap\lib\site-packages\keras\backend\tensorflow_backend.py:95: The name tf.reset_default_graph is deprecated. Please use tf.compat.v1.reset_default_graph instead.\n 04/29/2020 12:09:06 MainProcess MainThread module_wrapper _tfmw_add_deprecation_warning DEBUG From D:\MiniConda\envs\faceswap\lib\site-packages\keras\backend\tensorflow_backend.py:98: The name tf.placeholder_with_default is deprecated. Please use tf.compat.v1.placeholder_with_default instead.\n 04/29/2020 12:09:07 MainProcess MainThread _base map_models DEBUG Map models: (swapped: False) 04/29/2020 12:09:07 MainProcess MainThread _base map_models DEBUG Mapped models: (models_map: {'a': {'decoder': 'D:\\Testing\\faceswap\\Extract\\Model\\model_test1\\original_decoder_A.h5'}, 'b': {'decoder': 'D:\\Testing\\faceswap\\Extract\\Model\\model_test1\\original_decoder_B.h5'}}) 04/29/2020 12:09:07 MainProcess MainThread _base load DEBUG Loading model: 'D:\Testing\faceswap\Extract\Model\model_test1\original_decoder_A.h5' 04/29/2020 12:09:07 MainProcess MainThread _base load DEBUG Loading model: 'D:\Testing\faceswap\Extract\Model\model_test1\original_decoder_B.h5' 04/29/2020 12:09:07 MainProcess MainThread _base load DEBUG Loading model: 'D:\Testing\faceswap\Extract\Model\model_test1\original_encoder.h5' 04/29/2020 12:09:07 MainProcess MainThread _base load_models INFO Loaded model from disk: 'D:\Testing\faceswap\Extract\Model\model_test1' 04/29/2020 12:09:07 MainProcess MainThread _base get_inputs DEBUG Getting inputs 04/29/2020 12:09:07 MainProcess MainThread _base get_inputs DEBUG Got inputs: [] 04/29/2020 12:09:07 MainProcess MainThread original build_autoencoders DEBUG Initializing model 04/29/2020 12:09:07 MainProcess MainThread original build_autoencoders DEBUG Adding Autoencoder. Side: a 04/29/2020 12:09:07 MainProcess MainThread _base add_predictor DEBUG Adding predictor: (side: 'a', model: ) 04/29/2020 12:09:07 MainProcess MainThread original build_autoencoders DEBUG Adding Autoencoder. Side: b 04/29/2020 12:09:07 MainProcess MainThread _base add_predictor DEBUG Adding predictor: (side: 'b', model: ) 04/29/2020 12:09:07 MainProcess MainThread original build_autoencoders DEBUG Initialized model 04/29/2020 12:09:07 MainProcess MainThread _base compile_predictors DEBUG Compiling Predictors 04/29/2020 12:09:07 MainProcess MainThread _base get_optimizer DEBUG Optimizer kwargs: {'lr': 5e-05, 'beta_1': 0.5, 'beta_2': 0.999} 04/29/2020 12:09:07 MainProcess MainThread optimizers set_cpu_mode DEBUG Optimizer CPU Mode set to False 04/29/2020 12:09:07 MainProcess MainThread _base __init__ DEBUG Initializing Loss: (inputs: [], outputs: []) 04/29/2020 12:09:07 MainProcess MainThread _base get_loss_names DEBUG Model output names: ['decoder_a/face_out/Sigmoid:0'] 04/29/2020 12:09:07 MainProcess MainThread _base get_loss_names DEBUG ['face_loss'] 04/29/2020 12:09:07 MainProcess MainThread _base selected_loss DEBUG 04/29/2020 12:09:07 MainProcess MainThread _base get_loss_functions DEBUG face_loss: 04/29/2020 12:09:07 MainProcess MainThread _base get_loss_functions DEBUG [] 04/29/2020 12:09:07 MainProcess MainThread _base __init__ DEBUG Initialized: Loss 04/29/2020 12:09:07 MainProcess MainThread module_wrapper _tfmw_add_deprecation_warning DEBUG From D:\MiniConda\envs\faceswap\lib\site-packages\keras\optimizers.py:790: The name tf.train.Optimizer is deprecated. Please use tf.compat.v1.train.Optimizer instead.\n 04/29/2020 12:09:07 MainProcess MainThread _base add_session_loss_names DEBUG Adding session loss_names. (side: 'a', loss_names: ['face_loss'] 04/29/2020 12:09:07 MainProcess MainThread _base __init__ DEBUG Initializing Loss: (inputs: [], outputs: []) 04/29/2020 12:09:07 MainProcess MainThread _base get_loss_names DEBUG Model output names: ['decoder_b/face_out/Sigmoid:0'] 04/29/2020 12:09:07 MainProcess MainThread _base get_loss_names DEBUG ['face_loss'] 04/29/2020 12:09:07 MainProcess MainThread _base selected_loss DEBUG 04/29/2020 12:09:07 MainProcess MainThread _base get_loss_functions DEBUG face_loss: 04/29/2020 12:09:07 MainProcess MainThread _base get_loss_functions DEBUG [] 04/29/2020 12:09:07 MainProcess MainThread _base __init__ DEBUG Initialized: Loss 04/29/2020 12:09:07 MainProcess MainThread _base add_session_loss_names DEBUG Adding session loss_names. (side: 'b', loss_names: ['face_loss'] 04/29/2020 12:09:07 MainProcess MainThread _base compile_predictors DEBUG Compiled Predictors. Losses: ['face_loss'] 04/29/2020 12:09:07 MainProcess MainThread _base __init__ DEBUG Initialized ModelBase (Model) 04/29/2020 12:09:07 MainProcess MainThread original __init__ DEBUG Initialized Model 04/29/2020 12:09:07 MainProcess MainThread convert _load_model DEBUG Loaded Model 04/29/2020 12:09:07 MainProcess MainThread _base largest_face_index DEBUG 0 04/29/2020 12:09:07 MainProcess MainThread _base converter DEBUG Getting Converter: (swap: False) 04/29/2020 12:09:07 MainProcess MainThread _base converter DEBUG Got Converter: > 04/29/2020 12:09:07 MainProcess MainThread multithreading __init__ DEBUG Initializing MultiThread: (target: '_predict_faces', thread_count: 1) 04/29/2020 12:09:07 MainProcess MainThread multithreading __init__ TRACE args: (), kwargs: {} 04/29/2020 12:09:07 MainProcess MainThread multithreading __init__ DEBUG Initialized MultiThread: '_predict_faces' 04/29/2020 12:09:07 MainProcess MainThread multithreading start DEBUG Starting thread(s): '_predict_faces' 04/29/2020 12:09:07 MainProcess MainThread multithreading start DEBUG Starting thread 1 of 1: '_predict_faces_0' 04/29/2020 12:09:07 MainProcess _predict_faces_0 convert _predict_faces DEBUG EOF Received 04/29/2020 12:09:07 MainProcess MainThread multithreading start DEBUG Started all threads '_predict_faces': 1 04/29/2020 12:09:07 MainProcess _predict_faces_0 convert _predict_faces DEBUG Putting EOF 04/29/2020 12:09:07 MainProcess MainThread convert __init__ DEBUG Initialized Predict: (out_queue: ) 04/29/2020 12:09:07 MainProcess _predict_faces_0 convert _predict_faces DEBUG Load queue complete 04/29/2020 12:09:07 MainProcess MainThread utils get_folder DEBUG Requested path: 'D:\Testing\faceswap\Extract\Convert\test2' 04/29/2020 12:09:07 MainProcess MainThread utils get_folder DEBUG Returning: 'D:\Testing\faceswap\Extract\Convert\test2' 04/29/2020 12:09:07 MainProcess MainThread _base largest_face_index DEBUG 0 04/29/2020 12:09:07 MainProcess MainThread opencv pre_encode TRACE Pre-encoding image 04/29/2020 12:09:07 MainProcess MainThread convert pre_encode DEBUG Writer pre_encode function: > 04/29/2020 12:09:07 MainProcess MainThread convert __init__ DEBUG Initializing Converter: (output_size: 64, coverage_ratio: 0.6875, draw_transparent: False, pre_encode: >, arguments: Namespace(alignments_path='D:\\Testing\\faceswap\\Extract\\Source\\source_test1\\source_test1\\alignments.fsa', allow_growth=False, colab=False, color_adjustment='avg-color', configfile=None, filter=None, frame_ranges=None, func=>, gpus=1, input_aligned_dir=None, input_dir='D:\\Testing\\faceswap\\Extract\\Source\\source_test1', jobs=0, keep_unchanged=False, logfile='D:\\Testing\\faceswap\\Extract\\log_test1.log', loglevel='TRACE', mask_type='none', model_dir='D:\\Testing\\faceswap\\Extract\\Model\\model_test1', nfilter=None, on_the_fly=False, output_dir='D:\\Testing\\faceswap\\Extract\\Convert\\test2', output_scale=100, redirect_gui=True, ref_threshold=0.4, reference_video=None, scaling='none', singleprocess=False, swap_model=False, trainer=None, writer='opencv'), configfile: None) 04/29/2020 12:09:07 MainProcess MainThread convert _load_plugins DEBUG Loading plugins. config: None 04/29/2020 12:09:07 MainProcess MainThread plugin_loader _import INFO Loading Mask from Box_Blend plugin... 04/29/2020 12:09:07 MainProcess MainThread _base __init__ DEBUG Initializing Mask: (arguments: 'none', output_size: 64, configfile: None, config: None) 04/29/2020 12:09:07 MainProcess MainThread config __init__ DEBUG Initializing: Config 04/29/2020 12:09:07 MainProcess MainThread config get_config_file DEBUG Config File location: 'D:\Testing\faceswap\config\convert.ini' 04/29/2020 12:09:07 MainProcess MainThread _config set_defaults DEBUG Setting defaults 04/29/2020 12:09:07 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'convert', 'color'] 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: color_transfer_defaults.py, module_path: plugins.convert.color, plugin_type: color 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.color.color_transfer_defaults 04/29/2020 12:09:07 MainProcess MainThread config add_section DEBUG Add section: (title: 'color.color_transfer', info: 'Options for transfering the color distribution from the source to the target image using the mean and standard deviations of the L*a*b* color space.\nThis implementation is (loosely) based on the 'Color Transfer between Images' paper by Reinhard et al., 2001. matching the histograms between the source and destination faces.') 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.color_transfer', title: 'clip', datatype: '', default: 'True', info: 'Should components of L*a*b* image be scaled by np.clip before converting back to BGR color space?\nIf False then components will be min-max scaled appropriately.\nClipping will keep target image brightness truer to the input.\nScaling will adjust image brightness to avoid washed out portions in the resulting color transfer that can be caused by clipping.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: method) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.color_transfer', title: 'preserve_paper', datatype: '', default: 'True', info: 'Should color transfer strictly follow methodology layed out in original paper?\nThe method does not always produce aesthetically pleasing results.\nIf False then L*a*b* components will be scaled using the reciprocal of the scaling factor proposed in the paper. This method seems to produce more consistently aesthetically pleasing results.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: method) 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Added defaults: color.color_transfer 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: manual_balance_defaults.py, module_path: plugins.convert.color, plugin_type: color 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.color.manual_balance_defaults 04/29/2020 12:09:07 MainProcess MainThread config add_section DEBUG Add section: (title: 'color.manual_balance', info: 'Options for manually altering the balance of colors of the swapped face') 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'colorspace', datatype: '', default: 'HSV', info: 'The colorspace to use for adjustment: The three adjustment sliders will effect the image differently depending on which colorspace is selected:\n RGB: Red, Green, Blue. An additive colorspace where colors are obtained by a linear combination of Red, Green, and Blue values. The three channels are correlated by the amount of light hitting the surface. In RGB color space the color information is separated into three channels but the same three channels also encode brightness information.\n HSV: Hue, Saturation, Value. Hue - Dominant wavelength. Saturation - Purity / shades of color. Value - Intensity. Best thing is that it uses only one channel to describe color (H), making it very intuitive to specify color.\n LAB: Lightness, A, B. Lightness - Intensity. A - Color range from green to magenta. B - Color range from blue to yellow. The L channel is independent of color information and encodes brightness only. The other two channels encode color.\n YCrCb: Y - Luminance or Luma component obtained from RGB after gamma correction. Cr - how far is the red component from Luma. Cb - how far is the blue component from Luma. Separates the luminance and chrominance components into different channels.', rounding: 'None', min_max: None, choices: ['RGB', 'HSV', 'LAB', 'YCrCb'], gui_radio: True, fixed: True, group: color balance) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'balance_1', datatype: '', default: '0.0', info: 'Balance of channel 1:\n RGB: Red\n HSV: Hue\n LAB: Lightness\n YCrCb: Luma', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: color balance) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'balance_2', datatype: '', default: '0.0', info: 'Balance of channel 2:\n RGB: Green\n HSV: Saturation\n LAB: Green > Magenta\n YCrCb: Distance of red from Luma', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: color balance) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'balance_3', datatype: '', default: '0.0', info: 'Balance of channel 3:\n RGB: Blue\n HSV: Intensity\n LAB: Blue > Yellow\n YCrCb: Distance of blue from Luma', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: color balance) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'contrast', datatype: '', default: '0.0', info: 'Amount of contrast applied.', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: brightness contrast) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'brightness', datatype: '', default: '0.0', info: 'Amount of brighness applied.', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: brightness contrast) 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Added defaults: color.manual_balance 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: match_hist_defaults.py, module_path: plugins.convert.color, plugin_type: color 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.color.match_hist_defaults 04/29/2020 12:09:07 MainProcess MainThread config add_section DEBUG Add section: (title: 'color.match_hist', info: 'Options for matching the histograms between the source and destination faces') 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.match_hist', title: 'threshold', datatype: '', default: '99.0', info: 'Adjust the threshold for histogram matching. Can reduce extreme colors leaking in by filtering out colors at the extreme ends of the histogram spectrum.', rounding: '1', min_max: (90.0, 100.0), choices: [], gui_radio: False, fixed: True, group: None) 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Added defaults: color.match_hist 04/29/2020 12:09:07 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'convert', 'mask'] 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: box_blend_defaults.py, module_path: plugins.convert.mask, plugin_type: mask 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.mask.box_blend_defaults 04/29/2020 12:09:07 MainProcess MainThread config add_section DEBUG Add section: (title: 'mask.box_blend', info: 'Options for blending the edges of the swapped box with the background image') 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.box_blend', title: 'type', datatype: '', default: 'gaussian', info: 'The type of blending to use:\n gaussian: Blend with Gaussian filter. Slower, but often better than Normalized\n normalized: Blend with Normalized box filter. Faster than Gaussian\n none: Don't perform blending', rounding: 'None', min_max: None, choices: ['gaussian', 'normalized', 'none'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.box_blend', title: 'distance', datatype: '', default: '11.0', info: 'The distance from the edges of the swap box to start blending.\nThe distance is set as percentage of the swap box size to give the number of pixels from the edge of the box. Eg: For a swap area of 256px and a percentage of 4%, blending would commence 10 pixels from the edge.\nHigher percentages start the blending from closer to the center of the face, so will reveal more of the source face.', rounding: '1', min_max: (0.1, 25.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.box_blend', title: 'radius', datatype: '', default: '5.0', info: 'Radius dictates how much blending should occur, or more specifically, how far the blending will spread away from the 'distance' parameter.\nThis figure is set as a percentage of the swap box size to give the radius in pixels. Eg: For a swap area of 256px and a percentage of 5%, the radius would be 13 pixels\nNB: Higher percentage means more blending, but too high may reveal more of the source face, or lead to hard lines at the border.', rounding: '1', min_max: (0.1, 25.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.box_blend', title: 'passes', datatype: '', default: '1', info: 'The number of passes to perform. Additional passes of the blending algorithm can improve smoothing at a time cost. This is more useful for 'box' type blending.\nAdditional passes have exponentially less effect so it's not worth setting this too high.', rounding: '1', min_max: (1, 8), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Added defaults: mask.box_blend 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: mask_blend_defaults.py, module_path: plugins.convert.mask, plugin_type: mask 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.mask.mask_blend_defaults 04/29/2020 12:09:07 MainProcess MainThread config add_section DEBUG Add section: (title: 'mask.mask_blend', info: 'Options for blending the edges between the mask and the background image') 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'type', datatype: '', default: 'normalized', info: 'The type of blending to use:\n gaussian: Blend with Gaussian filter. Slower, but often better than Normalized\n normalized: Blend with Normalized box filter. Faster than Gaussian\n none: Don't perform blending', rounding: 'None', min_max: None, choices: ['gaussian', 'normalized', 'none'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'kernel_size', datatype: '', default: '3', info: 'The kernel size dictates how much blending should occur.\nThe size is the diameter of the kernel in pixels (calculated from a 128px mask). This value should be odd, if an even number is passed in then it will be rounded to the next odd number. Higher sizes means more blending.', rounding: '1', min_max: (1, 9), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'passes', datatype: '', default: '4', info: 'The number of passes to perform. Additional passes of the blending algorithm can improve smoothing at a time cost. This is more useful for 'box' type blending.\nAdditional passes have exponentially less effect so it's not worth setting this too high.', rounding: '1', min_max: (1, 8), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'threshold', datatype: '', default: '4', info: 'Sets pixels that are near white to white and near black to black. Set to 0 for off.', rounding: '1', min_max: (0, 50), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'erosion', datatype: '', default: '0.0', info: 'Erosion kernel size as a percentage of the mask radius area.\nPositive values apply erosion which reduces the size of the swapped area.\nNegative values apply dilation which increases the swapped area.', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Added defaults: mask.mask_blend 04/29/2020 12:09:07 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'convert', 'scaling'] 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: sharpen_defaults.py, module_path: plugins.convert.scaling, plugin_type: scaling 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.scaling.sharpen_defaults 04/29/2020 12:09:07 MainProcess MainThread config add_section DEBUG Add section: (title: 'scaling.sharpen', info: 'Options for sharpening the face after placement') 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'scaling.sharpen', title: 'method', datatype: '', default: 'unsharp_mask', info: 'The type of sharpening to use:\n box: Fastest, but weakest method. Uses a box filter to assess edges.\n gaussian: Slower, but better than box. Uses a gaussian filter to assess edges.\n unsharp-mask: Slowest, but most tweakable. Uses the unsharp-mask method to assess edges.', rounding: 'None', min_max: None, choices: ['box', 'gaussian', 'unsharp_mask'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'scaling.sharpen', title: 'amount', datatype: '', default: '150', info: 'Percentage that controls the magnitude of each overshoot (how much darker and how much lighter the edge borders become).\nThis can also be thought of as how much contrast is added at the edges. It does not affect the width of the edge rims.', rounding: '1', min_max: (100, 500), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'scaling.sharpen', title: 'radius', datatype: '', default: '0.3', info: 'Affects the size of the edges to be enhanced or how wide the edge rims become, so a smaller radius enhances smaller-scale detail.\nRadius is set as a percentage of the final frame width and rounded to the nearest pixel. E.g for a 1280 width frame, a 0.6 percenatage will give a radius of 8px.\nHigher radius values can cause halos at the edges, a detectable faint light rim around objects. Fine detail needs a smaller radius. \nRadius and amount interact; reducing one allows more of the other.', rounding: '1', min_max: (0.1, 5.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'scaling.sharpen', title: 'threshold', datatype: '', default: '5.0', info: '[unsharp_mask only] Controls the minimal brightness change that will be sharpened or how far apart adjacent tonal values have to be before the filter does anything.\nThis lack of action is important to prevent smooth areas from becoming speckled. The threshold setting can be used to sharpen more pronounced edges, while leaving subtler edges untouched. \nLow values should sharpen more because fewer areas are excluded. \nHigher threshold values exclude areas of lower contrast.', rounding: '1', min_max: (1.0, 10.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Added defaults: scaling.sharpen 04/29/2020 12:09:07 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'convert', 'writer'] 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: ffmpeg_defaults.py, module_path: plugins.convert.writer, plugin_type: writer 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.writer.ffmpeg_defaults 04/29/2020 12:09:07 MainProcess MainThread config add_section DEBUG Add section: (title: 'writer.ffmpeg', info: 'Options for encoding converted frames to video.') 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'container', datatype: '', default: 'mp4', info: 'Video container to use.', rounding: 'None', min_max: None, choices: ['avi', 'flv', 'mkv', 'mov', 'mp4', 'mpeg', 'webm'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'codec', datatype: '', default: 'libx264', info: 'Video codec to use:\n libx264: H.264. A widely supported and commonly used codec.\n libx265: H.265 / HEVC video encoder application library.', rounding: 'None', min_max: None, choices: ['libx264', 'libx265'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'crf', datatype: '', default: '23', info: 'Constant Rate Factor: 0 is lossless and 51 is worst quality possible. A lower value generally leads to higher quality, and a subjectively sane range is 17-28. Consider 17 or 18 to be visually lossless or nearly so; it should look the same or nearly the same as the input but it isn't technically lossless.\nThe range is exponential, so increasing the CRF value +6 results in roughly half the bitrate / file size, while -6 leads to roughly twice the bitrate.', rounding: '1', min_max: (0, 51), choices: [], gui_radio: False, fixed: True, group: quality) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'preset', datatype: '', default: 'medium', info: 'A preset is a collection of options that will provide a certain encoding speed to compression ratio.\nA slower preset will provide better compression (compression is quality per filesize).\nUse the slowest preset that you have patience for.', rounding: 'None', min_max: None, choices: ['ultrafast', 'superfast', 'veryfast', 'faster', 'fast', 'medium', 'slow', 'slower', 'veryslow'], gui_radio: True, fixed: True, group: quality) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'tune', datatype: '', default: 'none', info: 'Change settings based upon the specifics of your input:\n none: Don't perform any additional tuning.\n film: [H.264 only] Use for high quality movie content; lowers deblocking.\n animation: [H.264 only] Good for cartoons; uses higher deblocking and more reference frames.\n grain: Preserves the grain structure in old, grainy film material.\n stillimage: [H.264 only] Good for slideshow-like content.\n fastdecode: Allows faster decoding by disabling certain filters.\n zerolatency: Good for fast encoding and low-latency streaming.', rounding: 'None', min_max: None, choices: ['none', 'film', 'animation', 'grain', 'stillimage', 'fastdecode', 'zerolatency'], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'profile', datatype: '', default: 'auto', info: '[H.264 Only] Limit the output to a specific H.264 profile. Don't change this unless your target device only supports a certain profile.', rounding: 'None', min_max: None, choices: ['auto', 'baseline', 'main', 'high', 'high10', 'high422', 'high444'], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'level', datatype: '', default: 'auto', info: '[H.264 Only] Set the encoder level, Don't change this unless your target device only supports a certain level.', rounding: 'None', min_max: None, choices: ['auto', '1', '1b', '1.1', '1.2', '1.3', '2', '2.1', '2.2', '3', '3.1', '3.2', '4', '4.1', '4.2', '5', '5.1', '5.2', '6', '6.1', '6.2'], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Added defaults: writer.ffmpeg 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: gif_defaults.py, module_path: plugins.convert.writer, plugin_type: writer 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.writer.gif_defaults 04/29/2020 12:09:07 MainProcess MainThread config add_section DEBUG Add section: (title: 'writer.gif', info: 'Options for outputting converted frames to an animated gif.') 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.gif', title: 'fps', datatype: '', default: '25', info: 'Frames per Second.', rounding: '1', min_max: (1, 60), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.gif', title: 'loop', datatype: '', default: '0', info: 'The number of iterations. Set to 0 to loop indefinitely.', rounding: '1', min_max: (0, 100), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.gif', title: 'palettesize', datatype: '', default: '256', info: 'The number of colors to quantize the image to. Is rounded to the nearest power of two.', rounding: 'None', min_max: None, choices: ['2', '4', '8', '16', '32', '64', '128', '256'], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.gif', title: 'subrectangles', datatype: '', default: 'False', info: 'If True, will try and optimize the GIF by storing only the rectangular parts of each frame that change with respect to the previous.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Added defaults: writer.gif 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: opencv_defaults.py, module_path: plugins.convert.writer, plugin_type: writer 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.writer.opencv_defaults 04/29/2020 12:09:07 MainProcess MainThread config add_section DEBUG Add section: (title: 'writer.opencv', info: 'Options for outputting converted frames to a series of images using OpenCV\nOpenCV can be faster than other image writers, but lacks some configuration options and formats.') 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.opencv', title: 'format', datatype: '', default: 'png', info: 'Image format to use:\n bmp: Windows bitmap\n jpg: JPEG format\n jp2: JPEG 2000 format\n png: Portable Network Graphics\n ppm: Portable Pixmap Format', rounding: 'None', min_max: None, choices: ['bmp', 'jpg', 'jp2', 'png', 'ppm'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.opencv', title: 'draw_transparent', datatype: '', default: 'False', info: 'Place the swapped face on a transparent layer rather than the original frame.\nNB: This is only compatible with images saved in png format. If an incompatible format is selected then the image will be saved as a png.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.opencv', title: 'jpg_quality', datatype: '', default: '75', info: '[jpg only] Set the jpg quality. 1 is worst 95 is best. Higher quality leads to larger file sizes.', rounding: '1', min_max: (1, 95), choices: [], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.opencv', title: 'png_compress_level', datatype: '', default: '3', info: '[png only] ZLIB compression level, 1 gives best speed, 9 gives best compression, 0 gives no compression at all.', rounding: '1', min_max: (0, 9), choices: [], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Added defaults: writer.opencv 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: pillow_defaults.py, module_path: plugins.convert.writer, plugin_type: writer 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.writer.pillow_defaults 04/29/2020 12:09:07 MainProcess MainThread config add_section DEBUG Add section: (title: 'writer.pillow', info: 'Options for outputting converted frames to a series of images using Pillow\nPillow is more feature rich than OpenCV but can be slower.') 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'format', datatype: '', default: 'png', info: 'Image format to use:\n bmp: Windows bitmap\n gif: Graphics Interchange Format (NB: Not animated)\n jpg: JPEG format\n jp2: JPEG 2000 format\n png: Portable Network Graphics\n ppm: Portable Pixmap Format\n tif: Tag Image File Format', rounding: 'None', min_max: None, choices: ['bmp', 'gif', 'jpg', 'jp2', 'png', 'ppm', 'tif'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'draw_transparent', datatype: '', default: 'False', info: 'Place the swapped face on a transparent layer rather than the original frame.\nNB: This is only compatible with images saved in png or tif format. If an incompatible format is selected then the image will be saved as a png.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'optimize', datatype: '', default: 'False', info: '[gif, jpg and png only] If enabled, indicates that the encoder should make an extra pass over the image in order to select optimal encoder settings.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'gif_interlace', datatype: '', default: 'True', info: '[gif only] Set whether to save the gif as interlaced or not.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'jpg_quality', datatype: '', default: '75', info: '[jpg only] Set the jpg quality. 1 is worst 95 is best. Higher quality leads to larger file sizes.', rounding: '1', min_max: (1, 95), choices: [], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'png_compress_level', datatype: '', default: '3', info: '[png only] ZLIB compression level, 1 gives best speed, 9 gives best compression, 0 gives no compression at all. When optimize option is set to True this has no effect (it is set to 9 regardless of a value passed).', rounding: '1', min_max: (0, 9), choices: [], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:07 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'tif_compression', datatype: '', default: 'tiff_deflate', info: '[tif only] The desired compression method for the file.', rounding: 'None', min_max: None, choices: ['none', 'tiff_ccitt', 'group3', 'group4', 'tiff_jpeg', 'tiff_adobe_deflate', 'tiff_thunderscan', 'tiff_deflate', 'tiff_sgilog', 'tiff_sgilog24', 'tiff_raw_16'], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Added defaults: writer.pillow 04/29/2020 12:09:07 MainProcess MainThread config handle_config DEBUG Handling config 04/29/2020 12:09:07 MainProcess MainThread config check_exists DEBUG Config file exists: 'D:\Testing\faceswap\config\convert.ini' 04/29/2020 12:09:07 MainProcess MainThread config load_config VERBOSE Loading config: 'D:\Testing\faceswap\config\convert.ini' 04/29/2020 12:09:07 MainProcess MainThread config validate_config DEBUG Validating config 04/29/2020 12:09:07 MainProcess MainThread config check_config_change DEBUG Default config has not changed 04/29/2020 12:09:07 MainProcess MainThread config check_config_choices DEBUG Checking config choices 04/29/2020 12:09:07 MainProcess MainThread config check_config_choices DEBUG Checked config choices 04/29/2020 12:09:07 MainProcess MainThread config validate_config DEBUG Validated config 04/29/2020 12:09:07 MainProcess MainThread config handle_config DEBUG Handled config 04/29/2020 12:09:07 MainProcess MainThread config __init__ DEBUG Initialized: Config 04/29/2020 12:09:07 MainProcess MainThread config get DEBUG Getting config item: (section: 'mask.box_blend', option: 'type') 04/29/2020 12:09:07 MainProcess MainThread config get DEBUG Returning item: (type: , value: gaussian) 04/29/2020 12:09:07 MainProcess MainThread config get DEBUG Getting config item: (section: 'mask.box_blend', option: 'distance') 04/29/2020 12:09:07 MainProcess MainThread config get DEBUG Returning item: (type: , value: 11.0) 04/29/2020 12:09:07 MainProcess MainThread config get DEBUG Getting config item: (section: 'mask.box_blend', option: 'radius') 04/29/2020 12:09:07 MainProcess MainThread config get DEBUG Returning item: (type: , value: 5.0) 04/29/2020 12:09:07 MainProcess MainThread config get DEBUG Getting config item: (section: 'mask.box_blend', option: 'passes') 04/29/2020 12:09:07 MainProcess MainThread config get DEBUG Returning item: (type: , value: 1) 04/29/2020 12:09:07 MainProcess MainThread _base _set_config DEBUG Config: {'type': 'gaussian', 'distance': 11.0, 'radius': 5.0, 'passes': 1} 04/29/2020 12:09:07 MainProcess MainThread _base __init__ DEBUG config: {'type': 'gaussian', 'distance': 11.0, 'radius': 5.0, 'passes': 1} 04/29/2020 12:09:07 MainProcess MainThread _base __init__ DEBUG Initialized Mask 04/29/2020 12:09:07 MainProcess MainThread box_blend _get_mask DEBUG Building box mask 04/29/2020 12:09:07 MainProcess MainThread faces_detect __init__ TRACE Initializing BlurMask: (blur_type: 'gaussian', mask_shape: (64, 64), kernel: 5.0, is_ratio: True, passes: 1) 04/29/2020 12:09:07 MainProcess MainThread faces_detect _get_kernel_size TRACE kernel_size: 7 04/29/2020 12:09:07 MainProcess MainThread faces_detect _get_kernel_tuple TRACE (7, 7) 04/29/2020 12:09:07 MainProcess MainThread faces_detect __init__ TRACE Initialized BlurMask 04/29/2020 12:09:07 MainProcess MainThread faces_detect _get_kwargs TRACE BlurMask kwargs: {'ksize': (7, 7), 'sigmaX': 0} 04/29/2020 12:09:07 MainProcess MainThread faces_detect blurred TRACE Pass: 1, kernel_size: (7, 7) 04/29/2020 12:09:07 MainProcess MainThread faces_detect _get_kernel_tuple TRACE (7, 7) 04/29/2020 12:09:07 MainProcess MainThread faces_detect blurred TRACE Returning blurred mask. Shape: (64, 64, 1) 04/29/2020 12:09:07 MainProcess MainThread box_blend _get_mask DEBUG Built box mask. Shape: (64, 64, 1) 04/29/2020 12:09:07 MainProcess MainThread plugin_loader _import INFO Loading Mask from Mask_Blend plugin... 04/29/2020 12:09:07 MainProcess MainThread _base __init__ DEBUG Initializing Mask: (arguments: 'none', output_size: 64, configfile: None, config: None) 04/29/2020 12:09:07 MainProcess MainThread config __init__ DEBUG Initializing: Config 04/29/2020 12:09:07 MainProcess MainThread config get_config_file DEBUG Config File location: 'D:\Testing\faceswap\config\convert.ini' 04/29/2020 12:09:07 MainProcess MainThread _config set_defaults DEBUG Setting defaults 04/29/2020 12:09:07 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'convert', 'color'] 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: color_transfer_defaults.py, module_path: plugins.convert.color, plugin_type: color 04/29/2020 12:09:07 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.color.color_transfer_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'color.color_transfer', info: 'Options for transfering the color distribution from the source to the target image using the mean and standard deviations of the L*a*b* color space.\nThis implementation is (loosely) based on the 'Color Transfer between Images' paper by Reinhard et al., 2001. matching the histograms between the source and destination faces.') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.color_transfer', title: 'clip', datatype: '', default: 'True', info: 'Should components of L*a*b* image be scaled by np.clip before converting back to BGR color space?\nIf False then components will be min-max scaled appropriately.\nClipping will keep target image brightness truer to the input.\nScaling will adjust image brightness to avoid washed out portions in the resulting color transfer that can be caused by clipping.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: method) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.color_transfer', title: 'preserve_paper', datatype: '', default: 'True', info: 'Should color transfer strictly follow methodology layed out in original paper?\nThe method does not always produce aesthetically pleasing results.\nIf False then L*a*b* components will be scaled using the reciprocal of the scaling factor proposed in the paper. This method seems to produce more consistently aesthetically pleasing results.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: method) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: color.color_transfer 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: manual_balance_defaults.py, module_path: plugins.convert.color, plugin_type: color 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.color.manual_balance_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'color.manual_balance', info: 'Options for manually altering the balance of colors of the swapped face') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'colorspace', datatype: '', default: 'HSV', info: 'The colorspace to use for adjustment: The three adjustment sliders will effect the image differently depending on which colorspace is selected:\n RGB: Red, Green, Blue. An additive colorspace where colors are obtained by a linear combination of Red, Green, and Blue values. The three channels are correlated by the amount of light hitting the surface. In RGB color space the color information is separated into three channels but the same three channels also encode brightness information.\n HSV: Hue, Saturation, Value. Hue - Dominant wavelength. Saturation - Purity / shades of color. Value - Intensity. Best thing is that it uses only one channel to describe color (H), making it very intuitive to specify color.\n LAB: Lightness, A, B. Lightness - Intensity. A - Color range from green to magenta. B - Color range from blue to yellow. The L channel is independent of color information and encodes brightness only. The other two channels encode color.\n YCrCb: Y - Luminance or Luma component obtained from RGB after gamma correction. Cr - how far is the red component from Luma. Cb - how far is the blue component from Luma. Separates the luminance and chrominance components into different channels.', rounding: 'None', min_max: None, choices: ['RGB', 'HSV', 'LAB', 'YCrCb'], gui_radio: True, fixed: True, group: color balance) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'balance_1', datatype: '', default: '0.0', info: 'Balance of channel 1:\n RGB: Red\n HSV: Hue\n LAB: Lightness\n YCrCb: Luma', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: color balance) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'balance_2', datatype: '', default: '0.0', info: 'Balance of channel 2:\n RGB: Green\n HSV: Saturation\n LAB: Green > Magenta\n YCrCb: Distance of red from Luma', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: color balance) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'balance_3', datatype: '', default: '0.0', info: 'Balance of channel 3:\n RGB: Blue\n HSV: Intensity\n LAB: Blue > Yellow\n YCrCb: Distance of blue from Luma', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: color balance) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'contrast', datatype: '', default: '0.0', info: 'Amount of contrast applied.', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: brightness contrast) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'brightness', datatype: '', default: '0.0', info: 'Amount of brighness applied.', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: brightness contrast) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: color.manual_balance 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: match_hist_defaults.py, module_path: plugins.convert.color, plugin_type: color 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.color.match_hist_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'color.match_hist', info: 'Options for matching the histograms between the source and destination faces') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.match_hist', title: 'threshold', datatype: '', default: '99.0', info: 'Adjust the threshold for histogram matching. Can reduce extreme colors leaking in by filtering out colors at the extreme ends of the histogram spectrum.', rounding: '1', min_max: (90.0, 100.0), choices: [], gui_radio: False, fixed: True, group: None) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: color.match_hist 04/29/2020 12:09:08 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'convert', 'mask'] 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: box_blend_defaults.py, module_path: plugins.convert.mask, plugin_type: mask 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.mask.box_blend_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'mask.box_blend', info: 'Options for blending the edges of the swapped box with the background image') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.box_blend', title: 'type', datatype: '', default: 'gaussian', info: 'The type of blending to use:\n gaussian: Blend with Gaussian filter. Slower, but often better than Normalized\n normalized: Blend with Normalized box filter. Faster than Gaussian\n none: Don't perform blending', rounding: 'None', min_max: None, choices: ['gaussian', 'normalized', 'none'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.box_blend', title: 'distance', datatype: '', default: '11.0', info: 'The distance from the edges of the swap box to start blending.\nThe distance is set as percentage of the swap box size to give the number of pixels from the edge of the box. Eg: For a swap area of 256px and a percentage of 4%, blending would commence 10 pixels from the edge.\nHigher percentages start the blending from closer to the center of the face, so will reveal more of the source face.', rounding: '1', min_max: (0.1, 25.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.box_blend', title: 'radius', datatype: '', default: '5.0', info: 'Radius dictates how much blending should occur, or more specifically, how far the blending will spread away from the 'distance' parameter.\nThis figure is set as a percentage of the swap box size to give the radius in pixels. Eg: For a swap area of 256px and a percentage of 5%, the radius would be 13 pixels\nNB: Higher percentage means more blending, but too high may reveal more of the source face, or lead to hard lines at the border.', rounding: '1', min_max: (0.1, 25.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.box_blend', title: 'passes', datatype: '', default: '1', info: 'The number of passes to perform. Additional passes of the blending algorithm can improve smoothing at a time cost. This is more useful for 'box' type blending.\nAdditional passes have exponentially less effect so it's not worth setting this too high.', rounding: '1', min_max: (1, 8), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: mask.box_blend 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: mask_blend_defaults.py, module_path: plugins.convert.mask, plugin_type: mask 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.mask.mask_blend_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'mask.mask_blend', info: 'Options for blending the edges between the mask and the background image') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'type', datatype: '', default: 'normalized', info: 'The type of blending to use:\n gaussian: Blend with Gaussian filter. Slower, but often better than Normalized\n normalized: Blend with Normalized box filter. Faster than Gaussian\n none: Don't perform blending', rounding: 'None', min_max: None, choices: ['gaussian', 'normalized', 'none'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'kernel_size', datatype: '', default: '3', info: 'The kernel size dictates how much blending should occur.\nThe size is the diameter of the kernel in pixels (calculated from a 128px mask). This value should be odd, if an even number is passed in then it will be rounded to the next odd number. Higher sizes means more blending.', rounding: '1', min_max: (1, 9), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'passes', datatype: '', default: '4', info: 'The number of passes to perform. Additional passes of the blending algorithm can improve smoothing at a time cost. This is more useful for 'box' type blending.\nAdditional passes have exponentially less effect so it's not worth setting this too high.', rounding: '1', min_max: (1, 8), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'threshold', datatype: '', default: '4', info: 'Sets pixels that are near white to white and near black to black. Set to 0 for off.', rounding: '1', min_max: (0, 50), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'erosion', datatype: '', default: '0.0', info: 'Erosion kernel size as a percentage of the mask radius area.\nPositive values apply erosion which reduces the size of the swapped area.\nNegative values apply dilation which increases the swapped area.', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: mask.mask_blend 04/29/2020 12:09:08 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'convert', 'scaling'] 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: sharpen_defaults.py, module_path: plugins.convert.scaling, plugin_type: scaling 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.scaling.sharpen_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'scaling.sharpen', info: 'Options for sharpening the face after placement') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'scaling.sharpen', title: 'method', datatype: '', default: 'unsharp_mask', info: 'The type of sharpening to use:\n box: Fastest, but weakest method. Uses a box filter to assess edges.\n gaussian: Slower, but better than box. Uses a gaussian filter to assess edges.\n unsharp-mask: Slowest, but most tweakable. Uses the unsharp-mask method to assess edges.', rounding: 'None', min_max: None, choices: ['box', 'gaussian', 'unsharp_mask'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'scaling.sharpen', title: 'amount', datatype: '', default: '150', info: 'Percentage that controls the magnitude of each overshoot (how much darker and how much lighter the edge borders become).\nThis can also be thought of as how much contrast is added at the edges. It does not affect the width of the edge rims.', rounding: '1', min_max: (100, 500), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'scaling.sharpen', title: 'radius', datatype: '', default: '0.3', info: 'Affects the size of the edges to be enhanced or how wide the edge rims become, so a smaller radius enhances smaller-scale detail.\nRadius is set as a percentage of the final frame width and rounded to the nearest pixel. E.g for a 1280 width frame, a 0.6 percenatage will give a radius of 8px.\nHigher radius values can cause halos at the edges, a detectable faint light rim around objects. Fine detail needs a smaller radius. \nRadius and amount interact; reducing one allows more of the other.', rounding: '1', min_max: (0.1, 5.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'scaling.sharpen', title: 'threshold', datatype: '', default: '5.0', info: '[unsharp_mask only] Controls the minimal brightness change that will be sharpened or how far apart adjacent tonal values have to be before the filter does anything.\nThis lack of action is important to prevent smooth areas from becoming speckled. The threshold setting can be used to sharpen more pronounced edges, while leaving subtler edges untouched. \nLow values should sharpen more because fewer areas are excluded. \nHigher threshold values exclude areas of lower contrast.', rounding: '1', min_max: (1.0, 10.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: scaling.sharpen 04/29/2020 12:09:08 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'convert', 'writer'] 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: ffmpeg_defaults.py, module_path: plugins.convert.writer, plugin_type: writer 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.writer.ffmpeg_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'writer.ffmpeg', info: 'Options for encoding converted frames to video.') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'container', datatype: '', default: 'mp4', info: 'Video container to use.', rounding: 'None', min_max: None, choices: ['avi', 'flv', 'mkv', 'mov', 'mp4', 'mpeg', 'webm'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'codec', datatype: '', default: 'libx264', info: 'Video codec to use:\n libx264: H.264. A widely supported and commonly used codec.\n libx265: H.265 / HEVC video encoder application library.', rounding: 'None', min_max: None, choices: ['libx264', 'libx265'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'crf', datatype: '', default: '23', info: 'Constant Rate Factor: 0 is lossless and 51 is worst quality possible. A lower value generally leads to higher quality, and a subjectively sane range is 17-28. Consider 17 or 18 to be visually lossless or nearly so; it should look the same or nearly the same as the input but it isn't technically lossless.\nThe range is exponential, so increasing the CRF value +6 results in roughly half the bitrate / file size, while -6 leads to roughly twice the bitrate.', rounding: '1', min_max: (0, 51), choices: [], gui_radio: False, fixed: True, group: quality) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'preset', datatype: '', default: 'medium', info: 'A preset is a collection of options that will provide a certain encoding speed to compression ratio.\nA slower preset will provide better compression (compression is quality per filesize).\nUse the slowest preset that you have patience for.', rounding: 'None', min_max: None, choices: ['ultrafast', 'superfast', 'veryfast', 'faster', 'fast', 'medium', 'slow', 'slower', 'veryslow'], gui_radio: True, fixed: True, group: quality) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'tune', datatype: '', default: 'none', info: 'Change settings based upon the specifics of your input:\n none: Don't perform any additional tuning.\n film: [H.264 only] Use for high quality movie content; lowers deblocking.\n animation: [H.264 only] Good for cartoons; uses higher deblocking and more reference frames.\n grain: Preserves the grain structure in old, grainy film material.\n stillimage: [H.264 only] Good for slideshow-like content.\n fastdecode: Allows faster decoding by disabling certain filters.\n zerolatency: Good for fast encoding and low-latency streaming.', rounding: 'None', min_max: None, choices: ['none', 'film', 'animation', 'grain', 'stillimage', 'fastdecode', 'zerolatency'], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'profile', datatype: '', default: 'auto', info: '[H.264 Only] Limit the output to a specific H.264 profile. Don't change this unless your target device only supports a certain profile.', rounding: 'None', min_max: None, choices: ['auto', 'baseline', 'main', 'high', 'high10', 'high422', 'high444'], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'level', datatype: '', default: 'auto', info: '[H.264 Only] Set the encoder level, Don't change this unless your target device only supports a certain level.', rounding: 'None', min_max: None, choices: ['auto', '1', '1b', '1.1', '1.2', '1.3', '2', '2.1', '2.2', '3', '3.1', '3.2', '4', '4.1', '4.2', '5', '5.1', '5.2', '6', '6.1', '6.2'], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: writer.ffmpeg 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: gif_defaults.py, module_path: plugins.convert.writer, plugin_type: writer 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.writer.gif_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'writer.gif', info: 'Options for outputting converted frames to an animated gif.') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.gif', title: 'fps', datatype: '', default: '25', info: 'Frames per Second.', rounding: '1', min_max: (1, 60), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.gif', title: 'loop', datatype: '', default: '0', info: 'The number of iterations. Set to 0 to loop indefinitely.', rounding: '1', min_max: (0, 100), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.gif', title: 'palettesize', datatype: '', default: '256', info: 'The number of colors to quantize the image to. Is rounded to the nearest power of two.', rounding: 'None', min_max: None, choices: ['2', '4', '8', '16', '32', '64', '128', '256'], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.gif', title: 'subrectangles', datatype: '', default: 'False', info: 'If True, will try and optimize the GIF by storing only the rectangular parts of each frame that change with respect to the previous.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: writer.gif 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: opencv_defaults.py, module_path: plugins.convert.writer, plugin_type: writer 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.writer.opencv_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'writer.opencv', info: 'Options for outputting converted frames to a series of images using OpenCV\nOpenCV can be faster than other image writers, but lacks some configuration options and formats.') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.opencv', title: 'format', datatype: '', default: 'png', info: 'Image format to use:\n bmp: Windows bitmap\n jpg: JPEG format\n jp2: JPEG 2000 format\n png: Portable Network Graphics\n ppm: Portable Pixmap Format', rounding: 'None', min_max: None, choices: ['bmp', 'jpg', 'jp2', 'png', 'ppm'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.opencv', title: 'draw_transparent', datatype: '', default: 'False', info: 'Place the swapped face on a transparent layer rather than the original frame.\nNB: This is only compatible with images saved in png format. If an incompatible format is selected then the image will be saved as a png.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.opencv', title: 'jpg_quality', datatype: '', default: '75', info: '[jpg only] Set the jpg quality. 1 is worst 95 is best. Higher quality leads to larger file sizes.', rounding: '1', min_max: (1, 95), choices: [], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.opencv', title: 'png_compress_level', datatype: '', default: '3', info: '[png only] ZLIB compression level, 1 gives best speed, 9 gives best compression, 0 gives no compression at all.', rounding: '1', min_max: (0, 9), choices: [], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: writer.opencv 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: pillow_defaults.py, module_path: plugins.convert.writer, plugin_type: writer 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.writer.pillow_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'writer.pillow', info: 'Options for outputting converted frames to a series of images using Pillow\nPillow is more feature rich than OpenCV but can be slower.') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'format', datatype: '', default: 'png', info: 'Image format to use:\n bmp: Windows bitmap\n gif: Graphics Interchange Format (NB: Not animated)\n jpg: JPEG format\n jp2: JPEG 2000 format\n png: Portable Network Graphics\n ppm: Portable Pixmap Format\n tif: Tag Image File Format', rounding: 'None', min_max: None, choices: ['bmp', 'gif', 'jpg', 'jp2', 'png', 'ppm', 'tif'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'draw_transparent', datatype: '', default: 'False', info: 'Place the swapped face on a transparent layer rather than the original frame.\nNB: This is only compatible with images saved in png or tif format. If an incompatible format is selected then the image will be saved as a png.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'optimize', datatype: '', default: 'False', info: '[gif, jpg and png only] If enabled, indicates that the encoder should make an extra pass over the image in order to select optimal encoder settings.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'gif_interlace', datatype: '', default: 'True', info: '[gif only] Set whether to save the gif as interlaced or not.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'jpg_quality', datatype: '', default: '75', info: '[jpg only] Set the jpg quality. 1 is worst 95 is best. Higher quality leads to larger file sizes.', rounding: '1', min_max: (1, 95), choices: [], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'png_compress_level', datatype: '', default: '3', info: '[png only] ZLIB compression level, 1 gives best speed, 9 gives best compression, 0 gives no compression at all. When optimize option is set to True this has no effect (it is set to 9 regardless of a value passed).', rounding: '1', min_max: (0, 9), choices: [], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'tif_compression', datatype: '', default: 'tiff_deflate', info: '[tif only] The desired compression method for the file.', rounding: 'None', min_max: None, choices: ['none', 'tiff_ccitt', 'group3', 'group4', 'tiff_jpeg', 'tiff_adobe_deflate', 'tiff_thunderscan', 'tiff_deflate', 'tiff_sgilog', 'tiff_sgilog24', 'tiff_raw_16'], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: writer.pillow 04/29/2020 12:09:08 MainProcess MainThread config handle_config DEBUG Handling config 04/29/2020 12:09:08 MainProcess MainThread config check_exists DEBUG Config file exists: 'D:\Testing\faceswap\config\convert.ini' 04/29/2020 12:09:08 MainProcess MainThread config load_config VERBOSE Loading config: 'D:\Testing\faceswap\config\convert.ini' 04/29/2020 12:09:08 MainProcess MainThread config validate_config DEBUG Validating config 04/29/2020 12:09:08 MainProcess MainThread config check_config_change DEBUG Default config has not changed 04/29/2020 12:09:08 MainProcess MainThread config check_config_choices DEBUG Checking config choices 04/29/2020 12:09:08 MainProcess MainThread config check_config_choices DEBUG Checked config choices 04/29/2020 12:09:08 MainProcess MainThread config validate_config DEBUG Validated config 04/29/2020 12:09:08 MainProcess MainThread config handle_config DEBUG Handled config 04/29/2020 12:09:08 MainProcess MainThread config __init__ DEBUG Initialized: Config 04/29/2020 12:09:08 MainProcess MainThread config get DEBUG Getting config item: (section: 'mask.mask_blend', option: 'type') 04/29/2020 12:09:08 MainProcess MainThread config get DEBUG Returning item: (type: , value: normalized) 04/29/2020 12:09:08 MainProcess MainThread config get DEBUG Getting config item: (section: 'mask.mask_blend', option: 'kernel_size') 04/29/2020 12:09:08 MainProcess MainThread config get DEBUG Returning item: (type: , value: 3) 04/29/2020 12:09:08 MainProcess MainThread config get DEBUG Getting config item: (section: 'mask.mask_blend', option: 'passes') 04/29/2020 12:09:08 MainProcess MainThread config get DEBUG Returning item: (type: , value: 4) 04/29/2020 12:09:08 MainProcess MainThread config get DEBUG Getting config item: (section: 'mask.mask_blend', option: 'threshold') 04/29/2020 12:09:08 MainProcess MainThread config get DEBUG Returning item: (type: , value: 4) 04/29/2020 12:09:08 MainProcess MainThread config get DEBUG Getting config item: (section: 'mask.mask_blend', option: 'erosion') 04/29/2020 12:09:08 MainProcess MainThread config get DEBUG Returning item: (type: , value: 0.0) 04/29/2020 12:09:08 MainProcess MainThread _base _set_config DEBUG Config: {'type': 'normalized', 'kernel_size': 3, 'passes': 4, 'threshold': 4, 'erosion': 0.0} 04/29/2020 12:09:08 MainProcess MainThread _base __init__ DEBUG config: {'type': 'normalized', 'kernel_size': 3, 'passes': 4, 'threshold': 4, 'erosion': 0.0} 04/29/2020 12:09:08 MainProcess MainThread _base __init__ DEBUG Initialized Mask 04/29/2020 12:09:08 MainProcess MainThread plugin_loader _import INFO Loading Color from Avg_Color plugin... 04/29/2020 12:09:08 MainProcess MainThread _base __init__ DEBUG Initializing Color: (configfile: None, config: None) 04/29/2020 12:09:08 MainProcess MainThread config __init__ DEBUG Initializing: Config 04/29/2020 12:09:08 MainProcess MainThread config get_config_file DEBUG Config File location: 'D:\Testing\faceswap\config\convert.ini' 04/29/2020 12:09:08 MainProcess MainThread _config set_defaults DEBUG Setting defaults 04/29/2020 12:09:08 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'convert', 'color'] 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: color_transfer_defaults.py, module_path: plugins.convert.color, plugin_type: color 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.color.color_transfer_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'color.color_transfer', info: 'Options for transfering the color distribution from the source to the target image using the mean and standard deviations of the L*a*b* color space.\nThis implementation is (loosely) based on the 'Color Transfer between Images' paper by Reinhard et al., 2001. matching the histograms between the source and destination faces.') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.color_transfer', title: 'clip', datatype: '', default: 'True', info: 'Should components of L*a*b* image be scaled by np.clip before converting back to BGR color space?\nIf False then components will be min-max scaled appropriately.\nClipping will keep target image brightness truer to the input.\nScaling will adjust image brightness to avoid washed out portions in the resulting color transfer that can be caused by clipping.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: method) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.color_transfer', title: 'preserve_paper', datatype: '', default: 'True', info: 'Should color transfer strictly follow methodology layed out in original paper?\nThe method does not always produce aesthetically pleasing results.\nIf False then L*a*b* components will be scaled using the reciprocal of the scaling factor proposed in the paper. This method seems to produce more consistently aesthetically pleasing results.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: method) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: color.color_transfer 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: manual_balance_defaults.py, module_path: plugins.convert.color, plugin_type: color 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.color.manual_balance_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'color.manual_balance', info: 'Options for manually altering the balance of colors of the swapped face') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'colorspace', datatype: '', default: 'HSV', info: 'The colorspace to use for adjustment: The three adjustment sliders will effect the image differently depending on which colorspace is selected:\n RGB: Red, Green, Blue. An additive colorspace where colors are obtained by a linear combination of Red, Green, and Blue values. The three channels are correlated by the amount of light hitting the surface. In RGB color space the color information is separated into three channels but the same three channels also encode brightness information.\n HSV: Hue, Saturation, Value. Hue - Dominant wavelength. Saturation - Purity / shades of color. Value - Intensity. Best thing is that it uses only one channel to describe color (H), making it very intuitive to specify color.\n LAB: Lightness, A, B. Lightness - Intensity. A - Color range from green to magenta. B - Color range from blue to yellow. The L channel is independent of color information and encodes brightness only. The other two channels encode color.\n YCrCb: Y - Luminance or Luma component obtained from RGB after gamma correction. Cr - how far is the red component from Luma. Cb - how far is the blue component from Luma. Separates the luminance and chrominance components into different channels.', rounding: 'None', min_max: None, choices: ['RGB', 'HSV', 'LAB', 'YCrCb'], gui_radio: True, fixed: True, group: color balance) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'balance_1', datatype: '', default: '0.0', info: 'Balance of channel 1:\n RGB: Red\n HSV: Hue\n LAB: Lightness\n YCrCb: Luma', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: color balance) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'balance_2', datatype: '', default: '0.0', info: 'Balance of channel 2:\n RGB: Green\n HSV: Saturation\n LAB: Green > Magenta\n YCrCb: Distance of red from Luma', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: color balance) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'balance_3', datatype: '', default: '0.0', info: 'Balance of channel 3:\n RGB: Blue\n HSV: Intensity\n LAB: Blue > Yellow\n YCrCb: Distance of blue from Luma', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: color balance) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'contrast', datatype: '', default: '0.0', info: 'Amount of contrast applied.', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: brightness contrast) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.manual_balance', title: 'brightness', datatype: '', default: '0.0', info: 'Amount of brighness applied.', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: brightness contrast) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: color.manual_balance 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: match_hist_defaults.py, module_path: plugins.convert.color, plugin_type: color 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.color.match_hist_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'color.match_hist', info: 'Options for matching the histograms between the source and destination faces') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'color.match_hist', title: 'threshold', datatype: '', default: '99.0', info: 'Adjust the threshold for histogram matching. Can reduce extreme colors leaking in by filtering out colors at the extreme ends of the histogram spectrum.', rounding: '1', min_max: (90.0, 100.0), choices: [], gui_radio: False, fixed: True, group: None) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: color.match_hist 04/29/2020 12:09:08 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'convert', 'mask'] 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: box_blend_defaults.py, module_path: plugins.convert.mask, plugin_type: mask 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.mask.box_blend_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'mask.box_blend', info: 'Options for blending the edges of the swapped box with the background image') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.box_blend', title: 'type', datatype: '', default: 'gaussian', info: 'The type of blending to use:\n gaussian: Blend with Gaussian filter. Slower, but often better than Normalized\n normalized: Blend with Normalized box filter. Faster than Gaussian\n none: Don't perform blending', rounding: 'None', min_max: None, choices: ['gaussian', 'normalized', 'none'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.box_blend', title: 'distance', datatype: '', default: '11.0', info: 'The distance from the edges of the swap box to start blending.\nThe distance is set as percentage of the swap box size to give the number of pixels from the edge of the box. Eg: For a swap area of 256px and a percentage of 4%, blending would commence 10 pixels from the edge.\nHigher percentages start the blending from closer to the center of the face, so will reveal more of the source face.', rounding: '1', min_max: (0.1, 25.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.box_blend', title: 'radius', datatype: '', default: '5.0', info: 'Radius dictates how much blending should occur, or more specifically, how far the blending will spread away from the 'distance' parameter.\nThis figure is set as a percentage of the swap box size to give the radius in pixels. Eg: For a swap area of 256px and a percentage of 5%, the radius would be 13 pixels\nNB: Higher percentage means more blending, but too high may reveal more of the source face, or lead to hard lines at the border.', rounding: '1', min_max: (0.1, 25.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.box_blend', title: 'passes', datatype: '', default: '1', info: 'The number of passes to perform. Additional passes of the blending algorithm can improve smoothing at a time cost. This is more useful for 'box' type blending.\nAdditional passes have exponentially less effect so it's not worth setting this too high.', rounding: '1', min_max: (1, 8), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: mask.box_blend 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: mask_blend_defaults.py, module_path: plugins.convert.mask, plugin_type: mask 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.mask.mask_blend_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'mask.mask_blend', info: 'Options for blending the edges between the mask and the background image') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'type', datatype: '', default: 'normalized', info: 'The type of blending to use:\n gaussian: Blend with Gaussian filter. Slower, but often better than Normalized\n normalized: Blend with Normalized box filter. Faster than Gaussian\n none: Don't perform blending', rounding: 'None', min_max: None, choices: ['gaussian', 'normalized', 'none'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'kernel_size', datatype: '', default: '3', info: 'The kernel size dictates how much blending should occur.\nThe size is the diameter of the kernel in pixels (calculated from a 128px mask). This value should be odd, if an even number is passed in then it will be rounded to the next odd number. Higher sizes means more blending.', rounding: '1', min_max: (1, 9), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'passes', datatype: '', default: '4', info: 'The number of passes to perform. Additional passes of the blending algorithm can improve smoothing at a time cost. This is more useful for 'box' type blending.\nAdditional passes have exponentially less effect so it's not worth setting this too high.', rounding: '1', min_max: (1, 8), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'threshold', datatype: '', default: '4', info: 'Sets pixels that are near white to white and near black to black. Set to 0 for off.', rounding: '1', min_max: (0, 50), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'mask.mask_blend', title: 'erosion', datatype: '', default: '0.0', info: 'Erosion kernel size as a percentage of the mask radius area.\nPositive values apply erosion which reduces the size of the swapped area.\nNegative values apply dilation which increases the swapped area.', rounding: '1', min_max: (-100.0, 100.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: mask.mask_blend 04/29/2020 12:09:08 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'convert', 'scaling'] 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: sharpen_defaults.py, module_path: plugins.convert.scaling, plugin_type: scaling 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.scaling.sharpen_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'scaling.sharpen', info: 'Options for sharpening the face after placement') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'scaling.sharpen', title: 'method', datatype: '', default: 'unsharp_mask', info: 'The type of sharpening to use:\n box: Fastest, but weakest method. Uses a box filter to assess edges.\n gaussian: Slower, but better than box. Uses a gaussian filter to assess edges.\n unsharp-mask: Slowest, but most tweakable. Uses the unsharp-mask method to assess edges.', rounding: 'None', min_max: None, choices: ['box', 'gaussian', 'unsharp_mask'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'scaling.sharpen', title: 'amount', datatype: '', default: '150', info: 'Percentage that controls the magnitude of each overshoot (how much darker and how much lighter the edge borders become).\nThis can also be thought of as how much contrast is added at the edges. It does not affect the width of the edge rims.', rounding: '1', min_max: (100, 500), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'scaling.sharpen', title: 'radius', datatype: '', default: '0.3', info: 'Affects the size of the edges to be enhanced or how wide the edge rims become, so a smaller radius enhances smaller-scale detail.\nRadius is set as a percentage of the final frame width and rounded to the nearest pixel. E.g for a 1280 width frame, a 0.6 percenatage will give a radius of 8px.\nHigher radius values can cause halos at the edges, a detectable faint light rim around objects. Fine detail needs a smaller radius. \nRadius and amount interact; reducing one allows more of the other.', rounding: '1', min_max: (0.1, 5.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'scaling.sharpen', title: 'threshold', datatype: '', default: '5.0', info: '[unsharp_mask only] Controls the minimal brightness change that will be sharpened or how far apart adjacent tonal values have to be before the filter does anything.\nThis lack of action is important to prevent smooth areas from becoming speckled. The threshold setting can be used to sharpen more pronounced edges, while leaving subtler edges untouched. \nLow values should sharpen more because fewer areas are excluded. \nHigher threshold values exclude areas of lower contrast.', rounding: '1', min_max: (1.0, 10.0), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: scaling.sharpen 04/29/2020 12:09:08 MainProcess MainThread utils full_path_split TRACE path: \, allparts: ['\\', 'plugins', 'convert', 'writer'] 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: ffmpeg_defaults.py, module_path: plugins.convert.writer, plugin_type: writer 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.writer.ffmpeg_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'writer.ffmpeg', info: 'Options for encoding converted frames to video.') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'container', datatype: '', default: 'mp4', info: 'Video container to use.', rounding: 'None', min_max: None, choices: ['avi', 'flv', 'mkv', 'mov', 'mp4', 'mpeg', 'webm'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'codec', datatype: '', default: 'libx264', info: 'Video codec to use:\n libx264: H.264. A widely supported and commonly used codec.\n libx265: H.265 / HEVC video encoder application library.', rounding: 'None', min_max: None, choices: ['libx264', 'libx265'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'crf', datatype: '', default: '23', info: 'Constant Rate Factor: 0 is lossless and 51 is worst quality possible. A lower value generally leads to higher quality, and a subjectively sane range is 17-28. Consider 17 or 18 to be visually lossless or nearly so; it should look the same or nearly the same as the input but it isn't technically lossless.\nThe range is exponential, so increasing the CRF value +6 results in roughly half the bitrate / file size, while -6 leads to roughly twice the bitrate.', rounding: '1', min_max: (0, 51), choices: [], gui_radio: False, fixed: True, group: quality) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'preset', datatype: '', default: 'medium', info: 'A preset is a collection of options that will provide a certain encoding speed to compression ratio.\nA slower preset will provide better compression (compression is quality per filesize).\nUse the slowest preset that you have patience for.', rounding: 'None', min_max: None, choices: ['ultrafast', 'superfast', 'veryfast', 'faster', 'fast', 'medium', 'slow', 'slower', 'veryslow'], gui_radio: True, fixed: True, group: quality) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'tune', datatype: '', default: 'none', info: 'Change settings based upon the specifics of your input:\n none: Don't perform any additional tuning.\n film: [H.264 only] Use for high quality movie content; lowers deblocking.\n animation: [H.264 only] Good for cartoons; uses higher deblocking and more reference frames.\n grain: Preserves the grain structure in old, grainy film material.\n stillimage: [H.264 only] Good for slideshow-like content.\n fastdecode: Allows faster decoding by disabling certain filters.\n zerolatency: Good for fast encoding and low-latency streaming.', rounding: 'None', min_max: None, choices: ['none', 'film', 'animation', 'grain', 'stillimage', 'fastdecode', 'zerolatency'], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'profile', datatype: '', default: 'auto', info: '[H.264 Only] Limit the output to a specific H.264 profile. Don't change this unless your target device only supports a certain profile.', rounding: 'None', min_max: None, choices: ['auto', 'baseline', 'main', 'high', 'high10', 'high422', 'high444'], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.ffmpeg', title: 'level', datatype: '', default: 'auto', info: '[H.264 Only] Set the encoder level, Don't change this unless your target device only supports a certain level.', rounding: 'None', min_max: None, choices: ['auto', '1', '1b', '1.1', '1.2', '1.3', '2', '2.1', '2.2', '3', '3.1', '3.2', '4', '4.1', '4.2', '5', '5.1', '5.2', '6', '6.1', '6.2'], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: writer.ffmpeg 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: gif_defaults.py, module_path: plugins.convert.writer, plugin_type: writer 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.writer.gif_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'writer.gif', info: 'Options for outputting converted frames to an animated gif.') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.gif', title: 'fps', datatype: '', default: '25', info: 'Frames per Second.', rounding: '1', min_max: (1, 60), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.gif', title: 'loop', datatype: '', default: '0', info: 'The number of iterations. Set to 0 to loop indefinitely.', rounding: '1', min_max: (0, 100), choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.gif', title: 'palettesize', datatype: '', default: '256', info: 'The number of colors to quantize the image to. Is rounded to the nearest power of two.', rounding: 'None', min_max: None, choices: ['2', '4', '8', '16', '32', '64', '128', '256'], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.gif', title: 'subrectangles', datatype: '', default: 'False', info: 'If True, will try and optimize the GIF by storing only the rectangular parts of each frame that change with respect to the previous.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: writer.gif 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: opencv_defaults.py, module_path: plugins.convert.writer, plugin_type: writer 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.writer.opencv_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'writer.opencv', info: 'Options for outputting converted frames to a series of images using OpenCV\nOpenCV can be faster than other image writers, but lacks some configuration options and formats.') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.opencv', title: 'format', datatype: '', default: 'png', info: 'Image format to use:\n bmp: Windows bitmap\n jpg: JPEG format\n jp2: JPEG 2000 format\n png: Portable Network Graphics\n ppm: Portable Pixmap Format', rounding: 'None', min_max: None, choices: ['bmp', 'jpg', 'jp2', 'png', 'ppm'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.opencv', title: 'draw_transparent', datatype: '', default: 'False', info: 'Place the swapped face on a transparent layer rather than the original frame.\nNB: This is only compatible with images saved in png format. If an incompatible format is selected then the image will be saved as a png.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.opencv', title: 'jpg_quality', datatype: '', default: '75', info: '[jpg only] Set the jpg quality. 1 is worst 95 is best. Higher quality leads to larger file sizes.', rounding: '1', min_max: (1, 95), choices: [], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.opencv', title: 'png_compress_level', datatype: '', default: '3', info: '[png only] ZLIB compression level, 1 gives best speed, 9 gives best compression, 0 gives no compression at all.', rounding: '1', min_max: (0, 9), choices: [], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: writer.opencv 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Adding defaults: (filename: pillow_defaults.py, module_path: plugins.convert.writer, plugin_type: writer 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Importing defaults module: plugins.convert.writer.pillow_defaults 04/29/2020 12:09:08 MainProcess MainThread config add_section DEBUG Add section: (title: 'writer.pillow', info: 'Options for outputting converted frames to a series of images using Pillow\nPillow is more feature rich than OpenCV but can be slower.') 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'format', datatype: '', default: 'png', info: 'Image format to use:\n bmp: Windows bitmap\n gif: Graphics Interchange Format (NB: Not animated)\n jpg: JPEG format\n jp2: JPEG 2000 format\n png: Portable Network Graphics\n ppm: Portable Pixmap Format\n tif: Tag Image File Format', rounding: 'None', min_max: None, choices: ['bmp', 'gif', 'jpg', 'jp2', 'png', 'ppm', 'tif'], gui_radio: True, fixed: True, group: None) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'draw_transparent', datatype: '', default: 'False', info: 'Place the swapped face on a transparent layer rather than the original frame.\nNB: This is only compatible with images saved in png or tif format. If an incompatible format is selected then the image will be saved as a png.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'optimize', datatype: '', default: 'False', info: '[gif, jpg and png only] If enabled, indicates that the encoder should make an extra pass over the image in order to select optimal encoder settings.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'gif_interlace', datatype: '', default: 'True', info: '[gif only] Set whether to save the gif as interlaced or not.', rounding: 'None', min_max: None, choices: [], gui_radio: False, fixed: True, group: settings) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'jpg_quality', datatype: '', default: '75', info: '[jpg only] Set the jpg quality. 1 is worst 95 is best. Higher quality leads to larger file sizes.', rounding: '1', min_max: (1, 95), choices: [], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'png_compress_level', datatype: '', default: '3', info: '[png only] ZLIB compression level, 1 gives best speed, 9 gives best compression, 0 gives no compression at all. When optimize option is set to True this has no effect (it is set to 9 regardless of a value passed).', rounding: '1', min_max: (0, 9), choices: [], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:08 MainProcess MainThread config add_item DEBUG Add item: (section: 'writer.pillow', title: 'tif_compression', datatype: '', default: 'tiff_deflate', info: '[tif only] The desired compression method for the file.', rounding: 'None', min_max: None, choices: ['none', 'tiff_ccitt', 'group3', 'group4', 'tiff_jpeg', 'tiff_adobe_deflate', 'tiff_thunderscan', 'tiff_deflate', 'tiff_sgilog', 'tiff_sgilog24', 'tiff_raw_16'], gui_radio: False, fixed: True, group: compression) 04/29/2020 12:09:08 MainProcess MainThread _config load_module DEBUG Added defaults: writer.pillow 04/29/2020 12:09:08 MainProcess MainThread config handle_config DEBUG Handling config 04/29/2020 12:09:08 MainProcess MainThread config check_exists DEBUG Config file exists: 'D:\Testing\faceswap\config\convert.ini' 04/29/2020 12:09:08 MainProcess MainThread config load_config VERBOSE Loading config: 'D:\Testing\faceswap\config\convert.ini' 04/29/2020 12:09:08 MainProcess MainThread config validate_config DEBUG Validating config 04/29/2020 12:09:08 MainProcess MainThread config check_config_change DEBUG Default config has not changed 04/29/2020 12:09:08 MainProcess MainThread config check_config_choices DEBUG Checking config choices 04/29/2020 12:09:08 MainProcess MainThread config check_config_choices DEBUG Checked config choices 04/29/2020 12:09:08 MainProcess MainThread config validate_config DEBUG Validated config 04/29/2020 12:09:08 MainProcess MainThread config handle_config DEBUG Handled config 04/29/2020 12:09:08 MainProcess MainThread config __init__ DEBUG Initialized: Config 04/29/2020 12:09:08 MainProcess MainThread _base set_config DEBUG Config: {} 04/29/2020 12:09:08 MainProcess MainThread _base __init__ DEBUG config: {} 04/29/2020 12:09:08 MainProcess MainThread _base __init__ DEBUG Initialized Color 04/29/2020 12:09:08 MainProcess MainThread convert _load_plugins DEBUG Loaded plugins: {'box': , 'mask': , 'color': , 'seamless': None, 'scaling': None} 04/29/2020 12:09:08 MainProcess MainThread convert __init__ DEBUG Initialized Converter 04/29/2020 12:09:08 MainProcess MainThread convert __init__ DEBUG Initialized Convert 04/29/2020 12:09:08 MainProcess MainThread convert process DEBUG Starting Conversion 04/29/2020 12:09:08 MainProcess MainThread convert _convert_images DEBUG Converting images 04/29/2020 12:09:08 MainProcess MainThread queue_manager get_queue DEBUG QueueManager getting: 'convert_out' 04/29/2020 12:09:08 MainProcess MainThread queue_manager get_queue DEBUG QueueManager got: 'convert_out' 04/29/2020 12:09:08 MainProcess MainThread queue_manager get_queue DEBUG QueueManager getting: 'patch' 04/29/2020 12:09:08 MainProcess MainThread queue_manager get_queue DEBUG QueueManager got: 'patch' 04/29/2020 12:09:08 MainProcess MainThread convert _pool_processes DEBUG 1 04/29/2020 12:09:08 MainProcess MainThread multithreading __init__ DEBUG Initializing MultiThread: (target: 'patch', thread_count: 1) 04/29/2020 12:09:08 MainProcess MainThread multithreading __init__ TRACE args: (, ), kwargs: {} 04/29/2020 12:09:08 MainProcess MainThread multithreading __init__ DEBUG Initialized MultiThread: 'patch' 04/29/2020 12:09:08 MainProcess MainThread multithreading start DEBUG Starting thread(s): 'patch' 04/29/2020 12:09:08 MainProcess MainThread multithreading start DEBUG Starting thread 1 of 1: 'patch_0' 04/29/2020 12:09:08 MainProcess patch_0 convert process DEBUG Starting convert process. (in_queue: , out_queue: ) 04/29/2020 12:09:08 MainProcess MainThread multithreading start DEBUG Started all threads 'patch': 1 04/29/2020 12:09:08 MainProcess patch_0 convert process DEBUG EOF Received 04/29/2020 12:09:08 MainProcess MainThread convert _convert_images DEBUG DiskIO completion event set. Joining Pool 04/29/2020 12:09:08 MainProcess patch_0 convert process DEBUG Patch queue finished 04/29/2020 12:09:08 MainProcess MainThread multithreading join DEBUG Joining Threads: 'patch' 04/29/2020 12:09:08 MainProcess patch_0 convert process DEBUG Putting EOF back to in_queue 04/29/2020 12:09:08 MainProcess MainThread multithreading join DEBUG Joining Thread: 'patch_0' 04/29/2020 12:09:08 MainProcess patch_0 convert process DEBUG Completed convert process 04/29/2020 12:09:08 MainProcess MainThread multithreading join DEBUG Joined all Threads: 'patch' 04/29/2020 12:09:08 MainProcess MainThread convert _convert_images DEBUG Putting EOF 04/29/2020 12:09:08 MainProcess MainThread convert _convert_images DEBUG Converted images 04/29/2020 12:09:08 MainProcess MainThread multithreading join DEBUG Joining Threads: '_save' 04/29/2020 12:09:08 MainProcess MainThread multithreading join DEBUG Joining Thread: '_save_0' 04/29/2020 12:09:08 MainProcess MainThread multithreading join DEBUG Joined all Threads: '_save' 04/29/2020 12:09:08 MainProcess MainThread queue_manager terminate_queues DEBUG QueueManager terminating all queues 04/29/2020 12:09:08 MainProcess MainThread queue_manager flush_queue DEBUG QueueManager flushing: 'ImagesLoader' 04/29/2020 12:09:08 MainProcess MainThread queue_manager flush_queue DEBUG QueueManager flushing: 'convert_in' 04/29/2020 12:09:08 MainProcess MainThread queue_manager flush_queue DEBUG QueueManager flushing: 'convert_out' 04/29/2020 12:09:08 MainProcess MainThread queue_manager flush_queue DEBUG QueueManager flushing: 'patch' 04/29/2020 12:09:08 MainProcess MainThread queue_manager flush_queues DEBUG QueueManager flushed all queues 04/29/2020 12:09:08 MainProcess MainThread queue_manager terminate_queues DEBUG QueueManager terminating: 'ImagesLoader' 04/29/2020 12:09:08 MainProcess MainThread queue_manager terminate_queues DEBUG QueueManager terminating: 'convert_in' 04/29/2020 12:09:08 MainProcess MainThread queue_manager terminate_queues DEBUG QueueManager terminating: 'convert_out' 04/29/2020 12:09:08 MainProcess MainThread queue_manager terminate_queues DEBUG QueueManager terminating: 'patch' 04/29/2020 12:09:08 MainProcess MainThread queue_manager terminate_queues DEBUG QueueManager terminated all queues 04/29/2020 12:09:08 MainProcess MainThread fsmedia finalize INFO ------------------------- 04/29/2020 12:09:08 MainProcess MainThread fsmedia finalize INFO Images found: 0 04/29/2020 12:09:08 MainProcess MainThread fsmedia finalize INFO Faces detected: 0 04/29/2020 12:09:08 MainProcess MainThread fsmedia finalize INFO ------------------------- 04/29/2020 12:09:08 MainProcess MainThread fsmedia finalize INFO Process Succesfully Completed. Shutting Down... 04/29/2020 12:09:08 MainProcess MainThread convert process DEBUG Completed Conversion 04/29/2020 12:09:08 MainProcess MainThread utils safe_shutdown DEBUG Safely shutting down 04/29/2020 12:09:08 MainProcess MainThread queue_manager terminate_queues DEBUG QueueManager terminating all queues 04/29/2020 12:09:08 MainProcess MainThread queue_manager flush_queue DEBUG QueueManager flushing: 'ImagesLoader' 04/29/2020 12:09:08 MainProcess MainThread queue_manager flush_queue DEBUG QueueManager flushing: 'convert_in' 04/29/2020 12:09:08 MainProcess MainThread queue_manager flush_queue DEBUG QueueManager flushing: 'convert_out' 04/29/2020 12:09:08 MainProcess MainThread queue_manager flush_queue DEBUG QueueManager flushing: 'patch' 04/29/2020 12:09:08 MainProcess MainThread queue_manager flush_queues DEBUG QueueManager flushed all queues 04/29/2020 12:09:08 MainProcess MainThread queue_manager terminate_queues DEBUG QueueManager terminating: 'ImagesLoader' 04/29/2020 12:09:08 MainProcess MainThread queue_manager terminate_queues DEBUG QueueManager terminating: 'convert_in' 04/29/2020 12:09:08 MainProcess MainThread queue_manager terminate_queues DEBUG QueueManager terminating: 'convert_out' 04/29/2020 12:09:08 MainProcess MainThread queue_manager terminate_queues DEBUG QueueManager terminating: 'patch' 04/29/2020 12:09:08 MainProcess MainThread queue_manager terminate_queues DEBUG QueueManager terminated all queues 04/29/2020 12:09:08 MainProcess MainThread utils safe_shutdown DEBUG Cleanup complete. Shutting down queue manager and exiting