Commit Graph

534 Commits

Author SHA1 Message Date
torzdf
c8652ecaac Training preview: Correctly display blur/kernel amount on mask 2024-06-02 16:25:30 +01:00
torzdf
8c3bc39454 bugfix: Patch writer. Correctly split frame number from the end of filenames 2024-05-10 21:48:38 +01:00
torzdf
696692dc08 Fixups
- Deprecations - display correct long argument
  - Minor spelling + linting
2024-04-21 16:22:42 +01:00
torzdf
1c081aea7d
Add ability to export and import alignment data (#1383)
* tools.alignments - add export job

* plugins.extract: Update __repr__ for ExtractorBatch dataclass

* plugins.extract: Initial implementation of external import plugins

* plugins.extract: Disable lm masks on ROI alignment data import

* lib.align: Add `landmark_type` property to AlignedFace and return dummy data for ROI Landmarks pose estimate

* plugins.extract: Add centering config item for align import and fix filename mapping for images

* plugins.extract: Log warning on downstream plugins on limited alignment data

* tools: Fix plugins for 4 point ROI landmarks (alignments, sort, mask)

* tools.manual: Fix for 2D-4 ROI landmarks

* training: Fix for 4 point ROI landmarks

* lib.convert: Average color plugin. Avoid divide by zero errors

* extract - external:
  - Default detector to 'external' when importing alignments
  - Handle different frame origin co-ordinates

* alignments: Store video extension in alignments file

* plugins.extract.external: Handle video file keys

* plugins.extract.external: Output warning if missing data

* locales + docs

* plugins.extract.align.external: Roll the corner points to top-left for different origins

* Clean up

* linting fix
2024-04-15 12:19:15 +01:00
torzdf
70c064ca7d Minor fixups and linting 2024-04-03 15:14:32 +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
97a842112c lib.align.aligned_face - Add split_mask method 2024-04-03 13:57:19 +01:00
torzdf
4502824481 Add mask dilation/erosion option for training 2024-03-26 18:06:48 +00:00
torzdf
1d3c59c351 Bugfix: Extract error on rotate faces 2024-03-20 15:24:30 +00:00
torzdf
b25f48431d bugfix: Patch writer - handle filenames which are only numeric 2024-01-10 13:05:35 +00:00
torzdf
4557331cb9 bugfix: Preview in GUI when converting to vid/gif 2023-10-24 23:47:08 +01:00
torzdf
8e6c6c3500 patch writer: Sort the json file by key 2023-10-04 10:47:59 +01:00
torzdf
3336772ff1 bugfix: patch writer - remove hard coded values 2023-09-30 12:19:04 +01:00
torzdf
e80ae046d5
Convert - Patch writer (#1352)
* Add cli-args and config opts for patch writer
* Add supporting code to convert funcs
* writers
  - move frame count functions to _base
  - Add kwargs for pre_encode
* scripts/lib convert - add code for patch writer
* lib.image.encode_image - Add cv2.imencode args
* patch_defaults: Add face index location option
* Add patch writer with PNG support
* Send correct matrix to patch plugin
* Add canvas origin option
* Add Tiff format to Patch Writer
* Docs and locales
* Add ROI to output
* convert: choose warp border by face count
2023-09-28 11:55:38 +01:00
torzdf
603fdc2a35 Phaze A - Allow outputs divisible by 16 2023-09-01 09:50:47 +01:00
torzdf
cf0efff6ba
Learning Rate finder (#1341)
* Add LR Finder support structure

* Move trainer.Feeder to lib.training.generator

* Expose model.io

* Add lr_finder

* Update docs and locales

* Pre-PR fixups
  - Fix training graph not displaying
  - CI fixes
  - Switch lr finder progress to tqdm
  - Exit lr finder early on NaN
  - Display lr finder progress in GUI
2023-08-22 17:07:36 +01:00
torzdf
68a3322748 bugfix: train - fix learn_mask training 2023-08-09 19:37:24 +01:00
torzdf
0bba6ffd8b bugfix: train - fix occasional mem leak in preview 2023-08-06 13:16:32 +01:00
torzdf
c34756c828 fixes
- Farl weight name fix
  - Embedding layers to fp32
  - nn_blocks - unique names for conv_output
  - Phaze-A - Add clipfaker presets
2023-07-11 23:11:47 +01:00
torzdf
c4204c7d8a Updates:
- Remove clipfaker
    - Add clip to Phaze-A
    - streamline clip to vision only
    - update lib.model.networks
    - Docs and tests update
    - Phaze-A - add option to flatten bottleneck
2023-07-08 17:20:39 +01:00
torzdf
6a3b4ed4b3 Training fixes:
- Fix mixed precision layer storing and switching
  - typofix in _requirements_base.txt
  - lib.model.layers - cleanup, docs and tests fixes
  - lib.model.nn_blocks - typing fixes
2023-07-08 16:47:25 +01:00
torzdf
2bf529ad65 bugfix: Optimizer save error on older models 2023-06-30 12:14:23 +01:00
torzdf
b870c7d9bb typofix 2023-06-28 19:17:43 +01:00
torzdf
467ff6bf20 bugfix: Handle dtype change for cv2-dnn aligner 2023-06-28 19:16:03 +01:00
torzdf
99fd844bb3 bugfix: plugins.aligner - predict dtype 2023-06-28 18:54:59 +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
ac8206ed6e bugfix: Extract - rotation in detection 2023-06-15 18:28:37 +01:00
torzdf
02239d4183 locales: Train settings 2023-06-11 23:30:05 +01:00
torzdf
a66214c58e locales: Add global extract settings 2023-06-08 16:45:18 +01:00
torzdf
0c1d1e3253 Bugfix: Color order on preview with learn_mask 2023-02-14 13:09:46 +00:00
torzdf
2028579756 Preview - Allow mask color/opacity configuration
- typing: lib.config
  - docs: lib.config
  - bugfix: popup_configure - keep assets on top
2023-02-13 15:03:34 +00:00
torzdf
8a5ee6d9bf Bugfix: Patch extract memory leak in batch mode 2023-02-10 15:52:34 +00:00
torzdf
a1ef5edd39 tests:
- unit test: tools.alignments.media
  - Add mypy test
  - Typing fixes
2023-01-21 00:41:18 +00: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
28cb2fcffb Unhide options for ROCm 2023-01-11 14:34:30 +00:00
torzdf
2f16f8aa3b Bugfix - Phaze-A, monkeypatch EfficientNet for MixedPrecision 2023-01-07 19:19:07 +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
84ae6006bb Bugfix - TF Version check 2022-12-19 11:26:32 +00:00
torzdf
2faef58c5f Bugfix - Extract - re-align with identity filtering enabled 2022-11-22 17:34:44 +00:00
torzdf
9e2026f6fe Extract: Implement re-align/2nd pass
- implement configurable re-align function in extract
  - update locales + documentation
  - re-factor align._base and split to separate modules
  - move normalization method to plugin parent
  - bugfix: FAN use zeros for pre-processing crop
  - lint AlignedFilter
2022-11-22 00:37:29 +00:00
torzdf
113b7d7db4 Aligner filters bugfixes
- Skip roll check if disabled
  - Correct subfolder name for features check
2022-11-09 12:56:23 +00:00
torzdf
c698f45a35 Aligner - Add feature position filter 2022-11-08 17:09:43 +00:00
torzdf
cb8ec69789 Aligner updates
- Add filter re-feeds option
  - bugfix roll calculation
2022-11-08 12:10:56 +00:00
torzdf
0f5d2e887c Face-filter updates:
- Allow selecting folder as well as multiple images
  - Lower default threshold and update helptext
  - bugfix: detector error when using all aligned faces
  - Standardize output folder name
2022-11-04 18:43:55 +00:00
torzdf
1d1face00d Update Face Filter
- Remove old face filter
  - plugins.extract.pipeline: Expose plugins directly
  - Change `is_aligned` from plugin level to ExtractMedia level
  - Allow extract pipeline to take faceswap aligned images
  - Add ability for recognition plugins to accept aligned faces as input
  - Add face filter to recognition plugin
  - Move extractor pipeline IO ops to own class
2022-10-31 18:25:32 +00:00
torzdf
403f981e0f bugfix: Catch learn-mask error when no mask type selected 2022-10-12 12:03:59 +01:00
torzdf
f1e3339fbe Add vggface2 to extraction pipeline 2022-10-10 13:09:02 +01:00