问题标签 [ktrain]
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 - ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()||| 快车| BERT
需要您的支持...我正在学习一个教程并尝试在我的数据集上运行。我遇到错误...请考虑我是初学者,所以如果您能告诉我如何解决以及原因是什么,我将不胜感激?
错误:ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()
错误截图
我发现我需要使用(np.allclose)我不确定在我的代码中使用什么.....谢谢
更新:使用提供的解决方案更新代码后出现新错误。 使用提供的解决方案更新代码后出现新错误
machine-learning - BERT 多类情感分析准确率低?
我正在研究一个小型数据集:
包含1500篇新闻文章。
所有这些文章都根据人类的情绪/积极程度按 5 分制进行排名。
在拼写错误方面干净。在导入分析之前,我使用谷歌表检查拼写。还有一些字符没有正确编码,但不多。
平均长度大于 512 字。
稍微不平衡的数据集。
我认为这是一个多类分类问题,我想用这个数据集微调 BERT。为了做到这一点,我使用Ktrain
了包并基本上遵循教程。下面是我的代码:
但是,我的验证准确率只有 25% 左右,太低了。
我也尝试了头+尾截断策略,因为有些文章很长,但是性能保持不变。
谁能给我一些建议?
非常感谢!
最好的
许
================== 更新 7.21=================
按照 Kartikey 的建议,我尝试了 find_lr。下面是结果。看来 2e^-5 是一个合理的学习率。
我只是试着用一些权重来运行它:
这是结果。变化不大。
============== 更新 7.22 =============
为了获得一些基线结果,我将 5 分制的分类问题折叠成一个二元分类问题,这只是为了预测正面或负面。这次准确率提高到 55% 左右。以下是我的策略的详细说明:
但是,我认为 55% 仍然不是一个令人满意的准确率,比随机猜测略好。
============ 更新 7.26 =============
按照 Marcos Lima 的建议,我在我的程序中做了几个额外的步骤:
在 Ktrain pkg 预处理之前删除所有数字、标点符号和多余的空格。(我认为 Ktrain pkg 会为我做这个,但不确定)
我使用示例中任何文本的前 384 个和后 128 个标记。这就是我所说的“头+尾”策略。
任务仍然是二分类(正vs负)
这是学习曲线的图。它和我之前发布的一样。它看起来仍然与 Marcos Lima 发布的非常不同:
以下是我的结果,这可能是我得到的最好的一组结果。
注意:我认为 pkg 很难在我的任务上很好地工作的原因可能是这个任务就像是分类和情感分析的结合。新闻文章的经典分类任务是分类新闻属于哪个类别,例如,生物学、经济学、体育。不同类别中使用的词非常不同。另一方面,情感分类的经典例子是分析 Yelp 或 IMDB 评论。我的猜测是,这些文本在表达情绪方面非常简单,而我的样本中的文本(经济新闻)在发布前经过精心整理和组织,因此情绪可能总是以某种隐含的方式出现,而 BERT 可能无法检测到。
python - KeyError: 0 使用 preprocess_test 时
preprocess_train 运行成功。
有人在使用 preprocess_test / ktrain (0.18.5) 时遇到过类似的 KeyError 吗?
distilbert - distilbert 模型不适用于 ktrain
我尝试使用 distilbert 分类器。但我收到以下错误。
这是我的代码
这是错误
由于我办公室当前的环境问题,我只能在 tf 2.2 和 python 3.8 上工作。现在我使用的是 0.19。
如果我将它降级到 0.16,你认为它会影响我当前的环境吗?
python - 如何将另一个预训练的 BERT 模型与 ktrain 文本分类器一起使用?
我们如何为 ktrain 库中的文本分类器使用不同的预训练模型?使用时:
模型 = text.text_classifier('bert', (x_train, y_train) , preproc=preproc)
但是,我也想尝试单语模型。即荷兰语:''wietsedv/bert-base-dutch-cased',它也用于其他 k-train 实现,例如.
但是,当尝试在文本分类器中使用此命令时,它不起作用:
或者
有谁怎么做到这一点?谢谢!
python - 导入 tensorflow 没有名为 swish 的属性的 ktrain 时面临错误
导入 ktrain 时,出现以下错误:
AttributeError: module 'tensorflow_core.keras.activations' has no attribute 'swish'
任何人都可以请帮助并告诉如何让它去吗?在 google colab 上也可以正常工作。
完全错误:
python - 解决 ktrain 预测器与学习器预测的速度差异?
我正在使用 ktrain huggingface 库来构建语言模型。我注意到,在将其用于生产时,“学习者预测”与“预测者预测”的速度存在巨大差异。为什么以及有什么方法可以加快预测器的预测速度?
python - Wrapper Ktrain for Text Classification Multiclass - 与 CPU 并行化拟合
我正在尝试通过利用 Ktrain 包装器来解决 BERT 的多类分类问题。有大量数据,我想知道是否可以并行化 learner.fit_onecycle(3e-4, 5) 函数或 autofit() 函数。
例如,在 sklerarn 中,您可以使用 n_jobs 参数指定并行作业的数量。
你可以帮助我?谢谢
python - distillbert ktrain '解包的值太多'
我正在尝试在 Colab 中使用 ktrain 运行 DistilBert,但我收到“错误太多值无法解包”。我正在尝试执行有毒评论分类,我从 CivilComments 上传了“train.csv”,我可以运行 BERT 但不能运行 DistilBert
如果我只使用“bert”进行预处理,它就可以正常工作,但是我不能使用 distilbert 模型。使用 distilbert 进行预处理时出现错误:
'要解压的值太多,预计为 2',如果我用 bert 替换 distilbert 它可以正常工作(下面的代码),但是我被迫使用 bert 作为模型,使用 bert 进行预处理可以正常工作:
这个没有错误,但我不能使用 distilbert,见下文:
示例:model = txt.text_classifier('distilbert', train_data=(x_train, y_train), preproc=preproc)
错误消息:if 'bert' is selected model, then preprocess_mode='bert' should be used and vice versa
我想 (x_test, y_test), preproc = txt.texts_from_csv(DATA_PATH, 'comment_text', label_columns=label_columns, val_filepath=None, max_features=NUM_WORDS, maxlen=MAXLEN, preprocess_mode='distilbert')
与 distillbert 模型一起使用,如何避免错误“太多值无法解包”
代码所基于的链接:Arun Maiya (2019)。ktrain:用于帮助训练神经网络的 Keras 轻量级包装器。https://towardsdatascience.com/ktrain-a-lightweight-wrapper-for-keras-to-help-train-neural-networks-82851ba889c。