如何在tensorflow keras中使用CRF?

2024-01-30

代码是这样的:

import tensorflow as tf
from keras_contrib.layers import CRF
from tensorflow import keras

def create_model(max_seq_len, adapter_size=64):
    """Creates a classification model."""

    # adapter_size = 64  # see - arXiv:1902.00751

    # create the bert layer
    with tf.io.gfile.GFile(bert_config_file, "r") as reader:
        bc = StockBertConfig.from_json_string(reader.read())
        bert_params = map_stock_config_to_params(bc)
        bert_params.adapter_size = adapter_size
        bert = BertModelLayer.from_params(bert_params, name="bert")

    input_ids = keras.layers.Input(shape=(max_seq_len,), dtype='int32', name="input_ids")
    # token_type_ids = keras.layers.Input(shape=(max_seq_len,), dtype='int32', name="token_type_ids")
    # output         = bert([input_ids, token_type_ids])
    bert_output = bert(input_ids)
    print("bert_output.shape: {}".format(bert_output.shape))  # (?, 100, 768)

    crf = CRF(len(tag2idx))
    logits = crf(bert_output)
    model = keras.Model(inputs=input_ids, outputs=logits)
    model.build(input_shape=(None, max_seq_len))

    # load the pre-trained model weights
    load_stock_weights(bert, bert_ckpt_file)

    # freeze weights if adapter-BERT is used
    if adapter_size is not None:
        freeze_bert_layers(bert)

    model.compile('adam', loss=crf.loss_function, metrics=[crf.accuracy])

    model.summary()

    return model

我正在使用tensorflow keras,还使用keras_contrib包来进行NER。看来tensorflow keras 包不能与 keras_contrib 包很好地配合使用。

回溯信息如下:

Traceback (most recent call last):
  File "F:/_gitclone3/bert_examples/bert_ner_example_eval.py", line 120, in <module>
    model = create_model(max_seq_len, adapter_size=adapter_size)
  File "F:/_gitclone3/bert_examples/bert_ner_example_eval.py", line 101, in create_model
    logits = crf(bert_output)
  File "C:\Users\yuexiang\Anaconda3\lib\site-packages\keras\engine\base_layer.py", line 443, in __call__
    previous_mask = _collect_previous_mask(inputs)
  File "C:\Users\yuexiang\Anaconda3\lib\site-packages\keras\engine\base_layer.py", line 1311, in _collect_previous_mask
    mask = node.output_masks[tensor_index]
AttributeError: 'Node' object has no attribute 'output_masks'

如何将 CRF 与 Tensorflow keras 结合使用?


我遇到了类似的问题,并花了很多时间试图让事情正常运转。这是使用 python 3.6.5 对我有用的方法:

Seqeval:

pip install seqeval==0.0.5

Keras:

pip install keras==2.2.4

Keras-contrib (2.0.8):

git clone https://www.github.com/keras-team/keras-contrib.git

cd keras-contrib

python setup.py install

张力流:

pip install tensorflow==1.14.0

Do pip list确保您确实安装了这些版本(例如pip seqeval可能会自动更新你的keras)

然后在您的代码中像这样导入:

from keras.models import *
from keras.layers import LSTM, Embedding, Dense, TimeDistributed, Dropout, Bidirectional, Input
from keras_contrib.layers import CRF
#etc.

