112 Commits

Author SHA1 Message Date
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
02bcde1089 bugfix: setup.py
- Explicitly use Conda defaults channel
  - Prevent tkinter from pulling in incompatible libs on Linux
2025-11-11 14:59:05 +00:00
torzdf
acd0f11749 Merge branch 'staging'
Some checks failed
ci/build / conda (${{ matrix.os }}, ${{ matrix.backend }}) (cpu, macos-latest) (push) Has been cancelled
ci/build / conda (${{ matrix.os }}, ${{ matrix.backend }}) (cpu, ubuntu-latest) (push) Has been cancelled
ci/build / conda (${{ matrix.os }}, ${{ matrix.backend }}) (cpu, windows-latest) (push) Has been cancelled
ci/build / conda (${{ matrix.os }}, ${{ matrix.backend }}) (directml, windows-latest) (push) Has been cancelled
ci/build / conda (${{ matrix.os }}, ${{ matrix.backend }}) (nvidia, macos-latest) (push) Has been cancelled
ci/build / conda (${{ matrix.os }}, ${{ matrix.backend }}) (nvidia, ubuntu-latest) (push) Has been cancelled
ci/build / conda (${{ matrix.os }}, ${{ matrix.backend }}) (nvidia, windows-latest) (push) Has been cancelled
ci/build / conda (${{ matrix.os }}, ${{ matrix.backend }}) (rocm, ubuntu-latest) (push) Has been cancelled
ci/build / pip (ubuntu-latest, ${{ matrix.backend }}) (cpu, 3.10) (push) Has been cancelled
ci/build / pip (windows-latest, ${{ matrix.backend }}) (cpu, 3.10) (push) Has been cancelled
ci/build / pip (windows-latest, ${{ matrix.backend }}) (directml, 3.10) (push) Has been cancelled
2025-05-21 17:58:33 +01:00
torzdf
92ef5aa92d bugfix: setup.py fix badly escaped delimiters for Windows 2025-05-21 17:57:00 +01:00
torzdf
7d80bdbba3 bugfix: setup.py - Don't delimit package specs 2025-02-26 17:55:36 +00:00
torzdf
64a7b5812e bugfix: setup/sysinfo - Don't look for files in non-existant path 2024-04-03 16:43:37 +01: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
d1dfce8a13 setup.py - fix ldconfig errors 2024-03-01 11:12:44 +00:00
torzdf
dea021cf82 bugfix - setup.py
- Install xorg-libxft for Linux users
  - Force tensorflow-cpu from pip
2024-01-12 15:14:56 +00:00
torzdf
b72b730adb setup.py:
- Don't try to call ldconfig when it doesn't exist
  - Adjust Cuda versions to TF compiled versions
  - Multiple package install handling
  - Use XFT version of tk under Linux
2024-01-05 13:46:07 +00:00
torzdf
a62a85c021 bugfix: setup.py - Force pip for imagio-ffmpeg 2023-11-17 02:09:55 +00:00
torzdf
31eff9c096 macos fixes
- setup.py - reduce width of progress bar
  - macos bash install script
  - macos app launcher
2023-07-14 01:40:41 +01:00
torzdf
c39a77f63e bugfix: setup.py pull in zlib-wapi on nvidia windows 2023-07-06 13:33:30 +01:00
torzdf
c22e105f18 bugfix: setup.py - fix logic ordering 2023-06-30 22:15:13 +01:00
torzdf
dd03aa8573 setup.py: Revert redundant conda check 2023-06-27 18:03:41 +01:00
torzdf
4819d5b97d bugfixes:
- Remove duplicate line from Dockerfile.gpu
  - Add more robust Conda checking
2023-06-27 16:05:53 +01: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
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
c455601ed2 Linux - ROCm (AMD) support 2023-01-11 13:09:32 +00:00
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