How to do sparse input text classification(dnn) using tensorflow
You can get complete example code from
https://github.com/chenghuige/hasky/tree/master/applications
Including
- How to parse libsvm dataset file to tfrecords
- Reading tfrecords and do dnn/logistic regresssion classifciation/regresssion
- Train + evaluate
- See train process (loss and metric track) in tensorboard
- Show how to use melt.train_flow to handle all other things(optimizer, learning rate, model saving, log …)
The main realated code:
melt.tfrecords/libsvm_decode #parsing libsvm file
melt.models.mlp
def forward(inputs,
num_outputs,
input_dim=None,
hiddens=[200],
activation_fn=tf.nn.relu,
weights_initializer=initializers.xavier_initializer(),
weights_regularizer=None,
biases_initializer=init_ops.zeros_initializer(),
biases_regularizer=None,
reuse=None,
scope=None
):
text-classfication/model.py shows how to use this
You must specify num_outputs and input_dim for sparse input dataset
For example 10 classes classficiation problem then num_outputs=10
If you do regresssion then num_outputs=1
input_dim should be the same as your dataset num input features
You may change hiddens, the default is [200], means only 1 hidden layer size 200,
You can use more hiddens like [200, 100, 100] means 3 hidden layers with size 200,100,100
You may also set hiddens [] empty , means you only do logistic regression
What's the diff between melt.layers.fully_connected and tf.contrib.layers.fully_connected?
Well similary but we will also deal with sparse input, the main difference in here
We use melt.matmul
def matmul(X, w): |
|
if isinstance(X, tf.Tensor): |
|
return tf.matmul(X,w) |
|
else: |
|
#X[0] index, X[1] value |
|
return tf.nn.embedding_lookup_sparse(w, X[0], X[1], combiner='sum') |
来自 <https://github.com/chenghuige/tensorflow-example/blob/master/util/melt/ops/ops.py>
Tensorboard show:
How to do sparse input text classification(dnn) using tensorflow的更多相关文章
- [转] Implementing a CNN for Text Classification in TensorFlow
Github上的一个开源项目,文档讲得极清晰 Github - https://github.com/dennybritz/cnn-text-classification-tf 原文- http:// ...
- [Tensorflow] RNN - 04. Work with CNN for Text Classification
Ref: Combining CNN and RNN for spoken language identification Ref: Convolutional Methods for Text [1 ...
- [Bayes] Maximum Likelihood estimates for text classification
Naïve Bayes Classifier. We will use, specifically, the Bernoulli-Dirichlet model for text classifica ...
- 论文阅读:《Bag of Tricks for Efficient Text Classification》
论文阅读:<Bag of Tricks for Efficient Text Classification> 2018-04-25 11:22:29 卓寿杰_SoulJoy 阅读数 954 ...
- 论文翻译——Character-level Convolutional Networks for Text Classification
论文地址 Abstract Open-text semantic parsers are designed to interpret any statement in natural language ...
- input:text 的value 和 attribute('value') 不是一回事
如题,input:text 当手工输入字符改变其值时,两者就不一样了. 要获得手工输入,不要用attribute('value'), 直接使用value: function getbyid(id){ ...
- jquery循环table中tbody的tr中input:text,将值进行拼接传入控制器并返回状态和描述
引用jquery $(function(){ $("#按钮id").click(function(){ var nums="";//变量 $("#ta ...
- input text输完自动跳到下一个
应用场景: 短信验证码输入 效果: input输入框,输入完以后自动跳转到下一个 思路: 四个输入框 进入聚焦到第一个输入框 第一个输入框输完一个字符后自动聚焦到下一个输入框 1.四个输入框 < ...
- RobotFramework自动化测试框架-移动手机自动化测试Input Text和Click Button关键字的使用
Input Text和Click Button Input Text 关键字一般用来给输入框进行输入操作,该关键字接收两个参数[ locator | text ]. 示例1:启动安卓手机上一个APP的 ...
随机推荐
- PAT Basic 1001
1001 害死人不偿命的(3n+1)猜想 (15 分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 (3n+1) 砍掉一半.这样一直反复 ...
- 获取html下的所有纯文本的方法
第一种是看别人博客的,第二种是自己发现的. 第一种: #-*- coding: utf8 -*- import re html = """ <div class=& ...
- PLC STL any数据类型
1.any数据类型共10个字节,数据格式如下 2.Byte 0: 固定10h 表示S7 Byte 1:表示数据类型 Coding of the Data Types Hexadecimal Code ...
- nodeJs --- web服务器创建
一.下载nodeJs http://nodejs.cn/download/ 根据自己的情况选择下载 然后在命令行中输入 node -v 看是否安装成功 (下载node时,会把npm包处理工具一起下) ...
- JS膏集01
JS膏集01 1.动态页面: 向服务器发送请求,服务器那边没有页面,动态生成后,返回给客户端 由html/css/js组成. js还不是面向对象的语言,是基于对象的语言.js中没有类的概念,js的继承 ...
- poj3276 Face The Right Way(反转问题,好题)
https://vjudge.net/problem/POJ-3276 首先意识到,对一个区间进行两次及以上的反转是没有意义的,而且反转次序不影响最终结果. 有点像二分搜索时用的逐个试的方法,每次翻的 ...
- CentOS 7配置成网关服务器
其实在Linux下配置网关服务器很简单,如果配置好之后出现无法访问外网的情况,那么可以排查以下情况: 1.防火墙和iptables的服务关掉(firewalld.iptables) 2.清空iptab ...
- 解决错误:Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.
原因是代码直接放在默认包里边,比如src\main\java目录下 应该在src\main\java下建立子目录,比如src\main\java\com\test 这样的话,代码就在com.test这 ...
- Python - 列联表的独立性检验(卡方检验)
Python - 列联表的独立性检验(卡方检验) 想对两个或两个以上因子彼此之间是否相互独立做检验时,就要用到卡方检验,原以为在Python中实现会像R的chisq.test一样简便,但scipy的s ...
- bootstrap3-iframe-modal子页面在父页面显示模态框
本文灵感来自:http://www.cnblogs.com/chengxuyuanzhilu/p/5132328.html 子页面内容 //打开模态框 function openMySelectMod ...