if __name__ == "__main__":
    args = parse_arg()

    logger = Utils.init_logger(args.task_name)

    model_dir = './.models'
    child_dir = f'{args.project_name}_{args.task_name}'
    working_dir = Path(__file__).parent.resolve()

    logger.info('実験設定')
    cm = ConfigManager()
    # configの保存先ディレクトリは,推論側の都合上固定している.
    config_path_wo_datetime = \
        working_dir.joinpath('config_outputs', args.config_name)
    cm.create_config(config_path_wo_datetime)
    config_path = cm.dst_path
    s3_dst_info = {
        's3_config': {
            'aws_profile': args.profile,
            'bucket_name': args.output_s3bucket,
            'path_s3_dst': child_dir
        }
    }
    cm.add_info(config_path, s3_dst_info)

    logger.info('学習データのロード')
    train_df = load_train_data(args.input_path)

    logger.info('前処理・特徴量エンジニアリング')
    pp = PreProcessor(config_path=config_path, mode='train', label='Survived')