transfercolor via lab converter now implemented by tensorflow-cpu, which is x2 faster than skimage.

We cannot use GPU for lab converter in converter multiprocesses, because almost all VRAM ate by model process, so even 300Mb free VRAM not enough for tensorflow lab converter.
Removed skimage dependency.
Refactorings.
This commit is contained in:
iperov 2018-12-01 12:11:54 +04:00
parent 6f0d38d171
commit 5c43f4245e
7 changed files with 229 additions and 67 deletions

View file

@ -241,7 +241,9 @@ class ExtractSubprocessor(SubprocessorBase):
if self.type == 'rects':
if self.detector is not None:
if self.detector == 'mt':
self.tf = gpufmkmgr.import_tf ([self.device_idx], allow_growth=True)
self.gpu_config = gpufmkmgr.GPUConfig ( force_best_gpu_idx=self.device_idx, allow_growth=True)
self.tf = gpufmkmgr.import_tf ( self.gpu_config )
self.tf_session = gpufmkmgr.get_tf_session()
self.keras = gpufmkmgr.import_keras()
self.e = facelib.MTCExtractor(self.keras, self.tf, self.tf_session)
@ -251,7 +253,8 @@ class ExtractSubprocessor(SubprocessorBase):
self.e.__enter__()
elif self.type == 'landmarks':
self.tf = gpufmkmgr.import_tf([self.device_idx], allow_growth=True)
self.gpu_config = gpufmkmgr.GPUConfig ( force_best_gpu_idx=self.device_idx, allow_growth=True)
self.tf = gpufmkmgr.import_tf ( self.gpu_config )
self.tf_session = gpufmkmgr.get_tf_session()
self.keras = gpufmkmgr.import_keras()
self.e = facelib.LandmarksExtractor(self.keras)