4from torch.nn
import functional
as F
12if torch.backends.mps.is_available()
and torch.backends.mps.is_built():
15elif torch.cuda.is_available():
27torch.manual_seed(1337)
29input_path = os.path.abspath(os.path.join(os.path.dirname(__file__),
"..",
"input.txt"))
30with open(input_path,
"r", encoding=
"utf-8")
as f:
34chars = sorted(list(set(text)))
35vocab_size = len(chars)
38stoi = {ch: i
for i, ch
in enumerate(chars)}
39itos = {i: ch
for i, ch
in enumerate(chars)}
40encode =
lambda s: [stoi[c]
for c
in s]
41decode =
lambda l:
"".join([itos[i]
for i
in l])