def __init__(self, opt, embedding_dim):
"""Initialize the class according to given parameters."""
self.tok2emb = {}
self.embedding_dim = embedding_dim
self.opt = copy.deepcopy(opt)
self.load_items()
nltk.download('punkt')
if not self.opt.get('fasttext_model'):
raise RuntimeError('No pretrained fasttext model provided')
self.fasttext_model_file = self.opt.get('fasttext_model')
if not os.path.isfile(self.fasttext_model_file):
emb_path = os.environ.get('EMBEDDINGS_URL')
if not emb_path:
raise RuntimeError('No pretrained fasttext model provided')
fname = os.path.basename(self.fasttext_model_file)
try:
print('Trying to download a pretrained fasttext model from the repository')
url = urllib.parse.urljoin(emb_path, fname)
urllib.request.urlretrieve(url, self.fasttext_model_file)
print('Downloaded a fasttext model')
except Exception as e:
raise RuntimeError('Looks like the `EMBEDDINGS_URL` variable is set incorrectly', e)
self.fasttext_model = fasttext.load_model(self.fasttext_model_file)
评论列表
文章目录