随笔分类 - Deep Learning
摘要:1、查看cuda版本 cat /usr/local/cuda/version.txt2、查看cudnn版本 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 按照结果顺序读取出版本号
阅读全文
摘要:为了模型小型化,效率更高,使用TensorRT进行优化。前提是你必须要安装pycuda,可是费了我一番功夫。做一个笔记如下: 1.参考网址: https://wiki.tiker.net/PyCuda/Installation/Linux/ 2.配置代码
阅读全文
摘要:在自然语言处理中,我们有时对文本进行处理,需要去除一些特殊符号,保留中文,这是在预处理过程中常用到的。分享给你,希望对你有帮助!
阅读全文
摘要:最近已经训练好了一版基于DeepLearning的文本分类模型,TextCNN原理。在实际的预测中,如果默认模型会优先选择GPU那么每一次实例调用,都会加载GPU信息,这会造成很大的性能降低。 那么,在使用的过程中我们无关乎使用GPU还是CPU,使用CPU反而是很快的,所以在有GPU的服务器部署模型
阅读全文
摘要:最近在做二分类模型的调优工作。最终发现模型的正例精度在95%,而正例的召回率在83%,这是什么情况呢。 我把模型预测的2000条样本结果的错误标签和内容都打印出来,发现,在样本标注的时候,多数的正样本被错误的标注为负样本,这样模型学到正例的能力就变弱了,这样将大多数正样本预测为负样本的同时,负样本的
阅读全文
摘要:最近在使用注意力机制实现文本分类,我们需要观察每一个样本中,模型的重心放在哪里了,就是观察到权重最大的token。这时我们需要使用热力图进行可视化。 我这里用到:seaborn seaborn.heatmap seaborn.heatmap(data, vmin=None, vmax=None, c
阅读全文
摘要:指明函数的入口,即从哪里执行函数。 如果你的代码中的入口函数不叫main(),而是一个其他名字的函数,如test(),则你应该这样写入口tf.app.run(test()) 如果你的代码中的入口函数叫main(),则你就可以把入口写成tf.app.run()
阅读全文
摘要:在利用tensorflow框架进行模型训练的时候,有时我们需要多次训练对结果求均值来得到一个均衡的评测结论。比如训练十次求平均值。但是tf的本质就是图,当变量第一次定义使用后,第二次再使用就是提示: ValueError: Variable rnn/basic_rnn_cell/kernel alr
阅读全文
摘要:在文本分类任务中,语料的特性千差万别,我们需要找到适合模型并抓住数据的特性,最终才能得到较好的model。最近在文本类别标注任务,就是给文本打标签确定该文本的类别。这是一个很费人工的过程,需要认真仔细,因为我们都知道有多少人工就有多少智能。 微信、QQ短文本: (1)如何分段 聊天文本的边界是无法确
阅读全文
摘要:1.TensorFlow的模型文件 --checkpoint_dir | |--checkpoint | |--MyModel.meta | |--MyModel.data-00000-of-00001 | |--MyModel.index 2.meta文件 该文件保存的是图结构,meta文件是pb
阅读全文
摘要:使用预训练词向量和随机初始化词向量的差异还是挺大的,现在说一说我使用预训练词向量的流程。 一、构建本语料的词汇表,作为我的基础词汇 二、遍历该词汇表,从预训练词向量中提取出该词对应的词向量 三、初始化embeddings遍历,将数据赋值给tensor 样例代码:
阅读全文
摘要:今天一起安装了4块1080的卡。也算有一些坑吧,记录一下。 1)1080显卡,驱动型号,tensorflow,cuda, cudnn 版本一定要一致。我的清单如下: ############################################# nvidia显卡,驱动版本:390.87
阅读全文
摘要:我们在使用tensorflow的时候,当你想复用一个函数的模块,调试时候回提示你变量已经出现,提示你是否重用。那我们当然是不重用的,因为每一个变量都是我们需要的。 要体现不同,就在不同的变量中使用name scope限定,那么其中的重复名字就不会出现问题了。 with tf.name_scope(s
阅读全文
摘要:在自然语言处理中,主要使用一维的卷积。 API inputs: 输入数据,如(?, 80, 300) filters: 滤波器的个数 kernel_size: 卷积核的大小,指定一个维度即可,即卷积核的高。宽是数据的维度,自动匹配。
阅读全文
摘要:最近在用到数据筛选,观看代码中有tf.where()的用法,不是很常用,也不是很好理解。在这里记录一下 Return the elements, either from x or y, depending on the condition. 理解:where嘛,就是要根据条件找到你要的东西。 con
阅读全文
摘要:我们在处理矩阵数据时,需要用到数据的均值和方差,比如在batch normalization的时候。 那么,tensorflow中计算均值和方差的函数是:tf.nn.moments(x, axes) x: 我们待处理的数据 axes: 在哪一个维度上求解,是一个list,如axes=[0, 1, 2
阅读全文
摘要:注意力机制本质: 注意力机制的具体计算过程,可以归纳为两个过程。 第一个过程:根据query和key计算权重系数 第二个过程:根据权重系数对value进行加权求和
阅读全文
摘要:一层的lstm效果不是很好,使用两层的lstm,代码如下。
阅读全文
摘要:Batch_size参数的作用:决定了下降的方向 极端一: batch_size为全数据集(Full Batch Learning): 好处: 1.由全数据集确定的方向能够更好地代表样本总体,从而更准确地朝向极值所在的方向。 2.由于不同权重的梯度值差别巨大,因此选择一个全局的学习率很困难。Full
阅读全文
摘要:1.CNN网络中的池化方式选择 池化方式有两种:1)最大池化;2)平均池化 在实验中我发现,最大池化要比平均池化慢很多,效果也不如平均池化好。所以,池化的方式我们尽量选择平均池化。 2.CNN卷积核的设计 卷积的大小,遵守奇数设计原则,如【1,3,5,7】 3.CNN和RNN网络输出到全连接层数据s
阅读全文