Spaces:
Build error
Build error
| import matplotlib | |
| from sklearn import datasets | |
| import plotly.express as px | |
| import matplotlib.pyplot as plt | |
| import matplotlib | |
| import numpy as np | |
| matplotlib.use("Agg") | |
| def show_digits(): | |
| digits = datasets.load_digits() | |
| fig, axes = plt.subplots(nrows=1, ncols=4, figsize=(10, 3)) | |
| for ax, image, label in zip(axes, digits.images, digits.target): | |
| ax.set_axis_off() | |
| ax.imshow(image, cmap=plt.cm.gray_r, interpolation="nearest") | |
| ax.set_title(f"Training: {label}") | |
| return fig | |
| def loss_history_plt(loss_history: list[float], loss_fn_name: str): | |
| return px.line( | |
| x=list(range(len(loss_history))), | |
| y=loss_history, | |
| title=f"{loss_fn_name} Loss vs. Training Epoch", | |
| labels={ | |
| "x": "Epochs", | |
| "y": f"{loss_fn_name} Loss", | |
| }, | |
| ) | |
| def hits_and_misses(y_pred: np.ndarray, y_true: np.ndarray): | |
| # decode the one hot encoded predictions | |
| y_pred_decoded = np.argmax(y_pred, axis=1) | |
| y_true_decoded = np.argmax(y_true, axis=1) | |
| hits = y_pred_decoded == y_true_decoded | |
| color = np.where(hits, "Hit", "Miss") | |
| hover_text = [ | |
| "True: " + str(y_true_decoded[i]) + ", Pred: " + str(y_pred_decoded[i]) | |
| for i in range(len(y_pred_decoded)) | |
| ] | |
| return px.scatter( | |
| x=np.arange(len(y_pred_decoded)), | |
| y=y_true_decoded, | |
| color=color, | |
| title="Hits and Misses of Predictions on Validation Set", | |
| labels={ | |
| "color": "Prediction Correctness", | |
| "x": "Sample Index", | |
| "y": "True Label", | |
| }, | |
| color_discrete_map={"Hit": "blue", "Miss": "red"}, | |
| hover_name=hover_text, | |
| ) | |
| def make_confidence_label(y_pred: np.ndarray, y_test: np.ndarray): | |
| y_test_labels = np.argmax(y_test, axis=1) | |
| confidence_dict: dict[str, float] = {} | |
| for idx, class_name in enumerate([str(i) for i in range(10)]): | |
| class_confidences_idxs = np.where(y_test_labels == idx)[0] | |
| class_confidences = y_pred[class_confidences_idxs, idx] | |
| confidence_dict[class_name] = float(np.mean(class_confidences)) | |
| return confidence_dict | |