diff --git a/TensorFlow/built-in/cv/image_segmentation/ResUNetplusplus_ID0275_for_Tensorflow/run.py b/TensorFlow/built-in/cv/image_segmentation/ResUNetplusplus_ID0275_for_Tensorflow/run.py index d62bc0cd1d98e282785ef37029d0da58e990a5ac..44da3ad6a9717d0b0300b95113d06eff9e70de84 100644 --- a/TensorFlow/built-in/cv/image_segmentation/ResUNetplusplus_ID0275_for_Tensorflow/run.py +++ b/TensorFlow/built-in/cv/image_segmentation/ResUNetplusplus_ID0275_for_Tensorflow/run.py @@ -88,6 +88,7 @@ custom_op.name = "NpuOptimizer" custom_op.parameter_map["dynamic_input"].b = True custom_op.parameter_map["dynamic_graph_execute_mode"].s = tf.compat.as_bytes("lazy_recompile") custom_op.parameter_map["precision_mode"].s = tf.compat.as_bytes("allow_mix_precision") +custom_op.parameter_map["enable_data_pre_proc"].b = True # getnext算子下沉是迭代循环下沉的必要条件 # custom_op.parameter_map["variable_memory_max_size"].s = tf.compat.as_bytes(str(8*1024 * 1024 * 1024)) # custom_op.parameter_map["dump_path"].s = tf.compat.as_bytes("/home/ma-user/work/rupp/data_dump") diff --git a/TensorFlow/built-in/cv/image_synthesis/VAE-GAN_ID1800_for_TensorFlow/utils.py b/TensorFlow/built-in/cv/image_synthesis/VAE-GAN_ID1800_for_TensorFlow/utils.py index 5e8fc04028a4709b590cf3ade1f753acf796ea97..86eddd9564d4afdacc9c3378cac9b6a5517c73b6 100644 --- a/TensorFlow/built-in/cv/image_synthesis/VAE-GAN_ID1800_for_TensorFlow/utils.py +++ b/TensorFlow/built-in/cv/image_synthesis/VAE-GAN_ID1800_for_TensorFlow/utils.py @@ -45,7 +45,8 @@ def encoder(input_tensor, output_size): net = layers.conv2d(net, 32, 5, stride=2) net = layers.conv2d(net, 64, 5, stride=2) net = layers.conv2d(net, 128, 5, stride=2, padding='VALID') - net = layers.dropout(net, keep_prob=0.9) + #net = layers.dropout(net, keep_prob=0.9) + net = npu_ops.dropout(net, keep_prob=0.9) net = layers.flatten(net) return layers.fully_connected(net, output_size, activation_fn=None) diff --git a/TensorFlow/contrib/cv/ADAGAN_ID2115_for_TensorFlow/gan.py b/TensorFlow/contrib/cv/ADAGAN_ID2115_for_TensorFlow/gan.py index 7c302bfcc13406bc3203a8b7709e16edcecc2704..394531c8c156ae31cd146f241fbc748cc5c064ae 100644 --- a/TensorFlow/contrib/cv/ADAGAN_ID2115_for_TensorFlow/gan.py +++ b/TensorFlow/contrib/cv/ADAGAN_ID2115_for_TensorFlow/gan.py @@ -58,6 +58,7 @@ class Gan(object): custom_op = config.graph_options.rewrite_options.custom_optimizers.add() custom_op.name = "NpuOptimizer" custom_op.parameter_map["dynamic_input"].b = True + custom_op.parameter_map["precision_mode"].s = tf.compat.as_bytes("allow_mix_precision") custom_op.parameter_map["dynamic_graph_execute_mode"].s = tf.compat.as_bytes("lazy_recompile") config.graph_options.rewrite_options.remapping = RewriterConfig.OFF # 必须显式关闭remap run_config = NPURunConfig(enable_data_pre_proc=False) diff --git a/TensorFlow/contrib/cv/DDCGAN_ID2123_for_TensorFlow/train.py b/TensorFlow/contrib/cv/DDCGAN_ID2123_for_TensorFlow/train.py index 10cf8dd312c217019fcbe8ffea9691a6cdbe6bee..09815c8eeafab876beea6555ea7eca394c05cf1c 100644 --- a/TensorFlow/contrib/cv/DDCGAN_ID2123_for_TensorFlow/train.py +++ b/TensorFlow/contrib/cv/DDCGAN_ID2123_for_TensorFlow/train.py @@ -80,8 +80,13 @@ def train(source_imgs, save_path, EPOCHES_set, BATCH_SIZE, logging_period=1, n_b source_imgs = source_imgs[:-mod] + config_proto = tf.ConfigProto() + custom_op = config_proto.graph_options.rewrite_options.custom_optimizers.add() + custom_op.name = 'NpuOptimizer' + custom_op.parameter_map["precision_mode"].s = tf.compat.as_bytes("allow_mix_precision") + config = npu_config_proto(config_proto=config_proto) # create the graph - with tf.Graph().as_default(), tf.Session(config=npu_config_proto()) as sess: + with tf.Graph().as_default(), tf.Session(config=config) as sess: SOURCE_VIS = tf.placeholder(tf.float32, shape = (BATCH_SIZE, patch_size, patch_size, 1), name = 'SOURCE_VIS') SOURCE_IR = tf.placeholder(tf.float32, shape = (BATCH_SIZE, patch_size, patch_size, 1), name = 'SOURCE_IR') print('source_vis shape:', SOURCE_VIS.shape) @@ -241,7 +246,6 @@ def train(source_imgs, save_path, EPOCHES_set, BATCH_SIZE, logging_period=1, n_b #print("lr: %s, elapsed_time: %s\n" % (lr, elapsed_time)) - result = sess.run(merged, feed_dict=FEED_DICT) writer.add_summary(result, step) if step % logging_period == 0: diff --git a/TensorFlow/contrib/cv/EfficientNet/EfficientNet_V2_ID1220_for_TensorFlow/efficientnet_model.py b/TensorFlow/contrib/cv/EfficientNet/EfficientNet_V2_ID1220_for_TensorFlow/efficientnet_model.py index 569e02c0190f07f2bd76e0b68a315104ac49bbd2..7c91e6d55d576b546f8c75f3fff2b4608503b78e 100644 --- a/TensorFlow/contrib/cv/EfficientNet/EfficientNet_V2_ID1220_for_TensorFlow/efficientnet_model.py +++ b/TensorFlow/contrib/cv/EfficientNet/EfficientNet_V2_ID1220_for_TensorFlow/efficientnet_model.py @@ -367,7 +367,9 @@ class Model(tf.keras.Model): kernel_initializer=dense_kernel_initializer) if self._global_params.dropout_rate > 0: - self._dropout = tf.keras.layers.Dropout(self._global_params.dropout_rate) + from npu_bridge.estimator.npu import npu_convert_dropout + self._dropout = tf.keras.layers.Dropout(self._global_params.dropout_rate) + else: self._dropout = None diff --git a/TensorFlow/contrib/cv/Milking_cowmask_ID0712_for_TensorFlow/architectures/model.py b/TensorFlow/contrib/cv/Milking_cowmask_ID0712_for_TensorFlow/architectures/model.py index 967ddc654bc1f0a4011dd926db2127f9d1d55804..88b3bca38fad3ee372f631cbc750353f22230c7c 100644 --- a/TensorFlow/contrib/cv/Milking_cowmask_ID0712_for_TensorFlow/architectures/model.py +++ b/TensorFlow/contrib/cv/Milking_cowmask_ID0712_for_TensorFlow/architectures/model.py @@ -150,6 +150,7 @@ class Model(): config_proto = tf.ConfigProto() custom_op = config_proto.graph_options.rewrite_options.custom_optimizers.add() custom_op.name = 'NpuOptimizer' + custom_op.parameter_map["enable_data_pre_proc"].b = True # getnext算子下沉是迭代循环下沉的必要条件 custom_op.parameter_map["precision_mode"].s = tf.compat.as_bytes("allow_mix_precision") config = npu_config_proto(config_proto=config_proto) self.sess = tf.Session(config=config) diff --git a/TensorFlow/contrib/cv/StarGAN_v2_ID1188_for_TensorFlow/StarGAN_v2.py b/TensorFlow/contrib/cv/StarGAN_v2_ID1188_for_TensorFlow/StarGAN_v2.py index b42b821e2c5ded37a0cf19c9e8c8fc1fe0e9057f..bb5bb3141cddb04f411a1279bf4cf7c6b1b3c311 100644 --- a/TensorFlow/contrib/cv/StarGAN_v2_ID1188_for_TensorFlow/StarGAN_v2.py +++ b/TensorFlow/contrib/cv/StarGAN_v2_ID1188_for_TensorFlow/StarGAN_v2.py @@ -311,7 +311,7 @@ class StarGAN_v2() : drop_remainder=True)) # .apply(prefetch_to_device(gpu_device, None)) - img_and_label_iterator = img_and_label.make_one_shot_iterator() + img_and_label_iterator = img_and_label.make_initializable_iterator() self.x_real, label_org = img_and_label_iterator.get_next() # [bs, 256, 256, 3], [bs, 1] # label_trg = tf.random_shuffle(label_org) # Target domain labels @@ -441,9 +441,9 @@ class StarGAN_v2() : D_vars = [var for var in t_vars if 'discriminator' in var.name] if self.gpu_num == 1 : - prev_g_optimizer = tf.train.AdamOptimizer(self.lr, beta1=0, beta2=0.99).minimize(self.g_loss, var_list=G_vars) - prev_e_optimizer = tf.train.AdamOptimizer(self.lr, beta1=0, beta2=0.99).minimize(self.g_loss, var_list=E_vars) - prev_f_optimizer = tf.train.AdamOptimizer(self.lr * 0.01, beta1=0, beta2=0.99).minimize(self.g_loss, var_list=F_vars) + self.prev_g_optimizer = prev_g_optimizer = tf.train.AdamOptimizer(self.lr, beta1=0, beta2=0.99).minimize(self.g_loss, var_list=G_vars) + self.prev_e_optimizer = prev_e_optimizer = tf.train.AdamOptimizer(self.lr, beta1=0, beta2=0.99).minimize(self.g_loss, var_list=E_vars) + self.prev_f_optimizer = prev_f_optimizer = tf.train.AdamOptimizer(self.lr * 0.01, beta1=0, beta2=0.99).minimize(self.g_loss, var_list=F_vars) self.d_optimizer = tf.train.AdamOptimizer(self.lr, beta1=0, beta2=0.99).minimize(self.d_loss, var_list=D_vars) @@ -551,6 +551,10 @@ class StarGAN_v2() : # restore check-point if it exits could_load, checkpoint_counter = self.load(self.checkpoint_dir) + train_op_d = util.set_iteration_per_loop(self.sess, self.d_optimizer, 10) + train_op_g = util.set_iteration_per_loop(self.sess, self.prev_g_optimizer, 10) + train_op_e = util.set_iteration_per_loop(self.sess, self.prev_e_optimizer, 10) + train_op_f = util.set_iteration_per_loop(self.sess, self.prev_f_optimizer, 10) if could_load: start_batch_id = checkpoint_counter counter = checkpoint_counter @@ -597,14 +601,14 @@ class StarGAN_v2() : } # Update D - _, d_loss, summary_str = self.sess.run([self.d_optimizer, self.d_loss, self.d_summary_loss], feed_dict = train_feed_dict) + _, d_loss, summary_str = self.sess.run([train_op_d, self.d_loss, self.d_summary_loss], feed_dict = train_feed_dict) self.writer.add_summary(summary_str, counter) # Update G g_loss = None if (counter - 1) % self.n_critic == 0 : real_images, fake_images, _, _, _, g_loss, summary_str = self.sess.run([self.x_real, self.x_fake_list, - self.g_optimizer, self.e_optimizer, self.f_optimizer, + train_op_g, train_op_e, train_op_f, self.g_loss, self.g_summary_loss], feed_dict = train_feed_dict) self.writer.add_summary(summary_str, counter) past_g_loss = g_loss @@ -615,7 +619,8 @@ class StarGAN_v2() : g_loss = past_g_loss time_one_iter = time.time() - start_time - fps = 1.0 * self.batch_size / time_one_iter + + fps = 1.0 *10* self.batch_size / time_one_iter print("iter: [%6d/%6d] time: %4.4f d_loss: %.8f g_loss: %.8f fps %.8f" % (idx, self.iteration, time_one_iter, d_loss, g_loss, fps)) if np.mod(idx+1, self.print_freq) == 0 : diff --git a/TensorFlow/contrib/cv/StarGAN_v2_ID1188_for_TensorFlow/main.py b/TensorFlow/contrib/cv/StarGAN_v2_ID1188_for_TensorFlow/main.py index 71766d837b16771627c601a2597f9e9debdbe7c9..05dd5a8ed70e9a32fefe7eae9fffad57ddb7045e 100644 --- a/TensorFlow/contrib/cv/StarGAN_v2_ID1188_for_TensorFlow/main.py +++ b/TensorFlow/contrib/cv/StarGAN_v2_ID1188_for_TensorFlow/main.py @@ -132,7 +132,9 @@ def main(): custom_op.name = "NpuOptimizer" custom_op.parameter_map["precision_mode"].s = tf.compat.as_bytes("allow_mix_precision") custom_op.parameter_map["use_off_line"].b = True - + custom_op.parameter_map["enable_data_pre_proc"].b = True # getnext算子下沉是迭代循环下沉的必要条件 + custom_op.parameter_map["iterations_per_loop"].i = 10 #此处设置的值和set_iteration_per_loop设置的iterations_per_loop值保持一致,用于判断是否进行训练迭代下沉 + # dump data # custom_op.parameter_map["enable_dump"].b = True diff --git a/TensorFlow/contrib/cv/StarGAN_v2_ID1188_for_TensorFlow/test/train_performance_1p.sh b/TensorFlow/contrib/cv/StarGAN_v2_ID1188_for_TensorFlow/test/train_performance_1p.sh index 2ada4a0e0014283796c4a9a2826c623a164774e7..d8fbaad31fec3624fa1c355bae831d4ecbb6c779 100644 --- a/TensorFlow/contrib/cv/StarGAN_v2_ID1188_for_TensorFlow/test/train_performance_1p.sh +++ b/TensorFlow/contrib/cv/StarGAN_v2_ID1188_for_TensorFlow/test/train_performance_1p.sh @@ -20,7 +20,7 @@ Network="StarGAN_v2_ID1188_for_TensorFlow" # 训练的batch_size batch_size=4 # 控制训练时长的参数,视各模型修改---少量epoch -epochs=4 +epochs=40 # case名称 少量epoch-train_performance_1p.sh传入perf,全量-train_full_1p.sh传入acc # file_name as your file name diff --git a/TensorFlow/contrib/cv/comparegan/COMPARE_GAN_ID2103_for_TensorFlow/compare_gan/main.py b/TensorFlow/contrib/cv/comparegan/COMPARE_GAN_ID2103_for_TensorFlow/compare_gan/main.py index 14d4de687e99c4aebca1abfd7e4fcc8badc867c9..659e88c948fef94ea4ad6392e17bb3a7b72d0f0e 100644 --- a/TensorFlow/contrib/cv/comparegan/COMPARE_GAN_ID2103_for_TensorFlow/compare_gan/main.py +++ b/TensorFlow/contrib/cv/comparegan/COMPARE_GAN_ID2103_for_TensorFlow/compare_gan/main.py @@ -106,7 +106,9 @@ def _get_run_config(tf_random_seed=None, tf_random_seed=tf_random_seed, save_checkpoints_steps=save_checkpoints_steps, keep_checkpoint_max=keep_checkpoint_max, - session_config=config) + session_config=config, + precision_mode="allow_mix_precision", + modify_mixlist="./ops_info.json") diff --git a/TensorFlow/contrib/cv/comparegan/COMPARE_GAN_ID2103_for_TensorFlow/compare_gan/ops_info.json b/TensorFlow/contrib/cv/comparegan/COMPARE_GAN_ID2103_for_TensorFlow/compare_gan/ops_info.json new file mode 100644 index 0000000000000000000000000000000000000000..90e8864710999447d4190f649fc6b31bdd65e6f7 --- /dev/null +++ b/TensorFlow/contrib/cv/comparegan/COMPARE_GAN_ID2103_for_TensorFlow/compare_gan/ops_info.json @@ -0,0 +1,5 @@ +{ + "black-list": { + "to-add": ["ReduceSumD"] + } +} \ No newline at end of file