NLP&Tensorflow
记录自己学习关于NLP的深度模型笔记......
主要是模型的理解与相关tensorflow学习笔记......
该专栏供自己记忆与复习......
accumulate_zhang
我好像什么都不会,真的!!!
展开
-
TensorFlow加载模型的时候注意事项
自己在根据训练集训练好相关模型后,再去利用该模型去获得训练集和测试集的深度特征表示。但是在获取测试集的特征表示的时候出现如下错误: tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [14351,128] ...原创 2018-04-14 14:39:03 · 4088 阅读 · 1 评论 -
tensorflow训练网络时loss出现nan值,准确率为0的问题解决方法(尝试)
问题:在使用tensorflow训练网络的时候,发现每次一个batch训练时,它的loss都为nan,导致准确率都为0。nan是代表无穷大或者非数值,一般在一个数除以0时或者log(0)时会遇到无穷大,所以你就要想想是否你在计算损失函数的时候,你的网络输出为0,又计算log,从而导致出现nan。网上也有很多原因的解释,比如学习率过大,batch过大,或者本身数据就很脏等等原因,我尝试减小学习率,从...原创 2018-04-11 08:24:16 · 30960 阅读 · 15 评论 -
关于CNN减少参数个数原理的理解
CNN 卷积神经网络学习除了增加卷积层和采样层,在传统人工神经网络的基础上,卷积神经网络还通过感受野和权值共享大大地减少了参数,降低了训练难度,也避免了参数过多引起过拟合(overfitting)。 降低参数量级为什么要降低参数量级?从下面的例子就可以很容易理解了。如果我们使用传统神经网络方式,对一张图片进行分类,那么,我们把图片的每个像素都连接到隐原创 2017-09-03 11:10:22 · 10002 阅读 · 0 评论 -
感知器的学习
深度网络:进一步理解,需要先讲感知器的知识。神经元也叫作感知器。感知器的组成部分:感知器能做什么?感知器简单的应用是:布尔运算对于两个数x1,x2,求and操作和or操作可以根据真值表尝试一下:and操作:w1=0.5 w2=0.5, b=-0.8or原创 2017-09-11 10:52:36 · 2214 阅读 · 0 评论 -
keras Hello world
刚开始入门keras,不知道keras未来的重要程度是怎么样的。但是还是学一学吧。下面是学习keras的入门,相当于hello world级别。#coding=utf-8__author__ = 'zhangxiaozi'from sklearn import datasetsimport numpy as npfrom sklearn.cross_validation imp原创 2017-09-23 11:07:21 · 1202 阅读 · 0 评论 -
AttributeError: module 'tensorflow' has no attribute 'select'
在学习TensorFlow时,遇到一个选择函数,使用tf.select()和tf.greater()来做选择操作。原文参考:with tf.Session() as sess: print(tf.greater(v1,v2).eval()) print (tf.select(tf.greater(v1,v2),v1,v2).eval())但是上面代码运行原创 2017-10-14 20:49:40 · 4751 阅读 · 0 评论 -
《TensorFlow实战实例》的一些错误更正ValueError: Only call `sparse_softmax_cross_entropy_with_logits` with named a
在学习《TensorFlow实战Google深度学习框架》这本书的时候,发现书上提供的代码有一些错误。原因是自己的TensorFlow的版本比较高,相对于书上的版本,一些API都变了,所以有些函数在书中的程序中是错误的,所以程序在运行的时候就会报错。比如:第五章中完整的训练MNIST数据的神经网络模型的程序代码中,直接运行程序的话会遇到以下的错误。首先:ValueError原创 2017-10-16 21:06:05 · 11054 阅读 · 5 评论 -
从安装Ubuntu一直到TensorFlow的安装
虽然以前自己装过虚拟机,装过Ubuntu,但是在装的过程中遇到的问题还是无法直接解决还是要百度许多博客或者方法,为了防止以后还要装,并且可以直接迅速的完整系统的安装以及一些常见问题的解决,写下这个笔记。原文参考http://blog.csdn.net/accumulate_zhang/article/details/783225641.首先下载一个VM虚拟机软件,最好是VM10以上版本的。2. 下...原创 2017-10-23 19:59:05 · 1180 阅读 · 0 评论 -
Windows在pip install tensorflow遇到的问题 一些python安装包的时候,超时问题以及权限问题
交代一下环境,win10系统,已经装了anaconda。现在是要安装TensorFlow选择直接安装TensorFlow,一般直接pip install tensoflow 就可以了。但是我安装的时候遇到两个问题。就是下面的两个问题。然后逐一解决了,就可以安装了Windows在pip 一些python安装包的时候,超时问题以及权限原创 2017-10-25 20:12:37 · 18361 阅读 · 3 评论 -
dropout 的理解
理解dropout注意:图片都在github上放着,如果刷不开的话,可以考虑翻墙。转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/49022443123开篇明义,dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个m转载 2017-10-28 11:14:34 · 567 阅读 · 0 评论 -
tensorflow中的优化器:优化器Optimizer
更新时间:2017.5.9简化了很多不需要的内容,关注重点。反正是要学一些API的,不如直接从例子里面学习怎么使用API,这样同时可以复习一下一些基本的机器学习知识。但是一开始开始和以前一样,先直接讲类和常用函数用法,然后举例子。 这里主要是各种优化器,以及使用。因为大多数机器学习任务就是最小化损失,在损失定义的情况下,后面的工作就交给优化器啦。 因为深度学转载 2017-11-01 10:03:42 · 2618 阅读 · 0 评论 -
Yoon Kim的textCNN讲解,以及tensorflow实现,CNN文本分类
本文转载自:http://www.dataguru.cn/forum.php?mod=viewthread&tid=637971&extra=page=1&page=1Ox00: Motivation最近在研究Yoon Kim的一篇经典之作Convolutional Neural Networks for Sentence Classification,这篇文章可以说是转载 2017-11-11 09:17:13 · 12002 阅读 · 1 评论 -
通俗理解LSTM的内部门操作(个人理解,可能不科学)
参考博客:http://www.jianshu.com/p/9dc9f41f0b29希望大家在阅读下面文字的时候,已经读完上面的文章了,因为下面的文字是根据上面文章来写的。首先,深度学习模型已经在各种研究领域中取得了很大的发展,主要说一下自己就CNN和RNN,LSTM模型的一些理解。(适合理解不透彻或者掌握不到精髓的读者,初学者可以看上面的博客,大神可以忽略)首原创 2017-11-19 21:38:52 · 9695 阅读 · 2 评论 -
关于TensorFlow的padding操作是如何补充0 的
1.podding='SAME'时,全0填充。2.padding=“VALID”,不使用全0填充原本书上的内容,一开始看的时候没注意,没仔细看,只是单纯的理解为padding为SAME就补0;为VALID就不补0;后来看代码的时候感觉不对劲,后来找了一些资料,才醒悟过来参考链接:http://blog.csdn.net原创 2017-10-26 23:07:00 · 15035 阅读 · 5 评论 -
tf.concat()函数的用法
tf.concat是连接两个矩阵的操作tf.concat(values,concat_dim,name='concat')除去name参数用以指定该操作的name,与方法有关的一共两个参数:concat_dim和valuesconcat_dim表示你在哪个维度上进行连接,他是整数,从0开始计数,0表示第一个维度,1表示第二个维度......values是一个原创 2017-12-03 20:05:41 · 8880 阅读 · 0 评论 -
tf.reshape()的用法与理解
tf.reshape(tensor, shape, name=None)函数的作用是将tensor变换为参数shape的形式。 其中shape为一个列表形式,特殊的一点是列表中可以存在-1。转换为一般的shape(也就是不涉及-1的)我这里就不说了,主要说一下对-1的理解。-1代表的含义是不用我们自己指定这一维的大小,函数会自动计算,但列表中只能存在一个-1。(当然如果存在多个-1,就是原创 2017-12-03 20:54:01 · 17424 阅读 · 0 评论 -
windows下使用tensorboard可视化
正在学习tensorflow,在看相关项目代码的时候,很多都使用tensorboard去查看程序中的变量的变化。下面介绍在Windows下如何使用tensorboard查了很多资料博客,找到了这个http://blog.csdn.net/fengying2016/article/details/54289931,是在进入cmd时进入到 保存日志的文件夹的上一级目录上就可以。原创 2017-12-04 13:11:27 · 1757 阅读 · 0 评论 -
nlp简单深度模型的代码套路
最近学习四个模型。textCNN, LSTM(RNN,GRU), HAN, charCNN。参考别人的博客实现了相关模型的代码,为了后续学习中能够快速写出自己的代码,特地在此进行这些模型的代码总结,这种模型除了原理不同,整体代码的流程都是差不多的。一般采用一个模型去处理文本相关任务,写得tensorflow代码一般分为四个python文件。原创 2017-12-13 22:16:53 · 2309 阅读 · 2 评论 -
TypeError: only integer scalar arrays can be converted to a scalar index
TypeError: only integer scalar arrays can be converted to a scalar index关于这个错误,已经第二次遇到了。上次遇到错误的时候,也就随便搞一搞就解决了,但是这次又碰到这个问题,然后不知道怎么解决了,然后按着正常思路又百度了一番。然而没有解决。但是依稀上次遇到同样问题时记得也是在处理同样问题的时候原创 2017-12-14 22:23:52 · 85888 阅读 · 13 评论 -
加L2正则化防止过拟合前后准确率变化,以及权重初始化
最近在看深度模型处理nlp文本分类。一般在写模型的时候,L2正则化系数设为0了,没有去跑正则化。还有一个小trick,就是一些权重的初始化,比如CNN每层的权重,以及全连接层的权重等等。一般这些权重可能选择随机初始化,符合某种正态分布。虽然结果影响不大,但是肯定会影响模型收敛以及准确率的。先上两张图。第一张原创 2017-12-15 11:03:37 · 5714 阅读 · 2 评论 -
windows下tensorflow两种加载模型的测试数据方法
一、加载多次保存的模型中的某一次模型,而不是latest的一次global sessglobal charcnndef get_logits_with_value_by_input(start,end): x=test_x[start:end] global sess global charcnn logits = sess.run(charcn原创 2017-12-16 10:09:21 · 2231 阅读 · 1 评论