尝试使用Keras / Theano运行LSTM多标签文本分类 .

我有一个文本/标签csv . 文本是纯文本,标签是数字,总共9个,从1到9 .

我想我没有为这个问题正确配置模型 . 我的代码到目前为止:

import keras.preprocessing.text

import numpy as np

Using Theano backend.

from keras.preprocessing import sequence

from keras.models import Sequential

from keras.layers.core import Dense, Activation

from keras.layers.embeddings import Embedding

from keras.layers.recurrent import LSTM

import pandas

data = pandas.read_csv("for_keras_text_label.csv", sep = ',', quotechar = '"', header = 0)

x = data['text']

y = data['label']

x = x.iloc[:].values

y = y.iloc[:].values

tk = keras.preprocessing.text.Tokenizer(nb_words=2000, filters=keras.preprocessing.text.base_filter(), lower=True, split=" ")

tk.fit_on_texts(x)

x = tk.texts_to_sequences(x)

max_len = 80

print "max_len ", max_len

print('Pad sequences (samples x time)')

x = sequence.pad_sequences(x, maxlen=max_len)

# the model

max_features = 20000

model = Sequential()

model.add(Embedding(max_features, 128, input_length=max_len, dropout=0.2))

model.add(LSTM(128, dropout_W=0.2, dropout_U=0.2))

model.add(Dense(9))

model.add(Activation('softmax'))

model.compile(loss='sparse_categorical_crossentropy', optimizer='rmsprop', metrics=["accuracy"])

# run

model.fit(x, y=y, batch_size=200, nb_epoch=1, verbose=1, validation_split=0.2, shuffle=True)

我收到此错误:

IndexError: index 9 is out of bounds for axis 1 with size 9 Apply node that caused the error:

AdvancedIncSubtensor{inplace=False, set_instead_of_inc=True}(Alloc.0, TensorConstant{1}, ARange{dtype='int64'}.0, Elemwise{Cast{int32}}.0)

Toposort index: 213

Inputs types: [TensorType(float32, matrix), TensorType(int8, scalar), TensorType(int64, vector), TensorType(int32, vector)]

Inputs shapes: [(200, 9), (), (200,), (200,)]

Inputs strides: [(36, 4), (), (8,), (4,)]

Inputs values: ['not shown', array(1, dtype=int8), 'not shown', 'not shown']

Outputs clients: [[Reshape{2}(AdvancedIncSubtensor{inplace=False, set_instead_of_inc=True}.0, MakeVector{dtype='int64'}.0)]]

Backtrace when the node is created(use Theano flag traceback.limit=N to make it longer):

File "/home/ubuntu/anaconda3/envs/theano/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2827, in run_ast_nodes

if self.run_code(code, result):

File "/home/ubuntu/anaconda3/envs/theano/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2881, in run_code

exec(code_obj, self.user_global_ns, self.user_ns)

File "", line 7, in

model.compile(loss='sparse_categorical_crossentropy', optimizer='rmsprop', metrics=["accuracy"])

File "/home/ubuntu/anaconda3/envs/theano/lib/python2.7/site-packages/keras/models.py", line 578, in compile

**kwargs)

File "/home/ubuntu/anaconda3/envs/theano/lib/python2.7/site-packages/keras/engine/training.py", line 604, in compile

sample_weight, mask)

File "/home/ubuntu/anaconda3/envs/theano/lib/python2.7/site-packages/keras/engine/training.py", line 303, in weighted

score_array = fn(y_true, y_pred)

File "/home/ubuntu/anaconda3/envs/theano/lib/python2.7/site-packages/keras/objectives.py", line 45, in sparse_categorical_crossentropy

return K.sparse_categorical_crossentropy(y_pred, y_true)

File "/home/ubuntu/anaconda3/envs/theano/lib/python2.7/site-packages/keras/backend/theano_backend.py", line 1079, in sparse_categorical_crossentropy

target = T.extra_ops.to_one_hot(target, nb_class=output.shape[-1])

