diff --git a/modules/deeplearning/cloud_opd_fcn_abi.py b/modules/deeplearning/cloud_opd_fcn_abi.py index 40e17a5b1f2f4beb30243316c1f8e02fd71170b1..0aca1b76c9661ec9d8b15710a6dab59334e6ebed 100644 --- a/modules/deeplearning/cloud_opd_fcn_abi.py +++ b/modules/deeplearning/cloud_opd_fcn_abi.py @@ -1,3 +1,5 @@ +import contextlib + import tensorflow as tf from deeplearning.cloud_fraction_fcn_abi import get_label_data_5cat @@ -88,6 +90,16 @@ if KERNEL_SIZE == 3: # ---------------------------------------- +@contextlib.contextmanager +def options(options): + old_opts = tf.config.optimizer.get_experimental_options() + tf.config.optimizer.set_experimental_options(options) + try: + yield + finally: + tf.config.optimizer.set_experimental_options(old_opts) + + def build_residual_conv2d_block(conv, num_filters, block_name, activation=tf.nn.relu, padding='SAME', kernel_initializer='he_uniform', scale=None, kernel_size=3, do_drop_out=True, drop_rate=0.5, do_batch_norm=True): @@ -654,8 +666,10 @@ class SRCNN: self.writer_train_valid_loss.close() def build_model(self): - self.build_srcnn() - self.model = tf.keras.Model(self.inputs, self.logits) + with options({'layout': False}): + print(tf.config.optimizer.get_experimental_options()) + self.build_srcnn() + self.model = tf.keras.Model(self.inputs, self.logits) def restore(self, ckpt_dir):