def metrics(deepspeech: DeepSpeech, layer_outputs: List[np.ndarray], batch: Tuple[np.ndarray, np.ndarray]) -> Iterable[Metric]: X, y = batch y_hat = layer_outputs[-1] predict_sentences = deepspeech.decode(y_hat) true_sentences = deepspeech.get_transcripts(y) return get_metrics(sources=predict_sentences, destinations=true_sentences)
def evaluate_batch(deepspeech: DeepSpeech, X: np.ndarray, y: np.ndarray, store: h5py.File, references: pd.DataFrame, save_activations: bool, get_activations: Callable) -> List[Metric]: if save_activations: *activations, y_hat = get_activations([X, 0]) # Learning phase is `test=0` else: activations = [] y_hat = deepspeech.predict(X) predict_sentences = deepspeech.decode(y_hat) true_sentences = deepspeech.get_transcripts(y) metrics = list(get_metrics(sources=predict_sentences, destinations=true_sentences)) save_in(store, [X, *activations, y_hat], metrics, references) return metrics