Blessmore commited on
Commit
d7e78eb
·
verified ·
1 Parent(s): a4711cf

Upload loader.py

Browse files
Files changed (1) hide show
  1. shonaembeddings/loader.py +35 -0
shonaembeddings/loader.py ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from huggingface_hub import hf_hub_download
2
+ import gensim
3
+ import os
4
+
5
+ class Blessmore:
6
+ def __init__(self, repo_id="Blessmore/Fasttext_embeddings", model_dir="Fast_text_50_dim", subfolder="Fast_text_50_dim"):
7
+ self.repo_id = repo_id
8
+ self.model_dir = model_dir
9
+ self.subfolder = subfolder
10
+ self.model_files = [
11
+ "shona_fasttext_50d.model",
12
+ "shona_fasttext_50d.model.wv.vectors_ngrams.npy",
13
+ "shona_fasttext_vectors_50d.kv",
14
+ "shona_fasttext_vectors_50d.kv.vectors_ngrams.npy"
15
+ ]
16
+ self.model = None
17
+
18
+ def download_model_files(self):
19
+ os.makedirs(self.model_dir, exist_ok=True)
20
+ for file_name in self.model_files:
21
+ hf_hub_download(repo_id=self.repo_id, filename=f"{self.subfolder}/{file_name}", cache_dir=self.model_dir)
22
+
23
+ def load_model(self):
24
+ model_path = os.path.join(self.model_dir, "shona_fasttext_50d.model")
25
+ self.model = gensim.models.FastText.load(model_path)
26
+
27
+ @classmethod
28
+ def from_pretrained(cls, repo_id="Blessmore/Fasttext_embeddings"):
29
+ instance = cls(repo_id=repo_id)
30
+ instance.download_model_files()
31
+ instance.load_model()
32
+ return instance
33
+
34
+ def get_model(self):
35
+ return self.model