Commit Graph
230 Commits
Author SHA1 Message Date
Ivanovar-08 a57e57bb3c changed saving routine to ThreadPoolExecutor (faster with Python3) 2018-06-15 14:57:20 +03:00
Ivanovar-08 25441afe33 added OriginalHighRes model state save 2018-06-15 14:35:45 +03:00
Ivanovar-08 4189c257a3 Merge branch 'staging' of https://github.com/deepfakes/faceswap into staging
# Conflicts:
#	plugins/Model_OriginalHighRes/Model.py
#	plugins/Model_OriginalHighRes/Trainer.py
2018-06-15 14:29:24 +03:00
Ivanovar-08 998ab73b69 ndeed for HighRes Model_OriginalHighRes 2018-06-15 14:28:00 +03:00
Ivanovar-08 40ca0cd4bb added new model 2018-06-15 14:26:18 +03:00
andenixa 721e80dd77 Fixed memory usage at 6GB cards. (#423)
- Switched default encoder to ORIGINAL
- Fixed memory consumption. Tested with geforce gtx 9800 ti with 6Gb; batch_size 8 no OOM or memory warnings now.
2018-06-15 12:19:37 +02:00
torzdf 5336e861cc Merge branch 'master' into staging 2018-06-15 10:03:00 +01:00
torzdf 5275718365 update README.md 2018-06-15 09:58:45 +01:00
andenixa 7ee9c04fdf OriginalHighRes 128 model update (#418)
Required for OriginalHighRes Model to function
2018-06-15 00:34:55 +02:00
andenixa 3a0f3453cc model update (#417)
New, functional Original 128 model
2018-06-15 00:34:39 +02:00
andenixa 0e6edc6507 Required for Shaonlu mode (#416)
Added two modes - Original and Shaonlu.
The later requires this file to function.
2018-06-15 00:34:18 +02:00
Lev Velykoivanenko 298228dc3e Fix small frame ranges bug in scripts/convert.py and tools/effmpeg.py (#410)
* Fix small frame ranges bug in scripts/convert.py and tools/effmpeg.py

scripts/convert.py:
Fix bug where frame ranges would not work properly when frame numbers were appended to an mp4 file extension.
Improve PEP8 conformity.

tools/effmpeg.py:
Add '_' as separator between frame number and video file name to avoid future frame ranges bugs.
2018-06-01 11:38:37 +01:00
torzdf da9ef09760 Merge branch 'master' into staging 2018-05-28 11:09:47 +01:00
torzdf 049a4e5736 GUI - nargs argparse processing bugfix 2018-05-28 11:09:15 +01:00
torzdf 8d9de4c205 Merge branch 'master' into staging 2018-05-19 00:49:12 +01:00
andenixa a5611e9d28 Changed saving weights routine (#403)
* fixed save_weights routine as per deepfakes/faceswap request to keep consistency with the rest of the plugin models
2018-05-19 00:48:50 +01:00
andenixa de9c32680d changed to old-style .format() calls (#401)
* Adjusted converter to work with OriginalHighRes model vector dim

* fixed field name to args

* New OriginalHighRes with lighter Encoder and decoder with more clarity

* changed f'' string formatting to old-style .format()
2018-05-19 00:48:50 +01:00
andenixa 95f8362c73 Added OriginalHighRes model converter (#389)
* Adjusted converter to work with OriginalHighRes model vector dim

* fixed field name to args

* New OriginalHighRes with lighter Encoder and decoder with more clarity
2018-05-19 00:48:50 +01:00
Ruggero Turra 6f004e4b24 fix typo (#406) 2018-05-19 00:27:38 +01:00
Lev Velykoivanenko f8bf47ad43 Refactor lib/Serializer.py, and other improvements. (#394)
All:
Set correct python3 shebang.

lib/cli.py:
Fix some help documentation formatting and typos.
Set 'json' as the default value for '--serializer' argument.

lib/Serializer.py:
Refactor to properly handle PyYAML not being available.
Add docstring at top of the file.
Improve PEP8 conformity.

scripts/fsmedia.py:
Modify lib/Serializer.py method call to match new name.
Modify lib/Serializer.py method call to match not needing a default.

tools/sort.py:
Add new group by 'face-yaw' method.
Add docstring at top of the file.
Re-arrange argument order to make more sense.
Fix typos and line length issues in help documentation.
Change to use lib/Serializer.py to set the serializer and to write the log file.
Allow sort logging to use PyYAML.
2018-05-16 23:40:15 +01:00
DKing 7ab5a56bff Fix bug in docker image tf/tf:latest-gpu-py3 (#400) 2018-05-14 18:42:34 +01:00
torzdf 68582faeae Update Dockerfile.gpu 2018-05-13 02:00:56 +01:00
torzdf 7e428f11da Update Dockerfile.cpu 2018-05-13 02:00:31 +01:00
torzdf 7c93938389 Update Dockerfile.gpu 2018-05-13 01:58:22 +01:00
Luis Cosio 9ff1819992 Updated README.md (#393)
Small typo on how you invoke effmpeg
2018-05-11 20:05:55 +01:00
torzdf 61977a89ca Update USAGE.md 2018-05-10 20:26:48 +01:00
torzdf b0b11e502d Update README.md 2018-05-10 20:21:33 +01:00
torzdf ea3411fd55 Update README.md 2018-05-10 20:20:50 +01:00
torzdf 58927d0e77 Update INSTALL.md 2018-05-10 20:11:00 +01:00
DKing 431ff543d5 Unified Dependency Solution (#370)
* Unified install helper

smart load dep from requirements-docker.txt

working GUI in docker

compile dlib with avx&cuda

* improve tf version selection
2018-05-10 19:39:11 +01:00
Lev Velykoivanenko 80cde77a6d Adding new tool effmpeg ("easy"-ffmpeg) with gui support. Extend gui functionality to support filetypes. Re-opening PR. (#373)
* Pre push commit.
Add filetypes support to gui through new classes in lib/cli.py
Add various new functions to tools/effmpeg.py

* Finish developing basic effmpeg functionality.
Ready for public alpha test.

* Add ffmpy to requirements.
Fix gen-vid to allow specifying a new file in GUI.
Fix extract throwing an error when supplied with a valid directory.

Add two new gui user pop interactions: save (allows you to create new
files/directories) and nothing (disables the prompt button when it's not
needed).
Improve logic and argument processing in effmpeg.

* Fix post merge bugs.
Reformat tools.py to match the new style of faceswap.py
Fix some whitespace issues.

* Fix matplotlib.use() being called after pyplot was imported.

* Fix various effmpeg bugs and add ability do terminate nested subprocess
to GUI.

effmpeg changes:
Fix get-fps not printing to terminal.
Fix mux-audio not working.
Add verbosity option. If verbose is not specified than ffmpeg output is
reduced with the -hide_banner flag.

scripts/gui.py changes:
Add ability to terminate nested subprocesses, i.e. the following type of
process tree should now be terminated safely:
gui -> command -> command-subprocess
               -> command-subprocess -> command-sub-subprocess

* Add functionality to tools/effmpeg.py, fix some docstring and print statement issues in some files.

tools/effmpeg.py:
Transpose choices now display detailed name in GUI, while in cli they can
still be entered as a number or the full command name.
Add quiet option to effmpeg that only shows critical ffmpeg errors.
Improve user input handling.

lib/cli.py; scripts/convert.py; scripts/extract.py; scripts/train.py:
Fix some line length issues and typos in docstrings, help text and print statements.
Fix some whitespace issues.

lib/cli.py:
Add filetypes to '--alignments' argument.
Change argument action to DirFullPaths where appropriate.

* Bug fixes and improvements to tools/effmpeg.py

Fix bug where duration would not be used even when end time was not set.
Add option to specify output filetype for extraction.
Enchance gen-vid to be able to generate a video from images that were zero padded to any arbitrary number, and not just 5.
Enchance gen-vid to be able to use any of the image formats that a video can be extracted into.
Improve gen-vid output video quality.
Minor code quality improvements and ffmpeg argument formatting improvements.

* Remove dependency on psutil in scripts/gui.py and various small improvements.

lib/utils.py:
Add _image_extensions and _video_extensions as global variables to make them easily portable across all of faceswap.
Fix lack of new lines between function and class declarions to conform to PEP8.
Fix some typos and line length issues in doctsrings and comments.

scripts/convert.py:
Make tqdm print to stdout.

scripts/extract.py:
Make tqdm print to stdout.
Apply workaround for occasional TqdmSynchronisationWarning being thrown.
Fix some typos and line length issues in doctsrings and comments.

scripts/fsmedia.py:
Did TODO in scripts/fsmedia.py in Faces.load_extractor(): TODO Pass extractor_name as argument
Fix lack of new lines between function and class declarions to conform to PEP8.
Fix some typos and line length issues in doctsrings and comments.
Change 2 print statements to use format() for string formatting instead of the old '%'.

scripts/gui.py:
Refactor subprocess generation and termination to remove dependency on psutil.
Fix some typos and line length issues in comments.

tools/effmpeg.py
Refactor DataItem class to use new lib/utils.py global media file extensions.
Improve ffmpeg subprocess termination handling.
2018-05-09 18:47:17 +01:00
torzdf 958493a64a Fix Rotation Bug (#384) 2018-04-29 19:20:25 +01:00
coldstacks f0b4ee12c4 Fixed 'histogram' CLI parameter spelling (#379) 2018-04-28 22:51:36 +01:00
coldstacks 901f9dcc1c Fixed processing of rotation angle list parameter (#380) 2018-04-28 22:51:20 +01:00
torzdf 9b58b35183 Cli/Scripts Refactor (#374)
* Refactor for PEP 8 and split process function

* Remove backwards compatibility for skip frames

* Split optional functions into own class. Make functions more modular

* train.py - Fix write image bug. Make more modular

* convert.py: Extract alignments from frames if they don't exist

* BugFix: SkipExisting broken since face name refactor

* train.py - Semi-fix for hang on reaching target iteration. Now quits on preview mode
Make tensorflow / system warning less verbose

* Final bugfixes

* Add 'all' back in for selectable detectors

* Final minor tweaks
2018-04-25 08:20:33 +01:00
torzdf c3a047559b cli/scripts Refactor (#367)
* Refactor for PEP 8 and split process function

* Remove backwards compatibility for skip frames

* Split optional functions into own class. Make functions more modular

* Conform scripts folder to PEP 8

* train.py - Fix write image bug. Make more modular

* extract.py - Make more modular, Put optional actions into own class

* cli.py - start PEP 8

* cli,py - Pep 8. Refactor and make modular. Bugfixes

* 1st round refactor. Completely untested and probably broken.

* convert.py: Extract alignments from frames if they don't exist

* BugFix: SkipExisting broken since face name refactor

* Extract.py tested

* Minor formatting

* convert.py + train.py amended not tested

* train.py - Semi-fix for hang on reaching target iteration. Now quits on preview mode
Make tensorflow / system warning less verbose

* 2nd pass refactor. Semi tested

bugfixes

* Remove obsolete code. imread/write to Utils

* rename inout.py to fsmedia.py

* Final bugfixes
2018-04-23 14:57:08 +01:00
torzdf d60e9bba07 Model backup bugfix 2018-04-23 13:59:39 +01:00
torzdf 2e9abd7c09 Model backup bugfix (#371)
* model backup bugfix - original model

* Model backup bugfix - remaining models
2018-04-23 11:44:52 +01:00
DKing 67009d0315 Add gpu support for docker (#365) 2018-04-21 23:42:55 +01:00
torzdf 8004a72bbd bugfix: Correctly identify sharpen option 2018-04-18 10:13:00 +01:00
torzdf a4770a7981 Merge branch 'staging' of https://github.com/deepfakes/faceswap into staging
Ammending author for model save commit
2018-04-17 10:27:30 +01:00
Andy (Dong Young) Kim 30de9434b1 Update train.py 2018-04-17 10:26:39 +01:00
Andy (Dong Young) Kim a8eefc93cb change to flow with abrupt stop.
Change to control flow when training is abruptly stopped.
2018-04-17 10:26:39 +01:00
andykdy 8d95c6d007 Save Model at epoch target 2018-04-17 10:25:34 +01:00
bryanlyon 562c59774c Merge branch '#330-Model-Saved-after-Epoch-1' of https://github.com/andykdy/faceswap into staging 2018-04-16 17:25:42 -07:00
bryanlyon 0ff9f75245 Merge branch 'lowmem_namechange' of https://github.com/bryanlyon/faceswap into staging 2018-04-16 17:22:27 -07:00
bryanlyon 7aa6ba5b5e Fix IAE Swap
Fix IAE's swap by correcting the model load so that the correct model is loaded for each face.
2018-04-16 17:08:10 -07:00
leftler 0610bf1874 Added explicit names to netGA and netGB's outputs to fix the name conflict error when using multiple gpus. (#341) 2018-04-16 09:41:34 +01:00
torzdf ce2aa6a7b7 GUI v0.2.1b (#352)
* Code refactor

* Console Added

* Add graphing with matplotlib

* Add GUI preview support

* Improve import handling.

* Add GUI integration for tools.py (Launch tools.py with the gui command)

* Reformat to conform to PEP8.

* Add Tooltips, 

* Make panels user adjustable

* Fix convert.py Sharpen default value
2018-04-15 17:22:51 +01:00
fakinated 8ecf36c3cb Model backups before saving (#349)
* Sort images properly (to make the frame range parameter meaningfull)

* Add backup mechanism for model weights.

* Replace 'print' call by 'tqdm.write' call.
2018-04-15 12:11:07 +01:00