mirror of
https://github.com/iperov/DeepFaceLab.git
synced 2025-08-21 22:13:20 -07:00
tf2
This commit is contained in:
parent
39601603ef
commit
6a68dd5e59
2 changed files with 14 additions and 18 deletions
|
@ -1,5 +1,6 @@
|
|||
from core.leras import nn
|
||||
tf = nn.tf
|
||||
tf2 = nn.tf2
|
||||
|
||||
class MsSsim(nn.LayerBase):
|
||||
default_power_factors = (0.0448, 0.2856, 0.3001, 0.2363, 0.1333)
|
||||
|
@ -20,15 +21,7 @@ class MsSsim(nn.LayerBase):
|
|||
y_true_t = tf.transpose(tf.cast(y_true, tf.float32), [0, 2, 3, 1])
|
||||
y_pred_t = tf.transpose(tf.cast(y_pred, tf.float32), [0, 2, 3, 1])
|
||||
|
||||
|
||||
def assign_device(op):
|
||||
if op.type != 'Assert' or op.type != 'ListDiff':
|
||||
return '/gpu:0'
|
||||
else:
|
||||
return '/cpu:0'
|
||||
|
||||
with tf.device(assign_device):
|
||||
loss = tf.image.ssim_multiscale(y_true_t, y_pred_t, max_val, power_factors=self.power_factors)
|
||||
return (1.0 - loss) / 2.0
|
||||
loss = tf2.image.ssim_multiscale(y_true_t, y_pred_t, max_val, power_factors=self.power_factors)
|
||||
return (1.0 - loss) / 2.0
|
||||
|
||||
nn.MsSsim = MsSsim
|
||||
|
|
|
@ -31,6 +31,7 @@ class nn():
|
|||
current_DeviceConfig = None
|
||||
|
||||
tf = None
|
||||
tf2 = None
|
||||
tf_sess = None
|
||||
tf_sess_config = None
|
||||
tf_default_device = None
|
||||
|
@ -40,7 +41,7 @@ class nn():
|
|||
conv2d_spatial_axes = None
|
||||
|
||||
floatx = None
|
||||
|
||||
|
||||
@staticmethod
|
||||
def initialize(device_config=None, floatx="float32", data_format="NHWC"):
|
||||
|
||||
|
@ -50,7 +51,7 @@ class nn():
|
|||
nn.setCurrentDeviceConfig(device_config)
|
||||
|
||||
# Manipulate environment variables before import tensorflow
|
||||
|
||||
|
||||
if 'CUDA_VISIBLE_DEVICES' in os.environ.keys():
|
||||
os.environ.pop('CUDA_VISIBLE_DEVICES')
|
||||
|
||||
|
@ -77,15 +78,17 @@ class nn():
|
|||
io.log_info("Caching GPU kernels...")
|
||||
|
||||
import tensorflow
|
||||
|
||||
|
||||
tf_version = getattr(tensorflow,'VERSION', None)
|
||||
if tf_version is None:
|
||||
tf_version = tensorflow.version.GIT_VERSION
|
||||
if tf_version[0] == 'v':
|
||||
tf_version = tf_version[1:]
|
||||
|
||||
|
||||
if tf_version[0] == '2':
|
||||
tf = tensorflow.compat.v1
|
||||
tf2 = tensorflow
|
||||
nn.tf2 = tf2
|
||||
else:
|
||||
tf = tensorflow
|
||||
|
||||
|
@ -93,7 +96,7 @@ class nn():
|
|||
# Disable tensorflow warnings
|
||||
tf_logger = logging.getLogger('tensorflow')
|
||||
tf_logger.setLevel(logging.ERROR)
|
||||
|
||||
|
||||
if tf_version[0] == '2':
|
||||
tf.disable_v2_behavior()
|
||||
nn.tf = tf
|
||||
|
@ -105,7 +108,7 @@ class nn():
|
|||
import core.leras.optimizers
|
||||
import core.leras.models
|
||||
import core.leras.archis
|
||||
|
||||
|
||||
# Configure tensorflow session-config
|
||||
if len(device_config.devices) == 0:
|
||||
nn.tf_default_device = "/CPU:0"
|
||||
|
@ -118,7 +121,7 @@ class nn():
|
|||
config.gpu_options.force_gpu_compatible = True
|
||||
config.gpu_options.allow_growth = True
|
||||
nn.tf_sess_config = config
|
||||
|
||||
|
||||
if nn.tf_sess is None:
|
||||
nn.tf_sess = tf.Session(config=nn.tf_sess_config)
|
||||
|
||||
|
@ -273,7 +276,7 @@ class nn():
|
|||
@staticmethod
|
||||
def ask_choose_device(*args, **kwargs):
|
||||
return nn.DeviceConfig.GPUIndexes( nn.ask_choose_device_idxs(*args,**kwargs) )
|
||||
|
||||
|
||||
def __init__ (self, devices=None):
|
||||
devices = devices or []
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue