docs: def transcribe(self, restore_model_path: Optional[str]=None) -> None:
          """ Transcribes an untranscribed dataset. Similar to eval() except
          no reference translation is assumed, thus no LER is calculated.
          """
  
          saver = tf.train.Saver()
          with tf.Session(config=allow_growth_config) as sess:
              if restore_model_path:
                  saver.restore(sess, restore_model_path)
              else:
                  if self.saved_model_path:
                      saver.restore(sess, self.saved_model_path)
                  else:
                      raise PersephoneException("No model to use for transcription.")
  
              batch_gen = self.corpus_reader.untranscribed_batch_gen()
  
              hyp_batches = []
              for batch_i, batch in enumerate(batch_gen):
  
                  batch_x, batch_x_lens, feat_fn_batch = batch
  
                  feed_dict = {self.batch_x: batch_x,
                               self.batch_x_lens: batch_x_lens}
  
                  [dense_decoded] = sess.run([self.dense_decoded], feed_dict=feed_dict)
                  hyps = self.corpus_reader.human_readable(dense_decoded)
  
                  # Prepare dir for transcription
                  hyps_dir = os.path.join(self.exp_dir, "transcriptions")
                  if not os.path.isdir(hyps_dir):
                      os.mkdir(hyps_dir)
  
                  hyp_batches.append((hyps,feat_fn_batch))
  
              with open(os.path.join(hyps_dir, "hyps.txt"), "w",
                        encoding=ENCODING) as hyps_f:
                  for hyp_batch, fn_batch in hyp_batches:
                      for hyp, fn in zip(hyp_batch, fn_batch):
                          print(fn, file=hyps_f)
                          print(" ".join(hyp), file=hyps_f)
                          print("", file=hyps_f)