Skip to content

Check for use of global random state in metafeatures primitive #76

@bjschoenfeld

Description

@bjschoenfeld
WARNING:d3m.utils:Using global/shared random source using 'numpy.random.normal' can make execution not reproducible.
Stack (most recent call last):
  File "submission/pipelines/generate_pipelines.py", line 880, in <module>
    main()
  File "submission/pipelines/generate_pipelines.py", line 863, in main
    pipeline_run_name
  File "./submission/pipelines/run_pipeline.py", line 185, in run_and_save_pipeline_for_submission
    should_output_scores
  File "./submission/pipelines/run_pipeline.py", line 67, in run_pipeline
    cli.main(run_args)
  File "/src/d3m/d3m/cli.py", line 1172, in main
    handler(arguments, parser)
  File "/src/d3m/d3m/cli.py", line 1057, in handler
    problem_resolver=problem_resolver,
  File "/src/d3m/d3m/cli.py", line 539, in runtime_handler
    problem_resolver=problem_resolver,
  File "/src/d3m/d3m/runtime.py", line 2534, in fit_score_handler
    runtime_environment=runtime_environment,
  File "/src/d3m/d3m/runtime.py", line 1323, in fit
    result = runtime.fit(inputs, return_values=return_values)
  File "/src/d3m/d3m/runtime.py", line 1132, in fit
    return self._run(inputs, metadata_base.PipelineRunPhase.FIT, return_values)
  File "/src/d3m/d3m/runtime.py", line 1039, in _run
    self._do_run()
  File "/src/d3m/d3m/runtime.py", line 1025, in _do_run
    self._do_run_step(step)
  File "/src/d3m/d3m/runtime.py", line 1008, in _do_run_step
    self._run_step(step)
  File "/src/d3m/d3m/runtime.py", line 998, in _run_step
    self._run_primitive(step)
  File "/src/d3m/d3m/runtime.py", line 873, in _run_primitive
    multi_call_result = self._call_primitive_method(primitive.fit_multi_produce, fit_multi_produce_arguments)
  File "/src/d3m/d3m/runtime.py", line 970, in _call_primitive_method
    result = method(**arguments)
  File "/src/d3m/d3m/primitive_interfaces/transformer.py", line 71, in fit_multi_produce
    return self._fit_multi_produce(produce_methods=produce_methods, timeout=timeout, iterations=iterations, inputs=inputs)
  File "/src/d3m/d3m/primitive_interfaces/base.py", line 568, in _fit_multi_produce
    produce_results = self._multi_produce(produce_methods=produce_methods, timeout=timeout, iterations=iterations, **kwargs)
  File "/src/d3m/d3m/primitive_interfaces/base.py", line 465, in _multi_produce
    results.append(getattr(self, method_name)(timeout=timeout, iterations=iterations, **arguments))
  File "/usr/local/lib/python3.6/dist-packages/byudml/metafeature_extraction/metafeature_extraction.py", line 217, in produce
    metadata = self._produce(inputs.metadata, copy.copy(inputs))
  File "/usr/local/lib/python3.6/dist-packages/byudml/metafeature_extraction/metafeature_extraction.py", line 262, in _produce
    metafeatures = Metafeatures().compute(data, target_series, column_types=column_types, metafeature_ids=metalearn_metafeatures_to_compute, seed=self.random_seed)
  File "/usr/local/lib/python3.6/dist-packages/metalearn/metafeatures/metafeatures.py", line 198, in compute
    value, compute_time = self._get_resource(mf_id)
  File "/usr/local/lib/python3.6/dist-packages/metalearn/metafeatures/metafeatures.py", line 444, in _get_resource
    computed_resources = resource_computer(**args)
  File "/usr/local/lib/python3.6/dist-packages/metalearn/metafeatures/base.py", line 48, in __call__
    return self.computer(*args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/metalearn/metafeatures/statistical_metafeatures.py", line 118, in get_pca
    pca_data.fit_transform(X_preprocessed.values)
  File "/usr/local/lib/python3.6/dist-packages/sklearn/decomposition/_pca.py", line 369, in fit_transform
    U, S, V = self._fit(X)
  File "/usr/local/lib/python3.6/dist-packages/sklearn/decomposition/_pca.py", line 418, in _fit
    return self._fit_truncated(X, n_components, self._fit_svd_solver)
  File "/usr/local/lib/python3.6/dist-packages/sklearn/decomposition/_pca.py", line 535, in _fit_truncated
    random_state=random_state)
  File "/usr/local/lib/python3.6/dist-packages/sklearn/utils/extmath.py", line 348, in randomized_svd
    power_iteration_normalizer, random_state)
  File "/usr/local/lib/python3.6/dist-packages/sklearn/utils/extmath.py", line 213, in randomized_range_finder
    Q = random_state.normal(size=(A.shape[1], size))
  File "/src/d3m/d3m/utils.py", line 1137, in wrapper
    stack_info=True,
  File "/src/d3m/d3m/utils.py", line 1593, in log_once
    logger.log(level, msg, *args, **kwargs)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions