问题标签 [spacy-transformers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何加载部分预训练的 pytorch 模型?
我正在尝试让 pytorch 模型在句子分类任务上运行。在处理医学笔记时,我正在使用 ClinicalBert ( https://github.com/kexinhuang12345/clinicalBERT ) 并希望使用其预先训练的权重。不幸的是,ClinicalBert 模型仅将文本分类为 1 个二进制标签,而我有 281 个二进制标签。因此,我正在尝试实现此代码https://github.com/kaushaltrivedi/bert-toxic-comments-multilabel/blob/master/toxic-bert-multilabel-classification.ipynb,其中 bert 之后的最终分类器为 281 长。
如何在不加载分类权重的情况下从 ClinicalBert 模型加载预训练的 Bert 权重?
天真地尝试从预训练的 ClinicalBert 权重中加载权重,我收到以下错误:
我目前尝试从 pytorch_pretrained_bert 包中替换 from_pretrained 函数,并像这样弹出分类器权重和偏差:
我收到以下错误消息: INFO -modeling_diagnosis - BertForMultiLabelSequenceClassification 的权重未从预训练模型初始化:['classifier.weight','classifier.bias']
最后,我想从clinicalBert预训练权重中加载bert嵌入,并随机初始化顶级分类器权重。
nlp - Spacy中向量的顺序/上下文感知文档/句子
我想用句子做一些有监督的二元分类任务,并且一直在使用 spaCy,因为它易于使用。我使用 spaCy 将文本转换为向量,然后将向量馈送到机器学习模型(例如 XGBoost)以执行分类。然而,结果并不是很令人满意。
在 spaCy 中,很容易加载模型(例如 BERT / Roberta / XLNet)来将单词/句子转换为 nlp 对象。然而,直接调用对象的向量将默认为令牌向量的平均值。
这里有两个问题:
1)我们能不能比简单地获得标记向量的平均值更好,比如使用 spaCy 获得上下文/顺序感知的句子向量?例如,我们可以从 BERT 转换器的前一层提取句子嵌入,而不是 spaCy 中的最终标记向量吗?
2)直接使用spaCy训练下游的二分类任务会不会更好?例如,这里讨论了如何将文本分类器添加到 spaCy 模型。还是应用更强大的机器学习模型(如 XGBoost)通常更好?
提前致谢!
python-3.x - Spacy python错误的多实体识别
我被困在一个问题上并寻求你的帮助。我正在尝试使用 spacy 训练多个实体
以下是我的火车数据
这是我有问题的火车代码
错误:ValueError:[E103] 试图设置冲突的 doc.ents:'(0, 14, 'jobtitle')' 和 '(0, 4, 'skills')'。令牌只能是一个实体的一部分,因此请确保您设置的实体不重叠。
python - Huggingface Bert:输出打印
我是编码新手,可以使用指导来了解为什么它会像现在这样奇怪地打印。虽然这与 NLP 有关,但我相信这个错误很可能是由比我有更多编码知识的人解释的。我希望这是提出这个问题的正确地方。感谢您的帮助!
输出:
[4]
deep-learning - 两个图像上的相同随机裁剪 Pytorch 变换
我正在尝试将两个图像输入网络,并且我想在这两个图像之间进行相同的转换。transforms.Compose()
一次拍摄一张图像并产生彼此独立的输出,但我想要相同的转换。我现在做了自己的编码,hflip()
我有兴趣得到随机作物。有没有办法在不编写自定义函数的情况下做到这一点?
pytorch - 使用 Pytorch 运行 Bert 时 CUDA 内存不足(以前工作过)
我正在使用 Pytorch 在 SageMaker 上构建 BERT 二进制分类。
之前在运行模型时,我将 Batch size 设置为 16,模型能够成功运行。但是,昨天我停止 SageMaker 并在今天早上重新启动后,我无法再运行 Batch size 为 16 的模型。我能够运行批量大小为 8的模型。
但是,模型没有产生相同的结果(当然)。中间我没有改变任何东西。所有其他设置都相同。(除了我将 SageMaker 卷从 30GB 更改为 200GB。)
有谁知道什么可能导致这个问题?我真的很想重现批量大小为 16 的结果。
任何答案都会有所帮助,并在此先感谢您!
python - Spacy BILOU 格式转 spacy json 格式
我正在尝试将我的 spacy 版本升级到 nightly 特别是对于使用 spacy 变压器
所以我转换了spacy简单的火车数据集,格式如下
td = [["Who is Shaka Khan?", {"entities": [(7, 17, "FRIENDS")]}],["I like London.", {"entities": [(7, 13, "LOC")]}],]
以上到
[[{"head": 0, "dep": "", "tag": "", "orth": "Who", "ner": "O", "id": 0}, {"head": 0, "dep": "", "tag": "", "orth": "is", "ner": "O", "id": 1}, {"head": 0, "dep": "", "tag": "", "orth": "Shaka", "ner": "B-FRIENDS", "id": 2}, {"head": 0, "dep": "", "tag": "", "orth": "Khan", "ner": "L-FRIENDS", "id": 3}, {"head": 0, "dep": "", "tag": "", "orth": "?", "ner": "O", "id": 4}], [{"head": 0, "dep": "", "tag": "", "orth": "I", "ner": "O", "id": 0}, {"head": 0, "dep": "", "tag": "", "orth": "like", "ner": "O", "id": 1}, {"head": 0, "dep": "", "tag": "", "orth": "London", "ner": "U-LOC", "id": 2}, {"head": 0, "dep": "", "tag": "", "orth": ".", "ner": "O", "id": 3}]]
使用以下脚本
machine-learning - 从拥抱脸特征提取管道中获取句子嵌入
我如何从拥抱脸的特征提取管道中获得整个句子的嵌入?
我了解如何获取每个标记的特征(如下),但我如何获得整个句子的整体特征?
model - IndexError:PyTorch 中的 Transformers 上的尺寸超出范围(预计在 [-2, 1] 的范围内,但得到了 2)
我有 14 个属性和 1 个标签输出和输出类编号 10,我想在变压器上运行它,但出现此错误。当我在 MLP 模型中运行此代码时,我没有问题,但我在这里遇到了问题.
这是我的键值的示例: [ 1.3870e-01, -5.7892e-02, 2.0621e-01, -6.8972e-02, 7.8414e-02, 5.7779e-02, 3.0018e-01, -6.9849e -02] 错误已经在这里,在 multiHeadAttetionself._scores = torch.bmm(queries, keys.transpose(1,2)) / np.sqrt(K)
https://github.com/nurkbts/error/blob/main/error.ipynb
K=64
这是代码:
python - spacy v3 en_core_web_trf 管道和 en_core_web_lg 管道之间的区别
我正在使用 spacy 版本 3 进行一些性能测试,以便在生产中正确调整我的实例大小。我正在观察以下内容
观察:
型号名称 | 没有NER的时间 | NER时间 | 注释 |
---|---|---|---|
en_core_web_lg | 4.89 秒 | 21.9 秒 | NER 将原始时间增加 350% |
en_core_web_trf | 43.64 秒 | 52.83 秒 | NER 只比原来的时间增加了 20% |
为什么在 Transformer 模型的情况下,有 NER和没有 NER场景之间没有显着差异?在 en_core_web_trf 的情况下,NER 只是 POS 标记后的增量任务吗?
测试环境: GPU实例
测试代码: