加快程序速度

  • 本文关键字:速度 程序 python
  • 更新时间 :
  • 英文 :


以下是encode的实现

from transformers import BertTokenizer
def encode(self, document): 
tokenizer = BertTokenizer.from_pretrained("bert-base-uncased")
return tokenizer(document, 
max_length=50,
return_tensors='pt',
padding=True,
truncation=True)

当我运行时

start = time.process_time()
train_articles = [self.encode(document) for document in dataset["train"]["article"][:100]]
print("Time:", time.process_time() - start)

输出为CCD_ 2。请注意,dataset["train"]["article"]中的每个元素都是一个约47个句子的列表,每个句子平均有15个单词。仅处理100份文件的过程相当漫长。我对编程很陌生。有没有办法加快这个过程?我必须在100000个文档上运行self.encode,所以我必须找到加快进程的方法。

提高性能的一种方法是使用多线程模式。在您的情况下,如果您要在一个过程中多次调用此函数,最好采用Python线程:

import threading
thd1 = threading.Thread("thread-1").spawn(encode)
for i in range(10):
thd1.start

现在你正在加速十倍。

最新更新