Esempio n. 1
0
    print(">> LOAD VALID DATASET FORM:", valid_annotation_json_filepath)
    dataloader_valid = DataLoader(
        images_dir_path=valid_images_dir_path,
        annotation_json_path=valid_annotation_json_filepath,
        config_training=config_training,
        config_model=config_model,
        config_preproc=config_preproc)

    number_of_keypoints = dataloader_train.number_of_keypoints  # 17

    # train dataset
    dataset_train = dataloader_train.input_fn()
    dataset_valid = dataloader_valid.input_fn()

    # validation images
    val_images, val_heatmaps = dataloader_valid.get_images(
        0, batch_size=25)  # from 22 index 6 images and 6 labels

    # ================================================
    # =============== build model ====================
    # ================================================
    from model_provider import get_model
    model = get_model(model_name=model_name,
                      model_subname=model_subname,
                      number_of_keypoints=number_of_keypoints,
                      config_extra=config_extra)

    loss_object = tf.keras.losses.MeanSquaredError()
    optimizer = tf.keras.optimizers.Adam(
        config_training["learning_rate"], epsilon=config_training["epsilon"])
    train_loss = tf.keras.metrics.Mean(name="train_loss")
    valid_loss = tf.keras.metrics.Mean(name="valid_loss")
            config_model=config_model,
            config_preproc=config_preproc)

    number_of_keypoints = dataloader_train.number_of_keypoints  # 17

    # train dataset
    dataset_train = dataloader_train.input_fn()
    dataset_valid = dataloader_valid.input_fn(
    ) if dataloader_valid is not None else None

    #dataset_train = strategy.experimental_distribute_dataset(dataset_train)
    #dataset_valid = strategy.experimental_distribute_dataset(dataset_valid)

    # validation images
    val_images, val_heatmaps = dataloader_valid.get_images(
        0, batch_size=25
    ) if dataloader_valid is not None else None, None  # from 22 index 6 images and 6 labels

    # ================================================
    # =============== build model ====================
    # ================================================
    from model_provider import get_model
    if strategy is not None:
        with strategy.scope():
            model = get_model(model_name=model_name,
                              model_subname=model_subname,
                              number_of_keypoints=number_of_keypoints,
                              config_extra=config_extra,
                              backbone_name=model_backbone_name)
    else:
        model = get_model(model_name=model_name,