googleapis / python-aiplatform

A Python SDK for Vertex AI, a fully managed, end-to-end platform for data science and machine learning.
Apache License 2.0
615 stars 327 forks source link

tests.unit.vertexai.test_tabnet_trainer.TestTabNetTrainer: test_tabnet_trainer_default failed #2764

Closed flaky-bot[bot] closed 11 months ago

flaky-bot[bot] commented 11 months ago

This test failed!

To configure my behavior, see the Flaky Bot documentation.

If I'm commenting on this issue too often, add the flakybot: quiet label and I will stop commenting.


commit: 8db915636bb7c7cb6a258a60c07b1b68275f3094 buildURL: Build Status, Sponge status: failed

Test output
self = 
mock_create_custom_job = 
mock_blob_download_to_filename = 
mock_tf_saved_model_load = 

    @pytest.mark.usefixtures(
        "google_auth_mock",
        "mock_uuid",
        "mock_get_custom_job_succeeded",
        "mock_blob_upload_from_filename",
    )
    def test_tabnet_trainer_default(
        self,
        mock_create_custom_job,
        mock_blob_download_to_filename,
        mock_tf_saved_model_load,
    ):
        test_tabnet_trainer = tabnet_trainer.TabNetTrainer(
            model_type=_TEST_MODEL_TYPE_CLASSIFICATION,
            target_column=_TEST_TARGET_COLUMN,
            learning_rate=_TEST_LEARNING_RATE,
        )
        test_tabnet_trainer.fit.vertex.remote_config.staging_bucket = (
            _TEST_STAGING_BUCKET
        )
        expected_binding = {
            "model_type": _TEST_MODEL_TYPE_CLASSIFICATION,
            "target_column": _TEST_TARGET_COLUMN,
            "learning_rate": _TEST_LEARNING_RATE,
            "enable_profiler": False,
            "job_dir": "",
            "cache_data": "auto",
            "seed": 1,
            "large_category_dim": 1,
            "large_category_thresh": 300,
            "yeo_johnson_transform": False,
            "weight_column": "",
            "max_steps": -1,
            "max_train_secs": -1,
            "measurement_selection_type": "BEST_MEASUREMENT",
            "optimization_metric": "",
            "eval_steps": 0,
            "batch_size": 100,
            "eval_frequency_secs": 600,
            "feature_dim": 64,
            "feature_dim_ratio": 0.5,
            "num_decision_steps": 6,
            "relaxation_factor": 1.5,
            "decay_every": 100.0,
            "decay_rate": 0.95,
            "gradient_thresh": 2000.0,
            "sparsity_loss_weight": 0.00001,
            "batch_momentum": 0.95,
            "batch_size_ratio": 0.25,
            "num_transformer_layers": 4,
            "num_transformer_layers_ratio": 0.25,
            "class_weight": 1.0,
            "loss_function_type": "default",
            "alpha_focal_loss": 0.25,
            "gamma_focal_loss": 2.0,
            "is_remote_trainer": True,
        }
        assert test_tabnet_trainer._binding == expected_binding

        aiplatform.init(
            project=_TEST_PROJECT,
            location=_TEST_LOCATION,
        )
>       test_tabnet_trainer.fit(training_data=_TEST_DATA, validation_data=_TEST_DATA)

tests/unit/vertexai/test_tabnet_trainer.py:123: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
vertexai/preview/_workflow/driver/__init__.py:113: in __call__
    return _workflow_driver.invoke(invokable)
vertexai/preview/_workflow/driver/__init__.py:251: in invoke
    result = self._launch(invokable, rewrapper)
vertexai/preview/_workflow/driver/__init__.py:269: in _launch
    return self._launcher.launch(
vertexai/preview/_workflow/launcher/__init__.py:32: in launch
    result = self._remote_launch(invokable, rewrapper)
vertexai/preview/_workflow/launcher/__init__.py:43: in _remote_launch
    result = executor._workflow_executor.remote_execute(
vertexai/preview/_workflow/executor/__init__.py:49: in remote_execute
    invokable.remote_executor(invokable)
vertexai/preview/_workflow/executor/remote_container_training.py:161: in train
    formatted_args[data.argument_name] = data.format_arg(input_dir, binding)
vertexai/preview/developer/remote_specs.py:273: in format_arg
    data_serializer.serialize(
vertexai/preview/_workflow/serialization_engine/serializers.py:980: in serialize
    with tempfile.NamedTemporaryFile() as temp_file:
/usr/local/lib/python3.9/tempfile.py:547: in NamedTemporaryFile
    file = _io.open(fd, mode, buffering=buffering,
.nox/unit-3-9/lib/python3.9/site-packages/pyfakefs/fake_io.py:117: in open
    return fake_open(
.nox/unit-3-9/lib/python3.9/site-packages/pyfakefs/fake_open.py:97: in __call__
    return self.call(*args, **kwargs)
.nox/unit-3-9/lib/python3.9/site-packages/pyfakefs/fake_open.py:160: in call
    file_object, file_path, filedes, real_path = self._handle_file_arg(file_)
.nox/unit-3-9/lib/python3.9/site-packages/pyfakefs/fake_open.py:312: in _handle_file_arg
    wrapper = self.filesystem.get_open_file(filedes)
.nox/unit-3-9/lib/python3.9/site-packages/pyfakefs/fake_filesystem.py:867: in get_open_file
    self.raise_os_error(errno.EBADF, str(file_des))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
err_no = 9, filename = '24', winerror = None

    def raise_os_error(
        self,
        err_no: int,
        filename: Optional[AnyString] = None,
        winerror: Optional[int] = None,
    ) -> NoReturn:
        """Raises OSError.
        The error message is constructed from the given error code and shall
        start with the error string issued in the real system.
        Note: this is not true under Windows if winerror is given - in this
        case a localized message specific to winerror will be shown in the
        real file system.

        Args:
            err_no: A numeric error code from the C variable errno.
            filename: The name of the affected file, if any.
            winerror: Windows only - the specific Windows error code.
        """
        message = os.strerror(err_no) + " in the fake filesystem"
        if winerror is not None and sys.platform == "win32" and self.is_windows_fs:
            raise OSError(err_no, message, filename, winerror)
>       raise OSError(err_no, message, filename)
E       OSError: [Errno 9] Bad file descriptor in the fake filesystem: '24'

.nox/unit-3-9/lib/python3.9/site-packages/pyfakefs/fake_filesystem.py:428: OSError
flaky-bot[bot] commented 11 months ago

Closing as a duplicate of #2758

flaky-bot[bot] commented 11 months ago

Closing as a duplicate of #2758

flaky-bot[bot] commented 11 months ago

Closing as a duplicate of #2758

flaky-bot[bot] commented 11 months ago

Closing as a duplicate of #2758