java调用keras theano模型_使用Keras / Theano和LSTM进行多标签文本分类相关推荐

  1. java调用keras theano模型_使用Keras获得模型输出的梯度w.r.t权重

    要使用Keras获得关于权重的模型输出的梯度,您必须使用Keras后端模块 . 我创建了这个简单的例子来准确说明该做什么: from keras.models import Sequential fr ...

  2. bert-textcnn实现多标签文本分类(基于keras+keras-bert构建)

    基于keras+keras-bert构建bert-textcnn模型实现多标签文本分类 跑别人的代码,最痛苦的莫不在于环境有错误.代码含义不懂.自己从头到尾尝试了一遍,过程很艰难,为了方便同样在学习的 ...

  3. 文本分类模型_多标签文本分类、情感倾向分析、文本实体抽取模型如何定制?...

    文心(ERNIE)是依托百度深度学习平台飞桨打造的语义理解技术与平台,集先进的预训练模型.全面的NLP算法集.端到端开发套件和平台化服务于一体,为企业和开发者提供一整套NLP定制与应用能力.在2020 ...

  4. Bert模型做多标签文本分类

    Bert模型做多标签文本分类 参考链接 BERT模型的详细介绍 图解BERT模型:从零开始构建BERT (强推)李宏毅2021春机器学习课程 我们现在来说,怎么把Bert应用到多标签文本分类的问题上. ...

  5. 恒源云(GPUSHARE)_长尾分布的多标签文本分类平衡方法(论文学习笔记)

    文章来源 | 恒源云社区(专注人工智能/深度学习云GPU服务器训练平台,官方体验网址:https://gpushare.com/center/) 原文地址 | https://bbs.gpushare ...

  6. bert 是单标签还是多标签 的分类_搞定NLP领域的“变形金刚”!教你用BERT进行多标签文本分类...

    大数据文摘出品 来源:medium 编译:李雷.睡不着的iris.Aileen 过去的一年,深度神经网络的应用开启了自然语言处理的新时代.预训练模型在研究领域的应用已经令许多NLP项目的最新成果产生了 ...

  7. bert 是单标签还是多标签 的分类_搞定NLP领域的“变形金刚”!手把手教你用BERT进行多标签文本分类...

    大数据文摘出品 来源:medium 编译:李雷.睡不着的iris.Aileen 过去的一年,深度神经网络的应用开启了自然语言处理的新时代.预训练模型在研究领域的应用已经令许多NLP项目的最新成果产生了 ...

  8. 【多标签文本分类】融合CNN-SAM与GAT的多标签文本分类模型

    ·阅读摘要:   在本文中,作者基于CNN.Attention.GAT提出CS-GAT模型,在一些通用数据集上,表现良好. ·参考文献:   [1] 融合CNN-SAM与GAT的多标签文本分类模型   ...

  9. 多标签文本分类数据集_标签感知的文档表示用于多标签文本分类(EMNLP 2019)...

    原文: Label-Specific Document Representation for Multi-Label Text Classification(EMNLP 2019) 多标签文本分类 摘要: ...

最新文章

  1. 使用最小堆优化Dijkstra算法
  2. mysql主从复制搭建
  3. Kubernetes——自动扩展容器!假设你突然需要增加你的应用;你只需要告诉deployment一个新的 pod 副本总数即可...
  4. 在Linux系统下如何运行notes客户端
  5. maven学习6 Eclipse下Tomcat常用设置
  6. linux 3g 程序,ARM板和Linux上的3G配置详解
  7. Visual Studio Code连接SQL SERVER 2019
  8. 贪心/栈 - 去除重复字母
  9. [LeetCode] Power of Four
  10. @Python 程序员,如何最大化提升编码效率?
  11. C# 利用SQLite对.DB和.logdb加密和解密和SQLite创建数据库
  12. win11HDMI端口无法使用怎么办 windows11HDMI端口无法使用的解决方法
  13. 关于Savitzky-Golay滤波器
  14. 如何清除计算机的u盘使用记录,如何消除电脑上U盘使用记录
  15. 苹果手机壳_手机壳推荐:iPhone12手机壳苹果保护壳平价个性推荐
  16. 视频网关是什么,视频接入网关技术作用
  17. 【每日英文】2021.8.5
  18. RSE2021/云检测:Automatic cloud and cloud shadow detection in tropical areas用于PlanetScope热带地区自动云和云阴影检测
  19. 网络故障的技术一些东东
  20. RabbitMQ总结

热门文章

  1. idea补全代码快捷键
  2. leetcode 416. Partition Equal Subset Sum | 416. 分割等和子集(Java)
  3. 思科拓扑结构探测及VLAN设计
  4. VUE如何操作DOM
  5. 【终极办法】org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘helloC
  6. 【简便解法】1084 Broken Keyboard (20 分)_16行代码AC
  7. java tostring方法_Java程序员小伙启动项目报错,原来是使用了lombok
  8. mixamo网站_超全面的素材网站推荐
  9. Eclipse中io操作提示找不到文件
  10. linux耳机检测,Audio Jack 的耳机检测和按键检测