internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: deepchecks/deepchecks

Issue:
[BUG] [CV] Simple model comparison strategy is unknown
**Describe the bug**
When running the simple model comparison check, it is unclear what is the strategy of the simple model. Should be added to the display.

**Screenshots**
![image](https://user-images.githubusercontent.com/20860465/161489398-8080a0a9-7ae0-4623-8f52-1f5dbb87737e.png)

**Environment (please complete the following information):**
 - OS: Kaggle
 - Python Version: Kaggle kernel
 - Deepchecks Version: 0.6.0

**Additional context**
Add any other context about the problem here.



Discussion:

Resolving patch:
diff --git a/deepchecks/vision/checks/performance/class_performance.py b/deepchecks/vision/checks/performance/class_performance.py
--- a/deepchecks/vision/checks/performance/class_performance.py
+++ b/deepchecks/vision/checks/performance/class_performance.py
@@ -133,12 +133,13 @@ def compute(self, context: Context) -> CheckResult:
             barmode='group',
             facet_col='Metric',
             facet_col_spacing=0.05,
-            hover_data=['Number of samples']
+            hover_data=['Number of samples'],
+
         )
 
         fig = (
-            fig.update_xaxes(title=None, type='category')
-               .update_yaxes(title=None, matches=None)
+            fig.update_xaxes(title='Class', type='category')
+               .update_yaxes(title='Value', matches=None)
                .for_each_annotation(lambda a: a.update(text=a.text.split('=')[-1]))
                .for_each_yaxis(lambda yaxis: yaxis.update(showticklabels=True))
         )
diff --git a/deepchecks/vision/checks/performance/simple_model_comparison.py b/deepchecks/vision/checks/performance/simple_model_comparison.py
--- a/deepchecks/vision/checks/performance/simple_model_comparison.py
+++ b/deepchecks/vision/checks/performance/simple_model_comparison.py
@@ -182,7 +182,8 @@ def compute(self, context: Context) -> CheckResult:
             barmode='group',
             facet_col='Metric',
             facet_col_spacing=0.05,
