Itsme5 commited on
Commit
887ad63
·
verified ·
1 Parent(s): 0b0b3a9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -14
app.py CHANGED
@@ -1,22 +1,26 @@
 
 
 
 
1
  from fastapi import FastAPI
 
2
  from transformers import PreTrainedTokenizerFast
3
  from tokenizers import ByteLevelBPETokenizer
4
  from datasets import load_dataset
5
- from contextlib import asynccontextmanager
6
 
7
  app = FastAPI()
8
 
9
  @asynccontextmanager
10
  async def lifespan(app: FastAPI):
11
- # Εκκίνηση διαδικασίας εκπαίδευσης tokenizer
12
  await train_tokenizer()
13
- yield # Εδώ κάνουμε την διαδικασία που θα τρέξει μετά την ολοκλήρωση του lifespan
14
- # Οποιαδήποτε διαδικασία κατά το κλείσιμο της εφαρμογής
15
 
16
  app = FastAPI(lifespan=lifespan)
17
 
18
  async def train_tokenizer():
19
- # Μέγεθος λεξιλογίου και ελάχιστη συχνότητα
20
  vocab_size = 50000
21
  min_frequency = 2
22
 
@@ -24,25 +28,22 @@ async def train_tokenizer():
24
  dataset_greek = load_dataset("oscar", "unshuffled_deduplicated_el", split="train", streaming=True)
25
  dataset_english = load_dataset("wikipedia", "20220301.en", split="train", streaming=True)
26
 
27
- # Διαχείριση καθαρού κώδικα (π.χ., από GitHub ή άλλες πηγές αν υπάρχουν)
28
  try:
29
  dataset_code = load_dataset("bigcode/the-stack", split="train", streaming=True)
30
  datasets_list = [dataset_greek, dataset_english, dataset_code]
31
  except:
32
  datasets_list = [dataset_greek, dataset_english]
33
 
34
- # Ενοποίηση των δεδομένων και προεπεξεργασία
35
  def preprocess_data(dataset):
36
  for item in dataset:
37
  text = item["text"]
38
- # Αφαίρεση περιττών χαρακτήρων και κανονικοποίηση
39
- text = text.strip().lower() # Μπορείς να το κάνεις lower εάν το θέλεις
40
- if text: # Εξασφαλίζουμε ότι δεν είναι άδειο το κείμενο
41
  yield text
42
 
43
- combined_data = (
44
- preprocess_data(dataset) for dataset in datasets_list
45
- )
46
 
47
  # Δημιουργία του tokenizer
48
  tokenizer = ByteLevelBPETokenizer()
@@ -60,4 +61,4 @@ async def train_tokenizer():
60
 
61
  @app.get("/")
62
  async def root():
63
- return {"message": "Custom Tokenizer Training Completed and Saved"}
 
1
+ !pip install torch
2
+ !pip install tensorflow
3
+
4
+
5
  from fastapi import FastAPI
6
+ from contextlib import asynccontextmanager
7
  from transformers import PreTrainedTokenizerFast
8
  from tokenizers import ByteLevelBPETokenizer
9
  from datasets import load_dataset
 
10
 
11
  app = FastAPI()
12
 
13
  @asynccontextmanager
14
  async def lifespan(app: FastAPI):
15
+ # Εκκίνηση της διαδικασίας εκπαίδευσης του tokenizer όταν η εφαρμογή ξεκινά
16
  await train_tokenizer()
17
+ yield # Διαχείριση κατά τη διάρκεια της εφαρμογής
18
+ # Οποιαδήποτε διαδικασία που πρέπει να γίνει όταν η εφαρμογή σταματήσει
19
 
20
  app = FastAPI(lifespan=lifespan)
21
 
22
  async def train_tokenizer():
23
+ # Ρυθμίσεις tokenizer
24
  vocab_size = 50000
25
  min_frequency = 2
26
 
 
28
  dataset_greek = load_dataset("oscar", "unshuffled_deduplicated_el", split="train", streaming=True)
29
  dataset_english = load_dataset("wikipedia", "20220301.en", split="train", streaming=True)
30
 
31
+ # Διαχείριση καθαρού κώδικα (αν βρεθούν κατάλληλα δεδομένα)
32
  try:
33
  dataset_code = load_dataset("bigcode/the-stack", split="train", streaming=True)
34
  datasets_list = [dataset_greek, dataset_english, dataset_code]
35
  except:
36
  datasets_list = [dataset_greek, dataset_english]
37
 
38
+ # Ενοποίηση δεδομένων και προεπεξεργασία
39
  def preprocess_data(dataset):
40
  for item in dataset:
41
  text = item["text"]
42
+ text = text.strip().lower() # Μπορείς να το κάνεις lower αν το θέλεις
43
+ if text:
 
44
  yield text
45
 
46
+ combined_data = (preprocess_data(dataset) for dataset in datasets_list)
 
 
47
 
48
  # Δημιουργία του tokenizer
49
  tokenizer = ByteLevelBPETokenizer()
 
61
 
62
  @app.get("/")
63
  async def root():
64
+ return {"message": "Custom Tokenizer Training Completed and Saved"}