SaviAnna commited on
Commit
cc91e6e
·
verified ·
1 Parent(s): f98d493

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -28
app.py CHANGED
@@ -3,9 +3,7 @@ import streamlit as st
3
  from transformers import GPT2LMHeadModel, GPT2TokenizerFast
4
  import torch
5
 
6
- st.title("""
7
- Fine-tuned GPT-2 for New Language with Custom Tokenizer
8
- """)
9
 
10
  # Слайдеры для управления температурой и длиной текста
11
  temperature = st.slider("Temperature", 0.1, 2.0, 1.0) # Для обеих моделей
@@ -31,30 +29,20 @@ def generate_text(model, tokenizer, prompt, max_len, temperature):
31
  input_ids = tokenizer.encode(prompt, return_tensors='pt')
32
 
33
  # Генерация текста
34
- # output = model.generate(input_ids=input_ids,
35
- # max_length=max_len,
36
- # do_sample=True,
37
- # temperature=temperature,
38
- # top_k=50,
39
- # top_p=0.6,
40
- # no_repeat_ngram_size=3,
41
- # num_return_sequences=1,
42
- # pad_token_id=tokenizer.eos_token_id)
43
  output = model.generate(
44
- input_ids,
45
- max_length=max_len,
46
- temperature=temperature, # Controls the diversity of the generated text
47
- top_k=50, # Keeps only the top-k most likely words
48
- top_p=0.9, # Nucleus sampling (cumulative probability)
49
- repetition_penalty=1.2, # Penalty for repeating words or phrases
50
- no_repeat_ngram_size=4, # Prevents repetition of n-grams (e.g., bigrams)
51
- do_sample=True, # Enables sampling for greater diversity
52
- pad_token_id=tokenizer.eos_token_id)[0]
 
53
 
54
-
55
- #generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
56
- #Decode the generated token IDs to text
57
- generated_text = tokenizer.decode(output, skip_special_tokens=True, clean_up_tokenization_spaces=True)
58
  return generated_text
59
 
60
  # Streamlit приложение
@@ -62,9 +50,7 @@ def main():
62
  model_gpt2, tokenizer_gpt2 = load_gpt2() # GPT-2 модель
63
  model_custom, tokenizer_custom = load_custom_model() # Кастомная модель
64
 
65
- st.write("""
66
- # Fine-tuned GPT-2 for New Language with Custom Tokenizer
67
- """)
68
 
69
  # Блок для генерации текста с GPT-2
70
  st.subheader("GPT-2 Text Generation")
 
3
  from transformers import GPT2LMHeadModel, GPT2TokenizerFast
4
  import torch
5
 
6
+ st.title("Fine-tuned GPT-2 for New Language with Custom Tokenizer")
 
 
7
 
8
  # Слайдеры для управления температурой и длиной текста
9
  temperature = st.slider("Temperature", 0.1, 2.0, 1.0) # Для обеих моделей
 
29
  input_ids = tokenizer.encode(prompt, return_tensors='pt')
30
 
31
  # Генерация текста
 
 
 
 
 
 
 
 
 
32
  output = model.generate(
33
+ input_ids,
34
+ max_length=max_len,
35
+ temperature=temperature, # Управление разнообразием текста
36
+ top_k=50, # Ограничение топ-50 самых вероятных слов
37
+ top_p=0.9, # Nucleus sampling (суммарная вероятность)
38
+ repetition_penalty=1.2, # Штраф за повторение слов или фраз
39
+ no_repeat_ngram_size=4, # Запрет на повторение n-грамм (например, биграмм)
40
+ do_sample=True, # Включение сэмплинга для большей разнообразности
41
+ pad_token_id=tokenizer.eos_token_id
42
+ )
43
 
44
+ # Декодирование сгенерированных токенов в текст
45
+ generated_text = tokenizer.decode(output[0], skip_special_tokens=True, clean_up_tokenization_spaces=True)
 
 
46
  return generated_text
47
 
48
  # Streamlit приложение
 
50
  model_gpt2, tokenizer_gpt2 = load_gpt2() # GPT-2 модель
51
  model_custom, tokenizer_custom = load_custom_model() # Кастомная модель
52
 
53
+ st.write("Fine-tuned GPT-2 for New Language with Custom Tokenizer")
 
 
54
 
55
  # Блок для генерации текста с GPT-2
56
  st.subheader("GPT-2 Text Generation")