希望这有帮助,祝你好运!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在tensorflow keras中使用CRF? 的相关文章

  • ValueError:请使用“Layer”实例初始化“TimeDistributed”层

    我正在尝试构建一个可以在音频和视频样本上进行训练的模型 但出现此错误ValueError Please initialize TimeDistributed layer with a Layer instance You passed Te
  • 如何在 keras 中添加可训练的 hadamard 产品层?

    我试图在训练样本中引入稀疏性 我的数据矩阵的大小为 比如说 NxP 我想将其传递到一个层 keras 层 该层的权重大小与输入大小相同 即可训练权重矩阵W的形状为NxP 我想对这一层的输入矩阵进行哈达玛乘积 逐元素乘法 W 按元素与输入相乘
  • TensorFlow:带有轴选项的 bincount

    在 TensorFlow 中 我可以使用 tf bincount 获取数组中每个元素的计数 x tf placeholder tf int32 None freq tf bincount x tf Session run freq feed
  • 在相同任务上,Keras 比 TensorFlow 慢

    我正在使用 Python 运行斩首 DCNN 本例中为 Inception V3 来获取图像特征 我使用的是 Anaconda Py3 6 和 Windows7 使用 TensorFlow 时 我将会话保存在变量中 感谢 jdehesa 并
  • GradientTape 根据损失函数是否被 tf.function 修饰给出不同的梯度

    我发现计算的梯度取决于 tf function 装饰器的相互作用 如下所示 首先 我为二元分类创建一些合成数据 tf random set seed 42 np random seed 42 x tf random normal 2 1 y
  • 异常:加载数据时 URL 获取失败

    我正在尝试设置我的机器来运行 Tensorflow 2 我从未使用过 Tensorflow 只是下载了 Python 3 7 我不确定这是否是我的机器的问题 我按照上面列出的安装说明进行操作TensorFlow 的网站 https www
  • Tensorflow 中的图像叠加图像卷积

    假设我有两组图像 A 和 B 每个图像都是 11X5x5x3 其中 11 是示例数量 5x5x3 是图像尺寸 Tensorflow 中是否有一种简单的方法可以对 A i 中的每个图像应用 B i 上的卷积 即 B i 扮演过滤器角色 A i
  • Keras model.predict 函数给出输入形状错误

    我已经在 Tensorflow 中实现了通用句子编码器 现在我正在尝试预测句子的类概率 我也将字符串转换为数组 Code if model model type universal classifier basic class probs
  • 在 Keras 中连接两个目录迭代器

    假设我有类似以下内容 image data generator ImageDataGenerator rescale 1 255 train generator image data generator flow from director
  • TensorFlow的./configure在哪里以及如何启用GPU支持?

    在我的 Ubuntu 上安装 TensorFlow 时 我想将 GPU 与 CUDA 结合使用 但我却停在了这一步官方教程 http www tensorflow org get started os setup md 这到底是哪里 con
  • 使用队列从多个输入文件中统一采样

    我的数据集中的每个类都有一个序列化文件 我想使用队列来加载每个文件 然后将它们放入 RandomShuffleQueue 中 这样我就可以从每个类中获得随机的示例组合 我认为这段代码会起作用 在此示例中 每个文件有 10 个示例 filen
  • 默认情况下,Keras 自定义层参数是不可训练的吗?

    我在 Keras 中构建了一个简单的自定义层 并惊讶地发现参数默认情况下未设置为可训练 我可以通过显式设置可训练属性来使其工作 我无法通过查看文档或代码来解释为什么会这样 这是应该的样子还是我做错了什么导致默认情况下参数不可训练 代码 im
  • 为什么我的结果仍然无法重现?

    我想要为 CNN 获得可重复的结果 我使用带有 GPU 的 Keras 和 Google Colab 除了建议插入某些代码片段 这应该允许再现性 之外 我还在层中添加了种子 This is the first code snipped to
  • Tensorflow 对 Python3.11 的支持

    我在 Windows10 PC 上安装了 Python3 11 0 尝试使用以下命令安装张量流 pip install tensorflow 给出错误 访问tensorflow网站后 我意识到它仅支持3 7 3 10 我应该降级 pytho
  • 在张量流的卷积层中使用自定义过滤器

    我一直在从各种教程中学习 Tensorflow 并且想知道是否可以定义一个自定义过滤器供卷积网络使用 例如 如果我知道特征中有有意义的结构 使得每个其他特征都是相关的 我想定义一个看起来像 0 1 0 1 0 1 的过滤器 tf nn co
  • 使用 Keras np_utils.to_categorical 的问题

    我正在尝试将整数的 one hot 向量数组制作为 keras 将能够使用的 one hot 向量数组来拟合我的模型 这是代码的相关部分 Y train np hstack np asarray dataframe output vecto
  • 在 keras 中保存和加载权重

    我试图从我训练过的模型中保存和加载权重 我用来保存模型的代码是 TensorBoard log dir output model fit generator image a b gen batch size steps per epoch
  • keras 模型拟合:ValueError:无法找到可以处理输入的数据适配器:

    我正在构建一个简单的 CNN 模型用于多类分类 训练和测试数据位于data path根据所需的类子目录flow from directory的函数ImageDataGenerator 这是我根据数据构建和训练模型的代码 from tenso
  • 如何使用tensorFlow C++ API中的fileWrite摘要在Tensorboard中查看它

    无论如何 我是否可以获得与 FileWriter 相对应的张量名称 以便我可以写出我的摘要以在 Tensorboard 中查看它们 我的应用程序是基于C 的 所以我必须使用C 来进行训练 FileWriter 不是张量 import ten
  • 将 Keras 集成到 SKLearn 管道?

    我有一个 sklearn 管道 对异构数据类型 布尔 分类 数字 文本 执行特征工程 并想尝试使用神经网络作为我的学习算法来拟合模型 我遇到了输入数据形状的一些问题 我想知道我想做的事情是否可能 或者我是否应该尝试不同的方法 我尝试了几种不

