Пример #1
0
    def test_update_new_result_existing_dataset(self):
        new_result = metadata_eval_result(
            model_pretty_name="RoBERTa fine-tuned on ReactionGIF",
            task_pretty_name="Text Classification",
            task_id="text-classification",
            metrics_pretty_name="Recall",
            metrics_id="recall",
            metrics_value=0.7762102282047272,
            dataset_pretty_name="ReactionGIF",
            dataset_id="julien-c/reactiongif",
        )

        metadata_update(f"{USER}/{self.REPO_NAME}",
                        new_result,
                        token=self._token,
                        overwrite=False)

        expected_metadata = copy.deepcopy(self.existing_metadata)
        expected_metadata["model-index"][0]["results"][0]["metrics"].append(
            new_result["model-index"][0]["results"][0]["metrics"][0])

        self.repo.git_pull()
        updated_metadata = metadata_load(self.repo_path / self.REPO_NAME /
                                         "README.md")
        self.assertDictEqual(updated_metadata, expected_metadata)
Пример #2
0
    def test_update_dataset_name(self):
        new_datasets_data = {"datasets": "['test/test_dataset']"}
        metadata_update(f"{USER}/{self.REPO_NAME}",
                        new_datasets_data,
                        token=self._token)

        self.repo.git_pull()
        updated_metadata = metadata_load(self.repo_path / self.REPO_NAME /
                                         "README.md")
        expected_metadata = copy.deepcopy(self.existing_metadata)
        expected_metadata.update(new_datasets_data)
        self.assertDictEqual(updated_metadata, expected_metadata)
Пример #3
0
    def test_update_existing_result_with_overwrite(self):
        new_metadata = copy.deepcopy(self.existing_metadata)
        new_metadata["model-index"][0]["results"][0]["metrics"][0][
            "value"] = 0.2862102282047272
        metadata_update(f"{USER}/{self.REPO_NAME}",
                        new_metadata,
                        token=self._token,
                        overwrite=True)

        self.repo.git_pull()
        updated_metadata = metadata_load(self.repo_path / self.REPO_NAME /
                                         "README.md")
        self.assertDictEqual(updated_metadata, new_metadata)
Пример #4
0
    def test_update_existing_result_without_overwrite(self):
        new_metadata = copy.deepcopy(self.existing_metadata)
        new_metadata["model-index"][0]["results"][0]["metrics"][0][
            "value"] = 0.2862102282047272

        with pytest.raises(
                ValueError,
                match=
            ("You passed a new value for the existing metric 'name: Accuracy, type:"
             " accuracy'. Set `overwrite=True` to overwrite existing metrics."
             ),
        ):
            metadata_update(
                f"{USER}/{self.REPO_NAME}",
                new_metadata,
                token=self._token,
                overwrite=False,
            )
Пример #5
0
    def test_update_existing_field_without_overwrite(self):
        new_datasets_data = {"datasets": "['test/test_dataset']"}
        metadata_update(f"{USER}/{self.REPO_NAME}",
                        new_datasets_data,
                        token=self._token)

        with pytest.raises(
                ValueError,
                match=
            ("You passed a new value for the existing meta data field 'datasets'."
             " Set `overwrite=True` to overwrite existing metadata."),
        ):
            new_datasets_data = {"datasets": "['test/test_dataset_2']"}
            metadata_update(
                f"{USER}/{self.REPO_NAME}",
                new_datasets_data,
                token=self._token,
                overwrite=False,
            )