Commit Graph

96 Commits

Author SHA1 Message Date
torzdf
b6ac7b8039 bugfix: Manual tool. Allow working with image folders at EEN values > 1 2024-07-05 18:46:10 +01:00
torzdf
dce7d98302 lib.align: Split lib.align.alignments to smaller modules:
- Move update objects to own module
  - Move Thumbnails to own module
  - docs update + linting/typing
2024-04-19 13:45:30 +01:00
torzdf
96528ee3e8 lib.align.detected_face: Split Mask objects to own aligned_mask module 2024-04-19 12:25:00 +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
95b4431c57 Deprecate multi-character cli switches 2024-04-05 13:51:57 +01:00
torzdf
23944c3c10 Update requirements 2024-03-12 14:42:23 +00: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
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
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
f4c912e273 bugfix: GUI force stdout/stderr reading to utf-8 2023-06-30 11:52:58 +01:00
torzdf
ce86d091db bugfix: git communication fixes 2023-06-30 02:45:19 +01:00
torzdf
efa4471243 typing:
- tools.manual.detected_faces
  - tools.manual.thumbnails
2023-06-28 18:30:17 +01:00
torzdf
adc96b7d31 bugfix: Sphinx Requirements 2023-06-27 18:34:43 +01:00
torzdf
bb532c6e4a typofix: sphinx_requirements.txt 2023-06-27 18:32:26 +01:00
torzdf
caa97d2d36 bugfix: Sphjinx Requirements 2023-06-27 18:28:37 +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
50a5113690 locales: Add GUI menu translations 2023-06-07 14:16:27 +01: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
a1ef5edd39 tests:
- unit test: tools.alignments.media
  - Add mypy test
  - Typing fixes
2023-01-21 00:41:18 +00:00
torzdf
34b558426e bugfix:
- preview tool - Prevent tkinter variables from exiting main thread
refactor:
    - preview tool - Split module to smaller sub-modules + docs, locales
Typing:
    - tools.preview.cli
Unit test:
    - tools.preview.viewer
2023-01-17 15:03:29 +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
c455601ed2 Linux - ROCm (AMD) support 2023-01-11 13:09:32 +00:00
torzdf
edd7e52408 docs: typofix 2023-01-09 12:46:29 +00:00
torzdf
0dbeafb195 bugfix: sysinfo
- Fix getting free Vram on Nvidia
  - Don't halt sysinfo on GPU stats error
  - lib.sysinfo unit test
2023-01-09 12:29:18 +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
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
dab823a3eb Typing - lib.gui.display_command 2022-10-17 18:14:04 +01:00
torzdf
a7c315951f docs update 2022-10-16 14:17:11 +01:00
torzdf
5805d76de4 alignments tool - Remove-face - Minor update 2022-09-26 12:48:52 +01:00
torzdf
e2a77e7c6e Alignments Tool - Typing, Documentation + Re-org 2022-09-26 02:22:28 +01:00
torzdf
98d01760e4 Overhaul sort:
- Standardize image data reading and writing
  - Optimize loading (just one pass required)
  - Make all sort groups binnable (to greater or lesser results)
  - Add sort by pitch
  - Deprecate multiple options
  - linting, docs + locales
2022-09-13 13:08:59 +01:00
torzdf
7da2cc3dd2 Training - Use custom preview pop-out 2022-09-07 11:49:52 +01:00
torzdf
326110f09d bugfix - timelapse image loader
multithreading.py - typing + docs
2022-08-25 12:38:05 +01:00
torzdf
66845ea5f0 bugfix: Alignments - Thumbnail generation check 2022-08-22 10:41:33 +01:00
torzdf
e9bac5dee2 typofix 2022-08-22 02:27:44 +01:00
torzdf
2beceffad9
Data Augmentation update (#1263)
- lib.detected_face
    - Subclass Masks for Landmark based masks
    - Add training mask propery + methods to DetectedFace
  - lib.training_training
    - subclass TrainingDataGenerator for training and preview data
    - Split cache into own module
    - Reduce thread count to 1 to prevent image corruption + data re-use
    - Process on largest model input/output size rather than stored image size
    - Size and crop masks during caching stage
    - Implement ring buffer for data flow
    - Fix preview reload bug
  - augmentation
    - typing
    - switch color aug order
    - better initialization
    - Fix warp + landmark warp to correctly apply at different image scales
    - Slightly improved warp caching
    - Don't store whether image is_preview. Handle all data as training images implicitly
  - plugins.trainer: Typing and fixes to work with trainingdata refactor
2022-08-21 18:59:45 +01:00
torzdf
26dde3c19a Add CPU option to BiSeNet and MTCNN
- Add CPU option to KSession
  - MTCNN optimizations
  - Update docs for bisenet + mtcnn
2022-08-08 14:29:32 +01:00
torzdf
03f6cb4e7e setup.py: implement logging 2022-07-28 23:53:31 +01:00
torzdf
049314429f Convert: Add option to output mask separately for draw-transparent 2022-07-18 19:29:21 +01:00
torzdf
924a2e9b3a typofix 2022-07-17 17:56:53 +01:00
torzdf
7e0dbcdaa7 Update docs 2022-07-17 17:54:22 +01:00
torzdf
582c2ce40c Add Flip Loss Function
- Add Flip for AMD and TF
    - Split Perceptual Loss functions to own modules
    - Fix allowed input shape for models
    - Allow GUI tooltip to display at higher width
2022-07-07 01:02:11 +01:00
torzdf
eb3c612f29 Replace restore tool with model tool 2022-06-28 14:27:23 +01:00
torzdf
d7ffcda3b0 Add LPIPS loss function 2022-06-19 18:42:34 +01:00
torzdf
ef79a3d8cb Add AlexNet + SqueezeNet definitions 2022-06-18 18:21:41 +01:00
torzdf
d02d51f2bb doc fixes 2022-06-17 22:01:57 +01:00
torzdf
98a65277d8 Fix AMD Tests + docs 2022-06-17 17:59:55 +01:00
torzdf
73442b520c convert: remove box blend plugin 2022-06-08 00:54:47 +01:00
torzdf
d6a3372eb0 Update matplotlib requirement
- bump min requirement to 3.5.1
  - Fix custom toolbar for v3.5.1
  - Documentation + linting
2022-05-15 16:48:58 +01:00