随机推荐

  • 如何重绘 RGraph SVG 线图?

    我有一个嵌入在微控制器上的简单网络服务器 其中一个网页允许用户绘制捕获的数据 CSV 格式 该页面首先加载所有数据并将其呈现给用户 但随后我希望允许用户执行诸如选择和取消选择数据 列 更改线条颜色和更改数据比例之类的操作 当我天真地第二次调
  • 如何在更新 ViewModel 属性时数据触发动画?

    我有以下 DataGrid 单元格 我想在基础颜色出现后立即为其背景颜色设置动画LastTradePrice财产改变其价值
  • 在“-u”模式下处理 bash 空数组的可靠的独立于版本的 (3.2 .. 4.4) 方式

    虽然建议的解决方案使用 set u 进行 Bash 空数组扩展 https stackoverflow com questions 7577052 bash empty array expansion with set u对我来说效果很好
  • ASPNET 成员资格提供程序表和自定义成员资格表之间的关系

    我不久前经历了一个自定义配置文件提供程序示例 我是 现在重新审视它 我的数据库包含运行 aspnet 注册时创建的所有 dbo aspnet 表 向导 在这些表中 我有 aspnet Profile 它有一个指向 aspnet Users
  • 为什么使用 pyqt 时 PyCharm 中的 python 控制台不显示任何错误消息? [复制]

    这个问题在这里已经有答案了 我的一些使用 pyqt5 的代码遇到了一些问题 当我的 Qt 类出现问题时 控制台不会记录有关崩溃发生原因的任何信息 例如使用以下代码 rom PyQt5 QtGui import from PyQt5 QtCo
  • UIScrollView 未正确更新和显示

    我有问题UIscrollView 这就是我所做的 每当用户通过相机胶卷选择图像 多个或单个 时Imagepicker 我想将它显示在我的 UIScrollView 中 我能够显示它 但是当我转到Imagepicker再次然后再次选择图像 它
  • SwiftUI 中的自定义模式转换

    我正在尝试使用以下命令重新创建 iOS 11 12 App StoreSwiftUI 让我们想象一下 故事 是点击卡片时显示的视图 我已经完成了卡片 但我现在遇到的问题是如何制作动画来显示 故事 由于我不擅长解释 这里有一个 gif Gif
  • 以编程方式将 YouTube 视频添加到墙贴

    如何在 Facebook 墙中嵌入 YouTube 视频 我尝试使用 源 成员传递视频网址 但没有成功 在检查手动发布的提要的 json 后 我发现 FB 的服务器代码进行了一些处理来实现这一点 提要向我展示了这一点 id 10000146
  • 有没有纯Python的Lucene?

    红宝石人有Ferret https github com dbalmain ferret 有人知道 Python 有类似的计划吗 我们目前使用 PyLucene 但我想研究转向纯 Python 搜索 Whoosh http pypi pyt
  • 将哈希中的一个匹配值替换为另一个值

    我有一个哈希数组 arr key1 gt one key2 gt two key3 gt three key1 gt four key2 gt five key3 gt six key1 gt seven key2 gt eight key
  • 在 pandas 中将月份从数字重命名为名称

    我有以下数据框 High Low Open Close Volume Adj Close year pct day month day 1 1 NaN NaN NaN NaN NaN NaN 2010 0 0 000000 2 7869 8
  • 如何获取 UI 元素的屏幕位置?

    我正在尝试获取 UI 元素的全局位置 我尝试了很多不同的方法来获得这个职位 但似乎都不起作用 问题出在锚点上 因为我移动它们而不是 UI 元素位置本身 出于分辨率目的 检查器中显示的 UI 位置始终为 0 0 0 我还尝试让anchored
  • 为什么精挑细选会导致仓库不稳定? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我不是开发人员 在我们的一个项目中 由于很多门票需要时间才能完成 因此我们一直在挑选我们的提交 现在我们必须经常这样做 一位开发人员告诉我
  • 为什么我的 jquery UI 日期选择器没有默认为英语

    我基本上复制了代码从这里 http jqueryui com demos datepicker 但是当我测试我的网站时我看到了这个 替代文本 http img148 imageshack us img148 8167 datepicker
  • 是否可以在 Action Script 3 中动态创建用户定义类的实例?

    我有一个工厂 其中 Action Script 遵循 xml 并从中构建 DisplayObject 层次结构 这意味着脚本事先并不知道它将在 xml 中遇到哪些元素 因此也不知道它将需要哪些用户定义的工厂类 我知道可以做这样的事情 var
  • Web 部署 - 使用相对路径进行本地文件系统部署

    我想使用 Web 部署来运行自定义部署设置 因为我希望在许多不同的环境 团队成员本地计算机 4 个不同的构建服务器 上运行时都能正常工作 所以我想部署到相对的本地路径 我想做的是 部署到本地relative path 让构建后的步骤做神奇的
  • 扭曲中的持久连接

    我是 Twisted 的新手 有一个问题 如何在 Twisted 中组织持久连接 我有一个队列 每秒都会检查它 如果有一些 发送给客户端 我找不到比每秒调用 dataReceived 更好的方法了 下面是协议实现的代码 class Sync
  • 同构镜片

    我对 van Laarhoven 的一个小例子感兴趣同构透镜 http twanvl nl blog haskell isomorphism lenses 应用于像这样的数据类型data BValue BValue Float Float
  • android:smoothScrollToPosition()无法正常工作

    在将元素添加到与列表视图关联的数组适配器后 我试图平滑地滚动到列表的最后一个元素 问题是它只是滚动到随机位置 arrayadapter add item DOES NOT WORK CORRECTLY listview smoothScro
  • 如何在tensorflow keras中使用CRF?

    代码是这样的 import tensorflow as tf from keras contrib layers import CRF from tensorflow import keras def create model max se