# モデルをコンパイル
    #================================
    with mirrored_strategy.scope():
        model_G.compile(loss=loss_mse, optimizer=optimizer_G, metrics=['mae'])

    if (args.debug):
        model_G.summary()

    #================================
    # モデルの読み込み
    #================================
    if (args.load_checkpoints_path):
        # モデルを定義したあと読み込む場合は load_weights() を使用
        # モデルを定義せずに読み込む場合は keras.models.load_model() を使用
        #model_G = keras.models.load_model(args.load_checkpoints_path)
        model_G.load_weights(args.load_checkpoints_path)
        print("load checkpoints in `{}`.".format(args.load_checkpoints_path))
        init_epoch = 0
    else:
        init_epoch = 0

    #================================
    # call backs の設定
    #================================
    # 各エポック終了毎のモデルのチェックポイント保存用 call back
    callback_checkpoint = tf.keras.callbacks.ModelCheckpoint(
        filepath=os.path.join(args.save_checkpoints_dir, args.exper_name,
                              "step_{epoch:05d}.hdf5"),
        monitor='loss',
        verbose=2,
        save_weights_only=True,  # 
    # モデルの構造を定義する。
    #================================
    model_G = TempleteNetworks(out_dim=3)
    if (args.debug):
        model_G(
            tf.zeros([args.batch_size, args.image_height, args.image_width, 3],
                     dtype=tf.float32)
        )  # 動的作成されるネットワークなので、一度ネットワークに入力データを供給しないと summary() を出力できない
        model_G.summary()

    #================================
    # モデルの読み込み
    #================================
    if (args.load_checkpoints_dir):
        ckpt_state = tf.train.get_checkpoint_state(args.load_checkpoints_dir)
        model_G.load_weights(ckpt_state.model_checkpoint_path)
        print("load checkpoints in `{}`.".format(
            ckpt_state.model_checkpoint_path))
        init_epoch = int(ckpt_state.model_checkpoint_path.split("-")[-1])
        step = init_epoch  # @
        iters = step * args.batch_size  # @
    else:
        init_epoch = 0
        step = 0
        iters = 0

    #================================
    # optimizer の設定
    #================================
    optimizer_G = tf.keras.optimizers.Adam(learning_rate=args.lr,
                                           beta_1=args.beta1,