1
0
Fork 0
mirror of https://github.com/deepfakes/faceswap synced 2025-06-09 04:36:50 -04:00
Commit graph

91 commits

Author SHA1 Message Date
torzdf
dc94ed9cad
DirectML Support (#1291)
* DML Support
  - Add requirements. Update setup.py. Update Windows Installer
  - Add 'directml' backend. Update backend supporting logic
  - GPUStats - Add GPU querying from Win SDK for DML backend
  - Windows PlaidML - Deprecation Warning
  - Remove deprecated '-d' training flag
  - Logging in DML functions
- Unittest
  - Windows Unit Test
  - lib.utils
2023-01-06 14:45:57 +00:00
torzdf
d750af1e92 bump TF to version 2.10 2022-12-20 15:30:26 +00:00
torzdf
48c886b3dc Allow decoding errors 2022-12-18 19:02:17 +00:00
torzdf
892d8626ed Bugfix: Alignments tool - don't error on from-faces job 2022-09-23 13:23:53 +01:00
torzdf
9bd86eb810 setup - Exit with errorcode if any packages failed 2022-08-26 09:19:52 +01:00
torzdf
b288771577 typofix: setup.py 2022-08-23 18:19:51 +01:00
torzdf
1919366d18 setup.py - cleanup installers 2022-08-23 17:38:39 +01:00
torzdf
76dbc4c7d0 bugfix: setup.py
- Windows - Don't fail + fallback install on non-english systems
  - Windows - Suppress duplicate waiting messages
2022-08-23 12:13:12 +01:00
torzdf
e9bac5dee2 typofix 2022-08-22 02:27:44 +01:00
torzdf
ee25a31d33 bugfix: setup.py - Fix issue with Conda AMD install 2022-08-12 01:46:16 +01:00
torzdf
39ac1f53a3 setup.py - Fix AMD conflicts 2022-08-10 17:38:04 +01:00
torzdf
26e26c6288 Update TF to 2.9
- Update TF to 2.7 to 2.9
    - Bump dependencies
    - Remove decode from pynvml calls
    - force keras predict functions to non-verbose
    - update tests
    - update Tensorboard logging
    - Update docs
2022-08-02 17:12:26 +01:00
torzdf
8da4fac645 setup.py - Update console width for WIndows installer 2022-07-30 17:13:30 +01:00
torzdf
eb3a7fcf2c setup.py - Force newlines in Windows for installer 2022-07-30 14:10:14 +01:00
torzdf
92912a7061 Update setup.py
- Realtime output for Windows
  - color logging for compatible Windows versions
2022-07-30 13:45:09 +01:00
torzdf
ed87326d68 bugfix: Fix setup for Windows 2022-07-29 09:31:18 +01:00
torzdf
1c75d012b0 setup.py: bugfix - use correct installer for Windows 2022-07-29 00:18:45 +01:00
torzdf
03f6cb4e7e setup.py: implement logging 2022-07-28 23:53:31 +01:00
torzdf
4f49de52e7 pin protobuf
Setup: automatically detect for apple-silicon
2022-06-16 16:40:49 +01:00
geewiz94
0f67790071 Some Apple Silicion setup fixes (#1238)
* Move pynvx to Nvidia requirements

* Add missing tensorflow-deps and fix tensorflow-metal version

* Fix setup not using Conda

* Update INSTALL.md
2022-06-16 16:40:49 +01:00
torzdf
a586ef6bf3 Add Apple M1 to setup.py
add libblas to requirements
2022-06-16 16:40:45 +01:00
torzdf
20a657d6cf Bump minimum TF Version 2022-06-07 10:54:51 +01:00
torzdf
8d084cf426 AMD Updates
- Linux Installer - Default to Python3.8
  - Setup + Faceswap - Don't launch with python versions > 3.8
2022-06-05 11:41:46 +01:00
torzdf
17d35ea423 setup.py - python 3.9 support
- move requirements files to dedicated folder
    - update all references to requirements files locations
    - setup.py: remove git requirements references
    - setup.py: allow running in python 3.9
    - windows/linux installers: default to python 3.9 environment
    - faceswap.py: cleaner python version check
2022-05-16 11:28:09 +01:00
torzdf
d83a39716b minor cleanup
- Consistent naming for backend selection
- Remove apple-silicon from setup.py (not yet implemented)
2022-05-12 12:40:53 +01:00
geewiz94
948f0fb82e Rename Apple Silicon backend to apple_silicon 2022-05-12 01:33:56 +02:00
geewiz94
03a8b6228e Merge branch 'merge-upstream-changes' into patch-1 2022-05-07 13:12:42 +02:00
torzdf
c1512fd41d
Update code to support Tensorflow versions up to 2.8 (#1213)
* Update maximum tf version in setup + requirements

* - bump max version of tf version in launcher
- standardise tf version check

* update keras get_custom_objects  for tf>2.6

* bugfix: force black text in GUI file dialogs (linux)

* dssim loss - Move to stock tf.ssim function

* Update optimizer imports for compatibility

* fix logging for tf2.8

* Fix GUI graphing for TF2.8

* update tests

* bump requirements.txt versions

* Remove limit on nvidia-ml-py

* Graphing bugfixes
  - Prevent live graph from displaying if data not yet available

* bugfix: Live graph. Collect loss labels correctly

* fix: live graph - swallow inconsistent loss errors

* Bugfix: Prevent live graph from clearing during training

* Fix graphing for AMD
2022-05-02 14:30:43 +01:00
Daniel Livingston
d6eedb09ff added apple silicon backend 2022-03-19 15:43:21 -04:00
torzdf
cf4b567cc6
Tensorflow 2.6 Support (#1182)
* lib.cli.launcher - Bump max tf version to 2.6

* Remove pathlib requirement

* Update requirements files

* Update setup.py

* bugfix - GUI: Supress errors when attempting to load previews in extract

* GUI: Suppress ptxas error messages for Windows
2021-09-05 02:25:12 +01:00
torzdf
163b8fe374 sysinfo/setup - Standardize cuda/cudnn checks 2021-01-08 23:43:22 +00:00
torzdf
f9a5b722e8 Bugfix - setup.py. Explicitly install cudatoolkit in Conda 2021-01-06 01:24:17 +00:00
torzdf
9182c56921 Re-instate tf2.2 minimum version (2.3 not on Conda for Linux) 2020-12-20 13:37:59 +00:00
torzdf
3b7535c732
Update to TF2.3 (#1100)
* Minimum requirements to tf2.3.
  - Handle upgrades for Windows users with tf2.2 installed by Pip
  - Handle windows upgrade from pip tf2.2
  - Explicitly install Cuda for Conda installs

* Update tensorflow errors api reference
* Suppress AutoGraph warning messages
* Update GUI Stats to work with tf2.3
* Fix live graph for tf2.3
* DSSIMObjective - autoGraph bugfix
* Update Travis test
2020-12-18 19:58:30 +00:00
torzdf
88611018b3 Setup.py - Minor change to cudnn locator 2020-09-27 00:56:39 +01:00
torzdf
baa28669bc bugfix - Update Dependencies - Avoid constantly trying to redownload Tensorflow 2020-08-19 08:07:53 +01:00
torzdf
f897562a09 Set minimum python version to 3.7 2020-08-18 19:10:56 +01:00
torzdf
d8557c1970
Faceswap 2.0 (#1045)
* Core Updates
    - Remove lib.utils.keras_backend_quiet and replace with get_backend() where relevant
    - Document lib.gpu_stats and lib.sys_info
    - Remove call to GPUStats.is_plaidml from convert and replace with get_backend()
    - lib.gui.menu - typofix

* Update Dependencies
Bump Tensorflow Version Check

* Port extraction to tf2

* Add custom import finder for loading Keras or tf.keras depending on backend

* Add `tensorflow` to KerasFinder search path

* Basic TF2 training running

* model.initializers - docstring fix

* Fix and pass tests for tf2

* Replace Keras backend tests with faceswap backend tests

* Initial optimizers update

* Monkey patch tf.keras optimizer

* Remove custom Adam Optimizers and Memory Saving Gradients

* Remove multi-gpu option. Add Distribution to cli

* plugins.train.model._base: Add Mirror, Central and Default distribution strategies

* Update tensorboard kwargs for tf2

* Penalized Loss - Fix for TF2 and AMD

* Fix syntax for tf2.1

* requirements typo fix

* Explicit None for clipnorm if using a distribution strategy

* Fix penalized loss for distribution strategies

* Update Dlight

* typo fix

* Pin to TF2.2

* setup.py - Install tensorflow from pip if not available in Conda

* Add reduction options and set default for mirrored distribution strategy

* Explicitly use default strategy rather than nullcontext

* lib.model.backup_restore documentation

* Remove mirrored strategy reduction method and default based on OS

* Initial restructure - training

* Remove PingPong
Start model.base refactor

* Model saving and resuming enabled

* More tidying up of model.base

* Enable backup and snapshotting

* Re-enable state file
Remove loss names from state file
Fix print loss function
Set snapshot iterations correctly

* Revert original model to Keras Model structure rather than custom layer
Output full model and sub model summary
Change NNBlocks to callables rather than custom keras layers

* Apply custom Conv2D layer

* Finalize NNBlock restructure
Update Dfaker blocks

* Fix reloading model under a different distribution strategy

* Pass command line arguments through to trainer

* Remove training_opts from model and reference params directly

* Tidy up model __init__

* Re-enable tensorboard logging
Suppress "Model Not Compiled" warning

* Fix timelapse

* lib.model.nnblocks - Bugfix residual block
Port dfaker
bugfix original

* dfl-h128 ported

* DFL SAE ported

* IAE Ported

* dlight ported

* port lightweight

* realface ported

* unbalanced ported

* villain ported

* lib.cli.args - Update Batchsize + move allow_growth to config

* Remove output shape definition
Get image sizes per side rather than globally

* Strip mask input from encoder

* Fix learn mask and output learned mask to preview

* Trigger Allow Growth prior to setting strategy

* Fix GUI Graphing

* GUI - Display batchsize correctly + fix training graphs

* Fix penalized loss

* Enable mixed precision training

* Update analysis displayed batch to match input

* Penalized Loss - Multi-GPU Fix

* Fix all losses for TF2

* Fix Reflect Padding

* Allow different input size for each side of the model

* Fix conv-aware initialization on reload

* Switch allow_growth order

* Move mixed_precision to cli

* Remove distrubution strategies

* Compile penalized loss sub-function into LossContainer

* Bump default save interval to 250
Generate preview on first iteration but don't save
Fix iterations to start at 1 instead of 0
Remove training deprecation warnings
Bump some scripts.train loglevels

* Add ability to refresh preview on demand on pop-up window

* Enable refresh of training preview from GUI

* Fix Convert
Debug logging in Initializers

* Fix Preview Tool

* Update Legacy TF1 weights to TF2
Catch stats error on loading stats with missing logs

* lib.gui.popup_configure - Make more responsive + document

* Multiple Outputs supported in trainer
Original Model - Mask output bugfix

* Make universal inference model for convert
Remove scaling from penalized mask loss (now handled at input to y_true)

* Fix inference model to work properly with all models

* Fix multi-scale output for convert

* Fix clipnorm issue with distribution strategies
Edit error message on OOM

* Update plaidml losses

* Add missing file

* Disable gmsd loss for plaidnl

* PlaidML - Basic training working

* clipnorm rewriting for mixed-precision

* Inference model creation bugfixes

* Remove debug code

* Bugfix: Default clipnorm to 1.0

* Remove all mask inputs from training code

* Remove mask inputs from convert

* GUI - Analysis Tab - Docstrings

* Fix rate in totals row

* lib.gui - Only update display pages if they have focus

* Save the model on first iteration

* plaidml - Fix SSIM loss with penalized loss

* tools.alignments - Remove manual and fix jobs

* GUI - Remove case formatting on help text

* gui MultiSelect custom widget - Set default values on init

* vgg_face2 - Move to plugins.extract.recognition and use plugins._base base class
cli - Add global GPU Exclude Option
tools.sort - Use global GPU Exlude option for backend
lib.model.session - Exclude all GPUs when running in CPU mode
lib.cli.launcher - Set backend to CPU mode when all GPUs excluded

* Cascade excluded devices to GPU Stats

* Explicit GPU selection for Train and Convert

* Reduce Tensorflow Min GPU Multiprocessor Count to 4

* remove compat.v1 code from extract

* Force TF to skip mixed precision compatibility check if GPUs have been filtered

* Add notes to config for non-working AMD losses

* Rasie error if forcing extract to CPU mode

* Fix loading of legace dfl-sae weights + dfl-sae typo fix

* Remove unused requirements
Update sphinx requirements
Fix broken rst file locations

* docs: lib.gui.display

* clipnorm amd condition check

* documentation - gui.display_analysis

* Documentation - gui.popup_configure

* Documentation - lib.logger

* Documentation - lib.model.initializers

* Documentation - lib.model.layers

* Documentation - lib.model.losses

* Documentation - lib.model.nn_blocks

* Documetation - lib.model.normalization

* Documentation - lib.model.session

* Documentation - lib.plaidml_stats

* Documentation: lib.training_data

* Documentation: lib.utils

* Documentation: plugins.train.model._base

* GUI Stats: prevent stats from using GPU

* Documentation - Original Model

* Documentation: plugins.model.trainer._base

* linting

* unit tests: initializers + losses

* unit tests: nn_blocks

* bugfix - Exclude gpu devices in train, not include

* Enable Exclude-Gpus in Extract

* Enable exclude gpus in tools

* Disallow multiple plugin types in a single model folder

* Automatically add exclude_gpus argument in for cpu backends

* Cpu backend fixes

* Relax optimizer test threshold

* Default Train settings - Set mask to Extended

* Update Extractor cli help text
Update to Python 3.8

* Fix FAN to run on CPU

* lib.plaidml_tools - typofix

* Linux installer - check for curl

* linux installer - typo fix
2020-08-12 10:36:41 +01:00
torzdf
8a19d21ace setup.py - Fix conda-forge imports
Remove unused icons
2020-07-11 17:54:48 +01:00
torzdf
127d3dbe99
Dependencies update (#1028)
* Dependencies update
  - Split requirements.txt into separate version files
  - More flexible package pinning
  - Update dependencies
  - Fix pynvml being constantly re-downloaded on update
  - Update dockerfiles
  - update INSTALL.md
2020-05-31 16:25:36 +01:00
torzdf
04b3f860a5 setup.py - pin plaidml to 0.6.4 2020-01-20 00:05:34 +00:00
torzdf
ef03be1706
Update Dependencies (#950)
* 1st Round update for Python 3.7, TF1.15, Keras2.3
    Move Tensorflow logging verbosity prior to first tensorflow import
    Keras Optimizers and nn_block update
    lib.logger - Change tf deprecation messages from WARNING to DEBUG
    Raise Tensorflow Max version check to 1.15
    Update requirements and conda check for python 3.7+
    Update install scripts, travis and documentation to Python 3.7

* Revert Keras to 2.2.4
2019-12-10 02:01:20 +00:00
torzdf
701b2f1f51 Minor Fixes
scripts.train - default to .fsa alignments file
setup.py - Lower non-root message to info level
2019-10-25 17:18:04 +00:00
torzdf
b8598be2b6 More seamless AMD Integration
- utils.py: Set FS backend if .faceswap config file doesn't exist
- setup.py: set .faceswap config on setup
- Dynamically load options for AMD/CPU/NVIDIA backends
2019-08-17 19:16:43 +00:00
torzdf
ec505f2ad9 Tensorflow 1.14 Support
Fix Keras Tensorboard callback for TF1.14
Default install on CPU to TF 1.14.0
Default Conda install to TF 1.14.0
Move pynvx for macOS to conditional requirements.txt
2019-08-17 00:11:58 +00:00
kilroythethird
62c1d4346f Catch 0 size images earlier + plaidml version + minor gui update (#829) 2019-08-07 11:15:05 +01:00
kilroythethird
83f2326fd6 pinned plaidml version (#824) 2019-08-05 18:53:42 +01:00
torzdf
45424d452f Fixups
requirements.txt: Pin Pillow to 6.1.0
setup.py: Don't query Conda for Git requirements
AMD: List whether device is supported or experimental
2019-08-05 14:38:14 +01:00
torzdf
3f20b79492 Revert install to pip opencv 2019-07-27 23:23:36 +01:00
torzdf
044832769a setup.py: Don't error out if cudnn can't be found on linux 2019-07-03 16:40:53 +00:00