-            hover_data=['Number of samples']
+            hover_data=['Number of samples'],
+            title=f'Simple Model (Strategy: {self.strategy}) vs. Given Model',
         )
 
         fig = (
diff --git a/deepchecks/vision/suites/default_suites.py b/deepchecks/vision/suites/default_suites.py
--- a/deepchecks/vision/suites/default_suites.py
+++ b/deepchecks/vision/suites/default_suites.py
@@ -44,7 +44,7 @@ def model_evaluation(**kwargs) -> Suite:
         ClassPerformance(**kwargs).add_condition_train_test_relative_degradation_not_greater_than(),
         MeanAveragePrecisionReport(**kwargs).add_condition_test_mean_average_precision_not_less_than(),
         MeanAverageRecallReport(**kwargs),
-        SimpleModelComparison(**kwargs),
+        SimpleModelComparison(**kwargs).add_condition_gain_not_less_than(),
         ConfusionMatrixReport(**kwargs),
         ImageSegmentPerformance(**kwargs).add_condition_score_from_mean_ratio_not_less_than(),
         ModelErrorAnalysis(**kwargs)


Test patch:
Repository: deepchecks/deepchecks

Issue:
[BUG] Tables have no style rendered on `check_result.save_as_html()`
The tables are not looking good when exporting single check as html

![image](https://user-images.githubusercontent.com/9868530/163822864-4e57c922-55e6-4088-a388-a3d9397d4649.png)

```
from deepchecks.tabular.datasets.regression import avocado
from deepchecks.tabular.checks import TrainTestFeatureDrift

train, test = avocado.load_data(as_train_test=True)
result = TrainTestFeatureDrift().add_condition_drift_score_not_greater_than().run(train, test)
result.save_as_html()
```


Discussion:

Resolving patch:
diff --git a/deepchecks/core/check_result.py b/deepchecks/core/check_result.py
--- a/deepchecks/core/check_result.py
+++ b/deepchecks/core/check_result.py
@@ -130,6 +130,7 @@ def display_check(self, unique_id: str = None, as_widget: bool = False,
         """
         if as_widget:
             box = widgets.VBox()
+            box.add_class('rendered_html')
             box_children = []
         check_html = ''
         if unique_id:


Test patch:
Repository: deepchecks/deepchecks

Issue:
[FEAT] Support sklearn 0.23.2
Currently we only support sklearn versions >= 1.0. We need to try to support the 0.23.2 as it is widely used by many environments and frameworks.


Discussion:
not 100% if it is solvable for all use cases as 0.23 is missing important parameters for some sklearn functions.
it affects only a small amount of checks too, mainly some drift scenarios 

Resolving patch:
diff --git a/deepchecks/core/check_utils/whole_dataset_drift_utils.py b/deepchecks/core/check_utils/whole_dataset_drift_utils.py
--- a/deepchecks/core/check_utils/whole_dataset_drift_utils.py
+++ b/deepchecks/core/check_utils/whole_dataset_drift_utils.py
@@ -132,10 +132,11 @@ def generate_model(numerical_columns: List[Hashable], categorical_columns: List[
 
     return Pipeline(
         steps=[('preprocessing', preprocessor),
-               ('model', HistGradientBoostingClassifier(
-                   max_depth=2, max_iter=10, random_state=random_state,
-                   categorical_features=[False] * len(numerical_columns) + [True] * len(categorical_columns)
-               ))])
+               ('model', run_available_kwargs(HistGradientBoostingClassifier,
+                                              max_depth=2, max_iter=10, random_state=random_state,
+                                              categorical_features=[False] * len(numerical_columns)
+                                              + [True] * len(categorical_columns)
+                                              ))])
 
 
 def auc_to_drift_score(auc: float) -> float:


Test patch:
Repository: deepchecks/deepchecks

Issue:
[BUG] [CV] missing .detach() before using .numpy()
**Describe the bug**
performance check are failing because of missing detach

**To Reproduce**
Run performance check with a model that does something with a gradient on the tensor in some layer 

**Expected behavior**
checks not failing



Discussion:

Resolving patch:
diff --git a/deepchecks/vision/checks/performance/confusion_matrix.py b/deepchecks/vision/checks/performance/confusion_matrix.py
--- a/deepchecks/vision/checks/performance/confusion_matrix.py
+++ b/deepchecks/vision/checks/performance/confusion_matrix.py
@@ -181,7 +181,8 @@ def update_object_detection(self, predictions, labels):
                 continue
 
             list_of_ious = (
-                (label_index, detected_index, jaccard_iou(detected.cpu().numpy(), label.cpu().numpy()))
+                (label_index, detected_index, jaccard_iou(detected.cpu().detach().numpy(),
+                                                          label.cpu().detach().numpy()))
                 for label_index, label in enumerate(image_labels)
                 for detected_index, detected in enumerate(detections_passed_threshold)
             )
diff --git a/deepchecks/vision/metrics_utils/iou_utils.py b/deepchecks/vision/metrics_utils/iou_utils.py
--- a/deepchecks/vision/metrics_utils/iou_utils.py
+++ b/deepchecks/vision/metrics_utils/iou_utils.py
@@ -65,10 +65,10 @@ def group_class_detection_label(detected, ground_truth):
 
     for single_detection in detected:
         class_id = untorchify(single_detection[5])
-        class_bounding_boxes[class_id]["detected"].append(single_detection.cpu().numpy())
+        class_bounding_boxes[class_id]["detected"].append(single_detection.cpu().detach().numpy())
     for single_ground_truth in ground_truth:
         class_id = untorchify(single_ground_truth[0])
-        class_bounding_boxes[class_id]["ground_truth"].append(single_ground_truth.cpu().numpy())
+        class_bounding_boxes[class_id]["ground_truth"].append(single_ground_truth.cpu().detach().numpy())
 
     return class_bounding_boxes
 


Test patch:
Repository: deepchecks/deepchecks

Issue:
Upgrade gpu torch vision
#### Reference Issues/PRs

Example: Fixes #1234. See also #3456.
Please use keywords (e.g., Fixes) to create link to the issues or pull requests
you resolved, so that they will automatically be closed when your pull request
is merged. See https://github.com/blog/1506-closing-issues-via-pull-requests


#### What does this implement/fix? Explain your changes.


#### Any other comments?



---
Thanks for contributing a pull request! Please ensure you have taken a look at
the contribution guidelines: https://github.com/deepchecks/deepchecks/blob/main/CONTRIBUTING.rst



Discussion:

Resolving patch:
diff --git a/docs/source/conf.py b/docs/source/conf.py
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -86,6 +86,8 @@
 ]
 
 redirects = {
+    "index": "getting-started/get-started.html",
+    "getting-started/index": "get-started.html",
     "examples/guides/quickstart_in_5_minutes": "../../user-guide/tabular/auto_tutorials/plot_quickstart_in_5_minutes.html",
     "user-guide/key_concepts": "../user-guide/general/deepchecks_hierarchy.html",
     "user-guide/when_should_you_use": "../getting-started/when_should_you_use.html",
diff --git a/docs/source/user-guide/general/exporting_results/plot_exports_output_to_wandb.py b/docs/source/user-guide/general/exporting_results/plot_exports_output_to_wandb.py
--- a/docs/source/user-guide/general/exporting_results/plot_exports_output_to_wandb.py
+++ b/docs/source/user-guide/general/exporting_results/plot_exports_output_to_wandb.py
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 """
-Export Outputs to Weights & Biases (wandb)
-******************************************
+Weights & Biases (wandb)
+************************
 
 In this guide, we will demonstrate how to export the Check's and the Suite's output to wandb.
 


Test patch:
Repository: deepchecks/deepchecks

Issue:
[BUG] "Nothing found" shouldn't be displayed
**Describe the bug**
![image](https://user-images.githubusercontent.com/33841818/168883937-664b3ef4-907a-4569-a182-ecba36054203.png)
https://docs.deepchecks.com/dev/user-guide/tabular/auto_tutorials/plot_quickstart_in_5_minutes.html#ConflictingLabels-TestDataset_GJLQM5K8P4Q0B8IC8BBI4WIRE

And the "Nothing Found" checks shouldn't have a link from the table.


Discussion:

Resolving patch:
diff --git a/deepchecks/core/serialization/common.py b/deepchecks/core/serialization/common.py
--- a/deepchecks/core/serialization/common.py
+++ b/deepchecks/core/serialization/common.py
@@ -145,7 +145,8 @@ def aggregate_conditions(
             icon = cond_result.get_icon() if include_icon else cond_result.category.value
             check_header = check_result.get_header()
 
-            if output_id:
+            # If there is no display we won't generate a section to link to
+            if output_id and check_result.display:
                 link = f'<a href=#{check_result.get_check_id(output_id)}>{check_header}</a>'
             else:
                 link = check_header
diff --git a/deepchecks/core/serialization/suite_result/widget.py b/deepchecks/core/serialization/suite_result/widget.py
--- a/deepchecks/core/serialization/suite_result/widget.py
+++ b/deepchecks/core/serialization/suite_result/widget.py
@@ -178,7 +178,7 @@ def prepare_results_with_condition_and_display(
         """
         results = t.cast(
             t.List[check_types.CheckResult],
-            self.value.select_results(self.value.results_with_conditions)
+            self.value.select_results(self.value.results_with_conditions & self.value.results_with_display)
         )
         results_with_condition_and_display = [
             CheckResultWidgetSerializer(it).serialize(


Test patch:
Repository: deepchecks/deepchecks

Issue:
[BUG] Add copy button to code snippets
We used to have this:
![image](https://user-images.githubusercontent.com/33841818/168883725-41ce6768-925f-4d62-8de7-b1e77502d685.png)

For all code snippets (currently both in sphinx-gallery files. Doesn't appear anymore.


Discussion:

Resolving patch:
diff --git a/docs/source/user-guide/tabular/tutorials/plot_quick_data_integrity.py b/docs/source/user-guide/tabular/tutorials/plot_quick_data_integrity.py
--- a/docs/source/user-guide/tabular/tutorials/plot_quick_data_integrity.py
+++ b/docs/source/user-guide/tabular/tutorials/plot_quick_data_integrity.py
@@ -143,7 +143,7 @@ def add_dirty_data(df):
 
 #%%
 # Now we can re-run the suite using:
-integ_suite.run(ds)
+res = integ_suite.run(ds)
 
 #%%
 # and all of the conditions will pass.


Test patch:
Repository: deepchecks/deepchecks

Issue:
[FEAT] [CV] add a warning if user haven't specified device and a cuda device is available 
**Is your feature request related to a problem? Please describe.**
I usually forget I need to specify the device to run on and then the checks are using cpu on default

**Describe the solution you'd like**
add a warning if user haven't specified device and a cuda device is available 




Discussion:

Resolving patch:
diff --git a/deepchecks/vision/base_checks.py b/deepchecks/vision/base_checks.py
--- a/deepchecks/vision/base_checks.py
+++ b/deepchecks/vision/base_checks.py
@@ -42,7 +42,7 @@ def run(
         self,
         dataset: VisionData,
         model: Optional[nn.Module] = None,
-        device: Union[str, torch.device, None] = 'cpu',
+        device: Union[str, torch.device, None] = None,
         random_state: int = 42,
         n_samples: Optional[int] = 10_000
     ) -> CheckResult:
@@ -110,7 +110,7 @@ def run(
         train_dataset: VisionData,
         test_dataset: VisionData,
         model: Optional[nn.Module] = None,
-        device: Union[str, torch.device, None] = 'cpu',
+        device: Union[str, torch.device, None] = None,
         random_state: int = 42,
         n_samples: Optional[int] = 10_000
     ) -> CheckResult:
@@ -189,7 +189,7 @@ class ModelOnlyCheck(ModelOnlyBaseCheck):
     def run(
         self,
         model: nn.Module,
-        device: Union[str, torch.device, None] = 'cpu',
+        device: Union[str, torch.device, None] = None,
         random_state: int = 42
     ) -> CheckResult:
         """Run check."""
diff --git a/deepchecks/vision/context.py b/deepchecks/vision/context.py
--- a/deepchecks/vision/context.py
+++ b/deepchecks/vision/context.py
@@ -59,7 +59,7 @@ def __init__(self,
                  model_name: str = '',
                  scorers: Mapping[str, Metric] = None,
                  scorers_per_class: Mapping[str, Metric] = None,
-                 device: Union[str, torch.device, None] = 'cpu',
+                 device: Union[str, torch.device, None] = None,
                  random_state: int = 42,
                  n_samples: int = None
                  ):
@@ -72,9 +72,14 @@ def __init__(self,
         if train and test:
             train.validate_shared_label(test)
 
+        if device is None:
+            device = 'cpu'
+            if torch.cuda.is_available():
+                warnings.warn('Checks will run on the cpu by default.'
+                              'To make use of cuda devices, use the device parameter in the run function.')
         self._device = torch.device(device) if isinstance(device, str) else (device if device else torch.device('cpu'))
-        self._prediction_formatter_error = {}
 
+        self._prediction_formatter_error = {}
         if model is not None:
             if not isinstance(model, nn.Module):
                 warnings.warn('Deepchecks can\'t validate that model is in evaluation state. Make sure it is to '


Test patch:
Repository: acl-org/acl-anthology

Issue:
Authors with only one name
PR #233 tries adding a name variant with only a last name and there are some technical issues there, but there is also the more basic issue of:

- Should the XML distinguish between an author with only a first name vs. an author with only a last name? I'm unsure whether this is a real distinction. 
* Only first name: Chandrahas.
* Only last name: Abhimanue, Budiono, Govind, Mausam, Odbal, Shweta, Srinivas, Sukhada, Toni.
* Neither: Yes, there are several in ROCLING; presumably these should be deleted.

- What about corporate authors like:
* ARC A3
* Annotation Group
* Architecture Committee
* European Association for Machine Translation (maybe shouldn't be an author anyway)
* Forschungsgruppe LIMAS
* PLUM Group
* SRA International
* TIPSTER SE



Discussion:

Resolving patch:
diff --git a/bin/anthology/people.py b/bin/anthology/people.py
--- a/bin/anthology/people.py
+++ b/bin/anthology/people.py
@@ -115,6 +115,7 @@ def load_variant_list(self, directory):
                 _ = self.papers[canonical] # insert empty entry for canonical if not present
                 for variant in variants:
                     variant = PersonName.from_dict(variant)
+                    _ = self.papers[variant] # insert empty entry if not present
                     if variant in self.variants:
                         log.error(
                             "Tried to add '{}' as variant of '{}', but is already a variant of '{}'".format(


Test patch:
Repository: acl-org/acl-anthology

Issue:
improper escaping of \ in BibTex from tex-math environments
If a backslash occurs in a tex-math environment, e.g., `<tex-math>\Omega</tex-math>`, then the generated BibTex entry contains `{\textbackslash}` instead of `\`. In the given example one obtains `${\textbackslash}Omega$` instead of `$\Omega$`.
See, e.g., https://www.aclweb.org/anthology/papers/C/C16/C16-1261.bib


Discussion:

Resolving patch:
diff --git a/bin/anthology/formatter.py b/bin/anthology/formatter.py
--- a/bin/anthology/formatter.py
+++ b/bin/anthology/formatter.py
@@ -14,6 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+import logging as log
 from copy import deepcopy
 from lxml import etree
 import codecs
@@ -55,6 +56,8 @@ def bibtex_encode(text):
 
 
 def bibtex_convert_quotes(text):
+    if re.match(r"(?<!\\)\"", text):
+        log.warning("Straight quote (\") found in text field; converting automatically, but please fix in XML")
     text = re.sub(r"(?<!\\)\"\b", "``", text)
     text = re.sub(r"(?<!\\)\"", "''", text)
     return text
@@ -135,7 +138,12 @@ def as_html(self, element, allow_url=False):
 
     def as_latex(self, element):
         # following convert_xml_text_markup in anth2bib.py
-        text = bibtex_encode(element.text)
+        if element.tag in ["tex-math", "url"]:
+            if len(element) > 0:
+                log.warning("<{}> element has children".format(element.tag))
+            text = element.text
+        else:
+            text = bibtex_encode(element.text)
         for nested_element in element:
             text += self.as_latex(nested_element)
             text += bibtex_encode(nested_element.tail)


Test patch:
Repository: acl-org/acl-anthology

Issue:
Create shortened volume links
@mjpost https://aclweb.org/anthology/volumes/sem-2012-the-first-joint-conference-on-lexical-and-computational-semantics-volume-1-proceedings-of-the-main-conference-and-the-shared-task-and-volume-2-proceedings-of-the-sixth-international-workshop-on-semantic-evaluation-semeval-2012/

The URL of the PDF is:
https://www.aclweb.org/anthology/S12-1

For a paper:
https://aclweb.org/anthology/papers/S/S12/S12-1000/
(the title is the same, but the content not).

The PDF:
https://www.aclweb.org/anthology/S12-1000

It would be much easier to reference the first link if it was https://aclweb.org/anthology/papers/S/S12/S12-1/.

_Originally posted by @Aspie96 in https://github.com/acl-org/acl-anthology/issues/170#issuecomment-504191669_


Discussion:

Resolving patch:
diff --git a/bin/create_hugo_pages.py b/bin/create_hugo_pages.py
--- a/bin/create_hugo_pages.py
+++ b/bin/create_hugo_pages.py
@@ -113,7 +113,12 @@ def create_volumes(srcdir, clean=False):
                 {
                     "anthology_id": anthology_id,
                     "title": entry["title"],
-                    "slug": slugify(entry["title"]),
+                    "aliases": [
+                        slugify(entry["title"]),
+                        "/papers/{}/{}/{}/".format(
+                            anthology_id[0], anthology_id[:3], anthology_id
+                        ),
+                    ],
                 },
                 default_flow_style=False,
                 stream=f,


Test patch:
Repository: acl-org/acl-anthology

Issue:
Volume page aliases generated incorrectly
The Volume page Spoken Language Translation [here](https://aclweb.org/anthology/volumes/spoken-language-translation/) does not exist. Same with the [Tutorials volume](https://aclweb.org/anthology/volumes/tutorials/). I couldn't concoct any other volume names to test out, but both pages appear on Google.

_Originally posted by @aryamccarthy in https://github.com/acl-org/acl-anthology/issues/170#issuecomment-507788799_


Discussion:

Resolving patch:
diff --git a/bin/create_hugo_pages.py b/bin/create_hugo_pages.py
--- a/bin/create_hugo_pages.py
+++ b/bin/create_hugo_pages.py
@@ -114,7 +114,7 @@ def create_volumes(srcdir, clean=False):
                     "anthology_id": anthology_id,
                     "title": entry["title"],
                     "aliases": [
-                        slugify(entry["title"]),
+                        "/volumes/{}/".format(slugify(entry["title"])),
                         "/papers/{}/{}/{}/".format(
                             anthology_id[0], anthology_id[:3], anthology_id
                         ),


Test patch:
Repository: acl-org/acl-anthology

Issue:
W18 DOI assignation
This is a placeholder issue for @knmnyn to assign DOIs to 2018 workshops.  

Crossreferencing #158. 



Discussion:
ACL workshops W18-23 thru W18-37 need DOIs
SigDIAL needs DOIs W18-50
EMNLP workshops need DOIs W18-51 thru W18-64
INLG and workshops need DOIs W18-65 thru W18-70 (minus W18-68, which is unassigned)
All assigned.  Need to add the DOIs into the ACL Anthology XML.
@mjpost : I had a bit of difficulty with the `<fixed-case>` tags that were in the titles.  I had to strip them out of the CDATA text fields in the places where I encountered it in the current Anthology XML.  Hope that was ok when filing the metadata with Crossref.
We should just write a helper function that returns the frontier of the `<title>` nodes. If you do that, we could put it in `anthology/utils.py`.
> We should just write a helper function that returns the frontier of the `<title>` nodes. If you do that, we could put it in `anthology/utils.py`.

Great.  I'm not sure how to do that in ElementTree.  I will search around later but if you know ready code that does this, please let me know.  
@mjpost I can record the new DOIs assigned into any appropriate location, inclusive of http://bit.ly/aclAnthologyQ . Let me know if that's the current correct place to indicate this.
Yes, please! Just use the first sheet (I just created two new columns)
I can edit the code soon. It's actually already written in `anthology/formatter.py`. I'll add on to your PR but it may be a few days since I'm off from work this week.

Resolving patch:
diff --git a/bin/anthology/utils.py b/bin/anthology/utils.py
--- a/bin/anthology/utils.py
+++ b/bin/anthology/utils.py
@@ -71,20 +71,18 @@ def test_url(url):
 
 def deconstruct_anthology_id(anthology_id):
     """
-    Transforms an Anthology id into its constituent collection id, volume id, and paper id
+    Transforms an Anthology ID into its constituent collection id, volume id, and paper id
     parts. e.g,
 
         P18-1007 -> ('P18', '1', '7')
         W18-6310 -> ('W18', '63', '10')
 
-    Also can deconstruct Anthology volumes 
+    Also can deconstruct Anthology volumes:
 
         P18-1 -> ('P18', '1', None)
         W18-63 -> ('W18', '63', None)
     """
-
     collection_id, rest = anthology_id.split('-')
-    assert len(collection_id) == 3, "Collection IDs should be 1 letter prefix + 2 digit year"
     if collection_id.startswith('W') or collection_id.startswith('C69'):
         if (len(rest) >= 2):
             return (collection_id, str(int(rest[0:2])), str(int(rest[2:])))
@@ -96,6 +94,7 @@ def deconstruct_anthology_id(anthology_id):
         else:                   # Possible Volume only identifier
             return (collection_id, str(int(rest[0:1])), None)
 
+
 def stringify_children(node):
     """Returns the full content of a node, including tags.
 


Test patch: