def test_推論時にget_datasetで辞書型にXが想定サンプル分ndarrayがあればTrue(self, do):
        from preprocessing import PreProcessor
        pp = PreProcessor(do.valid_config_path, mode='pred')
        dummy_df = do.dummy_valid_df
        dataset = pp.get_dataset(dummy_df)

        print('\n', dataset)

        errmsg = '特徴量Xのサンプル数が入力データのサンプル数と一致しない'
        assert dataset['X'].shape[0] == dummy_df.values.shape[0], errmsg
Пример #2
0
    def do_inference(cls, request_body):
        """与えられたdictを取り出して,
        apps内の各種MLパイプランに乗せて,最終推論結果を返す
        
        Parameters
        ----------
        request_body : dict
            リクエストbody
        
        Returns
        -------
        dict
            レスポンスbody
        """
        label = 'Survived'

        from utils import Utils
        logger = Utils.init_logger('predicton_sample')

        logger.info('前処理・特徴量エンジニアリング')
        from preprocessing import PreProcessor
        pred_df = pd.DataFrame(request_body)
        pp = PreProcessor(config_path=cls.config_path,
                          mode='pred',
                          label=label)
        pred_dataset = pp.get_dataset(pred_df)

        logger.info('推論')
        cls.load_models()
        from model import Model
        m = Model(config_path=cls.config_path, mode='pred')
        result = m.predict(pred_dataset)

        response_body = {label: result['y']}

        return response_body
Пример #3
0
    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')
    train_dataset = pp.get_dataset(train_df)
    pp.save_transformers(child_dir=child_dir,
                         transformers_name='sample_transformers.pkl.cmp')

    logger.info('学習')
    m = Model(config_path=config_path, mode='train')
    m.init_model()
    m.train_with_cv(train_dataset)
    m.save_model(dst_dir=model_dir,
                 child_dir=child_dir,
                 model_name='sample_model.pkl.cmp')

    logger.info('推論時に利用する各種ファイルをS3にUpload')
    # S3のUpload対象にconfigと学習データも含めたいとき,以下の処理を行う
    # 1. configと学習データの情報を更新
    newinfo = {