Ignore Seaborn plot warnings (#3576)

* Ignore Seaborn plot warnings

* Update plots.py

* Update metrics.py
This commit is contained in:
Glenn Jocher authored and GitHub committed 2021-06-10 13:51:29 +02:00
1 parent 4695ca8314
commit 095197bd4a
2 files changed
+10 -7

No files matched your search

+6 -3
View File
@@ -1,5 +1,6 @@
# Model validation metrics
import warnings
from pathlib import Path
import matplotlib.pyplot as plt
@@ -167,9 +168,11 @@ class ConfusionMatrix:
fig = plt.figure(figsize=(12, 9), tight_layout=True)
sn.set(font_scale=1.0 if self.nc < 50 else 0.8) # for label size
labels = (0 < len(names) < 99) and len(names) == self.nc # apply names to ticklabels
sn.heatmap(array, annot=self.nc < 30, annot_kws={"size": 8}, cmap='Blues', fmt='.2f', square=True,
xticklabels=names + ['background FP'] if labels else "auto",
yticklabels=names + ['background FN'] if labels else "auto").set_facecolor((1, 1, 1))
with warnings.catch_warnings():
warnings.simplefilter('ignore') # suppress empty matrix RuntimeWarning: All-NaN slice encountered
sn.heatmap(array, annot=self.nc < 30, annot_kws={"size": 8}, cmap='Blues', fmt='.2f', square=True,
xticklabels=names + ['background FP'] if labels else "auto",
yticklabels=names + ['background FN'] if labels else "auto").set_facecolor((1, 1, 1))
fig.axes[0].set_xlabel('True')
fig.axes[0].set_ylabel('Predicted')
fig.savefig(Path(save_dir) / 'confusion_matrix.png', dpi=250)