Add compiling packnet model, refactor modules to not duplicate loaders and trainers

This commit is contained in:
Piv
2021-07-23 22:41:46 +09:30
parent 66cbc7faf6
commit 3254eef4bf
8 changed files with 135 additions and 96 deletions

View File

@@ -6,15 +6,15 @@ def dense_depth_loss_function(y, y_pred):
Implementation of the loss from the dense depth paper https://arxiv.org/pdf/1812.11941.pdf
"""
# Point-wise L1 loss
l_depth = tf.reduce_mean(tf.math.abs(y_pred - y), axis=-1)
l1_depth = tf.reduce_mean(tf.math.abs(y_pred - y), axis=-1)
# L1 loss over image gradients
dy, dx = tf.image.image_gradients(y)
dy_pred, dx_pred = tf.image.image_gradients(y_pred)
l_grad = tf.reduce_mean(tf.math.abs(dy_pred - dy) +
tf.math.abs(dx_pred - dx), axis=-1)
gradient = tf.reduce_mean(tf.math.abs(dy_pred - dy) +
tf.math.abs(dx_pred - dx), axis=-1)
# Structural Similarity (SSIM)
l_ssim = (1 - tf.image.ssim(y, y_pred, 500)) / 2
ssim = (1 - tf.image.ssim(y, y_pred, 500)) / 2
return 0.1 * tf.reduce_mean(l_depth) + tf.reduce_mean(l_grad) + l_ssim
return 0.1 * tf.reduce_mean(l1_depth) + tf.reduce_mean(gradient) + ssim