gpu - 如何使用 GPU 训练 spaCy 实体链接模型?
问题描述
当我训练spaCy实体链接模型时,请遵循文档wiki_entity_linking,我发现该模型是使用 cpu 训练的。训练epoch需要很长时间。(环境中2个epoch大约3天:16x cpu,64GB mem)</p>
命令是:
python wikidata_train_entity_linker.py -t 50000 -d 10000 -o xxx
. 所以我的问题是,我该如何在训练阶段使用 GPU。
解决方案
在初始化 NLP 模型之前,您需要重构代码以使用 spacy.require_gpu() - 有关更多信息,请参阅文档:https ://spacy.io/api/top-level#spacy.require_gpu
在这样做之前,我会确保您的任务在所有内核上运行。如果您没有在所有内核上运行,则可以使用 joblib 来处理作业的多处理小批量分区:
partitions = minibatch(texts, size=batch_size)
executor = Parallel(n_jobs=n_jobs, backend="multiprocessing", prefer="processes")
do = delayed(partial(transform_texts, nlp))
tasks = (do(i, batch, output_dir) for i, batch in enumerate(partitions))
executor(tasks)
有关更多信息,这里是来自文档的 joblib 多处理 NER 训练示例:https ://spacy.io/usage/examples#multi-processing
推荐阅读
- sql - Sql 将地板应用于日期时间,地板不是标准的,例如每 2 小时、每 2 天等
- vb.net - TablePanelLayout 的最后一行似乎每次刷新都会增长吗?
- css - 图像未使用 css 网格对齐
- php - 在移动文件上的 move_uploaded_file() 之后调用 PHP unlink() 失败
- jenkins - 将 SonarQube 的 Jenkins 构建步骤转换为管道?
- google-maps - 是否可以在 Thingsboard 中获取地图小部件的警报数据?
- reactjs - 为什么在创建 React 应用程序时会自动创建 .git 文件夹?
- image - Imagemagick:如何减小具有大静态区域的动画 GIF 的大小?
- react-native - React Redux combineReducer | 减速机未通过
- ios - 尝试在 ChartDataEntry 中输入日期/字符串