29 Commits

Author SHA1 Message Date
torzdf a0ff721004 Completely remove Keras from loss calculations (#1545)
* training: Completely remove Keras from loss calculations
2026-05-09 19:07:30 +01:00
torzdf 837bc2d51d Faceswap 3 (#1516)
* FaceSwap 3 (#1515)
* Update extract pipeline
* Update requirements + setup for nvidia
* Remove allow-growth option
* tf.keras to keras updates
* lib.model.losses - Port + fix all loss functions for Keras3
* lib.model - port initializers, layers. normalization to Keras3
* lib.model.autoclip to Keras 3
* Update mixed precision layer storage
* model file to .keras format
* Restructure nn_blocks to initialize layers in __init__
* Tensorboard
  - Trainer: Add Torch compatible Tensorboard callbacks
  - GUI event reader remove TF dependency
* Loss logging
  - Flush TB logs on save
  - Replace TB live iterator for GUI
* Backup models on total loss drop rather than per side
* Update all models to Keras3 Compat
* Remove lib.model.session
* Update clip ViT to Keras 3
* plugins.extract.mask.unet-dfl - Fix for Keras3/Torch backend
* Port AdaBelief to Keras 3
* setup.py:
  - Add --dev flag for dev tool install
* Fix Keras 3 syntax
* Fix LR Finder for Keras 3
* Fix mixed precision switching for Keras  3
* Add more optimizers + open up config setting
* train: Remove updating FS1 weights to FS2 models
* Alignments: Remove support for legacy .json files
* tools.model:
  - Remove TF Saved Format saving
  - Fix Backup/Restore + Nan-Scan
* Fix inference model creation for Keras 3
* Preview tool: Fix for Keras3
* setup.py: Configure keras backend
* train: Migration of FS2 models to FS3
* Training: Default coverage to 100%
* Remove DirectML backend
* Update setup for MacOS
* GUI: Force line reading to UTF-8
* Remove redundant Tensorflow references
* Remove redundant code
* Legacy model loading: Fix TFLamdaOp scalar ops and DepthwiseConv2D
* Add vertical offset option for training
* Github actions: Add more python versions
* Add python version to workflow names
* Github workflow: Exclude Python 3.12 for macOS
* Implement custom training loop
* Fs3 - Add RTX5xxx and ROCm 6.1-6.4 support (#1511)
* setup.py: Add Cuda/ROCm version select options
* bump minimum python version to 3.11
* Switch from setup.cgf to pyproject.toml
* Documentation: Update all docs to use automodapi
* Allow sysinfo to run with missing packages + correctly install tk under Linux
* Bugfix: dot naming convention in clip models
* lib.config: Centralise globally rather than passing as object
- Add torch DataParallel for multi-gpu training
  - GUI: Group switches together when generating cli args
  - CLI: Remove deprecated multi-character argparse args
  - Refactor:
    - Centralise tensorboard reading/writing + unit tests
    - Create trainer plugin interfaces + add original + distributed
* Update installers
2025-12-21 02:45:11 +00:00
torzdf d115fcbabf bugfux: GUI session data. Prevent crash on missing session data 2025-11-23 15:10:40 +00:00
torzdf 983901466f linting: Reduce Class min-public-methods and fix spacing 2024-04-03 14:37:48 +01:00
torzdf a9d87ae007 linting: Remove pylint hint for logger 2024-04-03 14:03:54 +01:00
torzdf 9ddc838e68 Bugfix: Correct loss labels when graphing 2024-03-20 17:08:39 +00:00
torzdf 6a3b674bef Rebase code (#1326)
* Remove tensorflow_probability requirement

* setup.py - fix progress bars

* requirements.txt: Remove pre python 3.9 packages

* update apple requirements.txt

* update INSTALL.md

* Remove python<3.9 code

* setup.py - fix Windows Installer

* typing: python3.9 compliant

* Update pytest and readthedocs python versions

* typing fixes

* Python Version updates
  - Reduce max version to 3.10
  - Default to 3.10 in installers
  - Remove incompatible 3.11 tests

* Update dependencies

* Downgrade imageio dep for Windows

* typing: merge optional unions and fixes

* Updates
  - min python version 3.10
  - typing to python 3.10 spec
  - remove pre-tf2.10 code
  - Add conda tests

* train: re-enable optimizer saving

* Update dockerfiles

* Update setup.py
  - Apple Conda deps to setup.py
  - Better Cuda + dependency handling

* bugfix: Patch logging to prevent Autograph errors

* Update dockerfiles

* Setup.py - Setup.py - stdout to utf-8

* Add more OSes to github Actions

* suppress mac-os end to end test
2023-06-27 11:27:47 +01:00
torzdf a903a55837 bugfix: Correctly read event data in GUI 2023-06-21 22:45:40 +01:00
torzdf 03f5c671bc Remove plaidML support (#1325)
* Remove PlaidML reference from readme files

* Remove AMD option from installers

* remove amd requirements and update setup.py

* remove plaidml test from CI workflow

* gpustats: remove plaidml backend

* plaid removals:
  - faceswap.py - python version check
  - setup.cfg - plaidml typing ignore
  - lib.keras_utils - All plaid code
  - lib.launcher.py - All plaidml checks and configuration

* remove tf2.2 specific code from GUI event reader

* lib.model - remove all plaidml implementations

* plugins.extract - remove plaidml code

* plugins.train remove plaidml code

* lib.convert - remove plaidml code

* tools.model: remove plaidml code

* Remove plaidML tests from unit tests

* remove plaidml_utils and docsting cleanups

* Remove plaidML refs from configs

* fix keras imports
2023-06-21 12:57:33 +01:00
torzdf 80f63280ca Bugfixes
- plugin.train.unbalanced - decoder b
  - gui.stats - crash when log folder deleted
  - setup.py - install gcc=12.1.0 on linux (scipy dep)
  - setup.py - don't test ROCm unless valid
  - typofix - cli_args extract singleprocess help
typing
  - lib.gui.analysis.event_reader
  - lib.gpu_stats.directml - make platform specific
unit tests
  - lib.gui.analysis.event_reader
2023-01-13 23:29:51 +00:00
torzdf dab823a3eb Typing - lib.gui.display_command 2022-10-17 18:14:04 +01:00
torzdf 47867a0dd4 typing: lib.gui.analysis.stats 2022-10-13 11:46:54 +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 66c2b7b979 Bugfix: Stats elapsed time 2022-06-22 19:20:51 +01:00
torzdf da942e3b3f Nan bugfix in Stats 2022-06-21 12:32:09 +01:00
torzdf 5d700e869e stats bugfixes 2022-06-20 13:07:37 +01:00
torzdf ad408f07fb typofix 2022-06-20 12:46:23 +01:00
torzdf 9e94273f89 bigfix - Live graph reading 2022-06-20 12:04:35 +01:00
torzdf e2fc070370 Bug fixes
- PhazeA tooltip spacing
  - Graph live cache bug
2022-06-20 03:38:47 +01:00
torzdf afec523093 Bugfixes:
- Stats graph - Handle NaNs in data
  - logger - de-elevate matplotlib font messages
2022-05-29 13:13:45 +01: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
torzdf cda49b3c3c Bugfix - Fix graphing not always showing loss for both sides 2022-04-16 15:13:46 +01:00
torzdf 6f1e6743df Bugfixes:
- Gui - Stats - Return empty dict on state file look up error
  - Gui - Last Session - Don't load saved project information when loading project from last session
  - Train - Set default coverage to 87.5%
2021-08-28 10:40:01 +00:00
torzdf 6ee896d175 lib.gui.stats - Read loss names from model config output rather than state file 2021-05-23 16:10:42 +01:00
torzdf e0a98e9b69 Training bugfixes:
- lib.training.generator
      - Fix duplicate "legacy faceset" warning
      - Fix missing mask error message
  - gui: Fix bug in live stats when resuming an old session
2021-04-20 13:56:03 +01:00
torzdf c900036a4e GUI - Analysis Bugfix
- Get correct length of loss labels when carrying over raw data
2021-04-15 18:17:05 +01:00
torzdf 094ea338f1 GUI - Bugfixes
- Swallow OSErrors when failing to load preview image
  - Fix event_reader mapping for model output to loss names
  - stats - Ensure that _tb_logs exists prior to calling stop training
2021-04-14 15:28:57 +01:00
torzdf 510b8ba051 gui.analysis.event_reader - bugfix
- return empty when no timestamps in cache
2021-04-13 01:00:37 +01:00
torzdf 25d1f1b159 gui.analysis - Fixups
- Refactor stats and analysis code
  - Fix rollover data bug on live training
  - Update documentation
2021-04-13 00:10:29 +01:00