code: def shakespeare(chunk_size):
    
    file_name = maybe_download('http://cs.stanford.edu/people/karpathy/char-rnn/',
                               'shakespear.txt')
    with open(file_name) as f:
      shakespeare_full = f.read()
  
    # Truncate the data.
    length = (len(shakespeare_full) // chunk_size) * chunk_size
    if length < len(shakespeare_full):
      shakespeare_full = shakespeare_full[:length]
    arr = np.array([convert_to_int(c) for c in shakespeare_full])[
        0:len(shakespeare_full) / chunk_size * chunk_size]
    return arr.reshape((len(arr) / chunk_size, chunk_size))
docs: Downloads Shakespeare, converts it into ASCII codes and chunks it.
  
    Args:
      chunk_size: The dataset is broken down so that it is shaped into batches x
        chunk_size.
    Returns:
      A numpy array of ASCII codes shaped into batches x chunk_size.