cazyundee commited on
Commit
4380259
·
verified ·
1 Parent(s): fc0acf8

Fix CPU TinyLlama PyTorch initialization

Browse files
Files changed (1) hide show
  1. app.py +8 -2
app.py CHANGED
@@ -1,4 +1,7 @@
1
  import os
 
 
 
2
  import platform
3
  import sys
4
  import time
@@ -549,8 +552,11 @@ def _load_tinyllama():
549
  if _TINYLLAMA is not None:
550
  return _TINYLLAMA_TOKENIZER, _TINYLLAMA
551
  from transformers import AutoModelForCausalLM, AutoTokenizer
552
- torch.set_num_threads(min(_parse_cpu_count() or 1, 16))
553
- torch.set_num_interop_threads(1)
 
 
 
554
  tokenizer = AutoTokenizer.from_pretrained(_TINYLLAMA_REPO)
555
  model = AutoModelForCausalLM.from_pretrained(
556
  _TINYLLAMA_REPO,
 
1
  import os
2
+ # Keep all model inference on CPU; this must be set before importing torch.
3
+ os.environ["CUDA_VISIBLE_DEVICES"] = ""
4
+ os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
5
  import platform
6
  import sys
7
  import time
 
552
  if _TINYLLAMA is not None:
553
  return _TINYLLAMA_TOKENIZER, _TINYLLAMA
554
  from transformers import AutoModelForCausalLM, AutoTokenizer
555
+ try:
556
+ torch.set_num_threads(min(_parse_cpu_count() or 1, 16))
557
+ except RuntimeError:
558
+ # Gradio may already have started PyTorch work during app startup.
559
+ pass
560
  tokenizer = AutoTokenizer.from_pretrained(_TINYLLAMA_REPO)
561
  model = AutoModelForCausalLM.from_pretrained(
562
  _TINYLLAMA_REPO,