Python 加速程序

Python 加速程序,python,Python,下面是encode from transformers import BertTokenizer def encode(self, document): tokenizer = BertTokenizer.from_pretrained("bert-base-uncased") return tokenizer(document, max_length=50, return_

下面是
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)

输出为
时间:34.859681388
。请注意,
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
现在,您的速度提高了十倍。

如果您是“编程新手”,并且您的任务是加快代码的速度-而且问题域似乎是相对高级的(您没有告诉我们任何有用的内容,但从名称来看,它似乎与神经网络或自然语言处理有关?),那你的头脑就非常复杂了。我认为在这里不可能直接帮助你。您应该采取的第一步是减少“编程新手”。没有捷径可走。