jkeisling commited on
Commit
2807b77
·
1 Parent(s): c94b305

Create HF Spaces app

Browse files
Files changed (4) hide show
  1. .gitattributes +1 -0
  2. .gitignore +1 -1
  3. app.py +33 -0
  4. gpt.py +2 -1
.gitattributes ADDED
@@ -0,0 +1 @@
 
 
1
+ checkpoints/model.pt filter=lfs diff=lfs merge=lfs -text
.gitignore CHANGED
@@ -1,5 +1,5 @@
1
  # Large files
2
- checkpoints/
3
  datasets/
4
 
5
  # Training Tensorboard runs
 
1
  # Large files
2
+ checkpoints/candidates
3
  datasets/
4
 
5
  # Training Tensorboard runs
app.py ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio
2
+ import gpt
3
+
4
+ # Intended for HuggingFace Spaces for GPT
5
+ config = gpt.GPTConfig("gpt_config.json")
6
+ model = gpt.GPT(
7
+ vocab_size=config.vocab_size,
8
+ context_size=config.context_size,
9
+ embedding_dim=config.embedding_dim
10
+ )
11
+
12
+ # Use GPU if enabled
13
+ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
14
+ model.to(device)
15
+
16
+ # Load checkpoint
17
+ model, _, _ = load_checkpoint(model, None, config.restore_path)
18
+
19
+ demo = gr.Interface(
20
+ fn=lambda *args: generate(model, config, *args),
21
+ inputs=[
22
+ gr.Textbox(lines=2, placeholder="Prompt here..."),
23
+ gr.Number(precision=0, value=256),
24
+ gr.Number(value=0.8),
25
+ gr.Slider(maximum=128, value=10),
26
+ gr.Slider(maximum=1, value=1)
27
+ ],
28
+ outputs="text",
29
+ title="Shakespeare-GPT",
30
+ description="Putting theater kids out of their nonexistent jobs since 2023"
31
+ )
32
+
33
+ demo.launch()
gpt.py CHANGED
@@ -281,7 +281,8 @@ def load_checkpoint(model, optimizer, path):
281
  """
282
  checkpoint = torch.load(path)
283
  model.load_state_dict(checkpoint['model_state_dict'])
284
- optimizer.load_state_dict(checkpoint['optimizer_state_dict'])
 
285
  return (model, optimizer, checkpoint['steps'])
286
 
287
 
 
281
  """
282
  checkpoint = torch.load(path)
283
  model.load_state_dict(checkpoint['model_state_dict'])
284
+ if optimizer is not None:
285
+ optimizer.load_state_dict(checkpoint['optimizer_state_dict'])
286
  return (model, optimizer, checkpoint['steps'])
287
 
288