dsfdfsghgf commited on
Commit
12d6b61
·
verified ·
1 Parent(s): ead7181

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -19
app.py CHANGED
@@ -8,15 +8,20 @@ model_name = "Qwen/Qwen2.5-Math-1.5B-Instruct"
8
  device = "cuda" if torch.cuda.is_available() else "cpu"
9
 
10
  # Modell und Tokenizer laden
11
- model = AutoModelForCausalLM.from_pretrained(
12
- model_name,
13
- device_map="auto", # Modell auf verfügbare Geräte verteilen
14
- low_cpu_mem_usage=True, # Versucht, den Speicherverbrauch zu reduzieren
15
- trust_remote_code=True,
16
- torch_dtype=torch.float16 # Reduziert den Speicherverbrauch
17
- ).to(device).eval()
18
-
19
- tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
 
 
 
 
 
20
 
21
  # Eingabe für das Gesprächsmodell erstellen
22
  chat = [
@@ -25,17 +30,26 @@ chat = [
25
  ]
26
 
27
  # Vorbereitung des Eingabeformats
28
- conversation_str = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=False)
29
-
30
- # Tokenisierung der Eingabe und Erzeugen der attention_mask
31
- inputs = tokenizer(conversation_str, return_tensors="pt", padding=True, truncation=True)
 
 
32
 
33
  # Inferenz durchführen
34
- with torch.no_grad():
35
- outputs = model.generate(input_ids=inputs["input_ids"].to(device),
36
- attention_mask=inputs["attention_mask"].to(device),
37
- max_length=256,
38
- num_return_sequences=1)
 
 
 
 
39
 
40
  # Ausgabe anzeigen
41
- print(tokenizer.decode(outputs[0], skip_special_tokens=True))
 
 
 
 
8
  device = "cuda" if torch.cuda.is_available() else "cpu"
9
 
10
  # Modell und Tokenizer laden
11
+ try:
12
+ print("Lade Modell und Tokenizer...")
13
+ model = AutoModelForCausalLM.from_pretrained(
14
+ model_name,
15
+ device_map="auto", # Modell auf verfügbare Geräte verteilen
16
+ low_cpu_mem_usage=True, # Versucht, den Speicherverbrauch zu reduzieren
17
+ trust_remote_code=True,
18
+ torch_dtype=torch.float16 # Reduziert den Speicherverbrauch
19
+ ).to(device).eval()
20
+
21
+ tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
22
+ print("Modell und Tokenizer geladen.")
23
+ except Exception as e:
24
+ print(f"Fehler beim Laden des Modells: {e}")
25
 
26
  # Eingabe für das Gesprächsmodell erstellen
27
  chat = [
 
30
  ]
31
 
32
  # Vorbereitung des Eingabeformats
33
+ try:
34
+ conversation_str = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=False)
35
+ inputs = tokenizer(conversation_str, return_tensors="pt", padding=True, truncation=True)
36
+ print("Eingabe vorbereitet.")
37
+ except Exception as e:
38
+ print(f"Fehler bei der Eingabevorbereitung: {e}")
39
 
40
  # Inferenz durchführen
41
+ try:
42
+ with torch.no_grad():
43
+ outputs = model.generate(input_ids=inputs["input_ids"].to(device),
44
+ attention_mask=inputs["attention_mask"].to(device),
45
+ max_length=256,
46
+ num_return_sequences=1)
47
+ print("Inferenz abgeschlossen.")
48
+ except Exception as e:
49
+ print(f"Fehler bei der Inferenz: {e}")
50
 
51
  # Ausgabe anzeigen
52
+ try:
53
+ print("Ausgabe: ", tokenizer.decode(outputs[0], skip_special_tokens=True))
54
+ except Exception as e:
55
+ print(f"Fehler bei der Ausgabe: {e}")