tensorflow
文章平均质量分 52
mstar1992
研究僧
展开
-
基于tensorflow的cnn文本分类
cnn在计算机视觉领域取得了很好的结果,同时它可以应用在文本分类上面,此文主要介绍如何使用tensorflow实现此任务。cnn实现文本分类的原理下图展示了如何使用cnn进行句子分类。输入是一个句子,为了使其可以进行卷积,首先需要将其转化为向量表示,通常使用word2vec实现。d=5表示每个词转化为5维的向量,矩阵的形状是[sentence_length ×\times 5],即[7 ×\time原创 2017-02-13 16:00:38 · 24782 阅读 · 7 评论 -
tf.get_variable()
tf.get_variable()通常和tf.variable_scope()一起使用,可用来共享变量tf.get_variable(name, shape, initializer): 通过所给的名字创建或是返回一个变量.tf.variable_scope(): 通过 tf.get_variable()为变量名指定命名空间.函数tf.get_variable() 用来获取或创建一个变量,不同原创 2017-03-25 22:23:39 · 6275 阅读 · 0 评论 -
tf.train.Saver
Saver类用来保存和恢复变量Saver类增加了保存和恢复变量到checkpoints的操作。它还提供了运行这些操作的便利方法。Checkpoints是专有格式的二进制文件,将变量名称映射到张量值。检查Checkpoints文件内容的最佳方式是使用Saver加载它。Saver可以用计数器自动编号checkpoint文件,这可以让你在训练模型时,在不同的步骤中保留多个checkpoint。例如,你可以原创 2017-03-24 17:27:51 · 5457 阅读 · 0 评论 -
tf.nn.conv2d理解
文档解释tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, data_format=None, name=None)给定一个input的张量[batch, in_height, in_width, in_channels]和一个过滤器 / 内核张量 [filter_height, filter_width, in_原创 2017-02-17 17:00:26 · 26601 阅读 · 6 评论 -
tf.truncated_normal与tf.random_normal
tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)从截断的正态分布输出随机值。 生成的值服从具有指定平均值和标准偏差的正态分布,如果生成的值大于平均值2个标准偏差的值则丢弃重新选择。在正态分布的曲线中,横轴区间(μ-σ,μ+σ)内的面积为68.268949%。 横轴区间(原创 2017-03-23 17:30:52 · 52758 阅读 · 4 评论 -
tf.concat与numpy.concatenate
t1 = [[1, 2, 3], [4, 5, 6]]t2 = [[7, 8, 9], [10, 11, 12]]tf.concat(0, [t1, t2]) ==> [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]tf.concat(1, [t1, t2]) ==> [[1, 2, 3, 7, 8, 9], [4, 5, 6, 10, 11, 1原创 2017-01-17 21:37:00 · 24229 阅读 · 3 评论 -
basic_rnn_seq2seq与embedding_attention_seq2seq输入的差别
在用embedding_attention_seq2seq 跑完数据之后,想用basic_rnn_seq2seq再跑一遍进行对比,发现报错了,错误是ValueError: Linear is expecting 2D arguments: [[None], [None, 128]]查了一下basic_rnn_seq2seq的文档,def basic_rnn_seq2seq( encoder_原创 2017-02-22 16:34:40 · 5150 阅读 · 2 评论 -
tf.nn.embedding_lookup理解
tf.nn.embedding_lookup(params, ids, partition_strategy='mod', name=None, validate_indices=True, max_norm=None)在params中查找与ids对应的表示。 如下代码表示在W中查找self.input_x对应的表示。W = tf.Variable( tf.random_uniform([voca原创 2017-02-13 14:05:50 · 16672 阅读 · 0 评论 -
rnn_cell._linear
源码def _linear(args, output_size, bias, bias_start=0.0, scope=None): """Linear map: sum_i(args[i] * W[i]), where W[i] is a variable. Args: args: a 2D Tensor or a list of 2D, batch x n, Tensors.原创 2017-01-18 09:30:27 · 5737 阅读 · 2 评论 -
tf.matmul
矩阵a*b# 2-D tensor `a`a = tf.constant([1, 2, 3, 4, 5, 6], shape=[2, 3]) => [[1. 2. 3.] [4. 5. 6.]]# 2-D tensor `b`b = tf.constant([7, 8, 9, 10, 1原创 2017-01-18 09:34:41 · 28201 阅读 · 0 评论 -
tf.clip_by_global_norm理解
Gradient Clipping的引入是为了处理gradient explosion或者gradients vanishing的问题。当在一次迭代中权重的更新过于迅猛的话,很容易导致loss divergence。Gradient Clipping的直观作用就是让权重的更新限制在一个合适的范围。具体的细节是 1.在solver中先设置一个clip_gradient 2.在前向传播与反向传播之后原创 2017-02-21 14:14:44 · 34701 阅读 · 4 评论 -
windows上安装tensorflow
tensorflow0.12版本支持windows,需要python3.5.x。安装python3.5.x下载:python3.5.2 安装: 第一个Install Now是默认安装在c盘的,第二个是自己选择安装路径。 我选择第二个,同时将Add Python 3.5 to PATH勾选上。 这一步可以都勾选上。 这一步的时候我没有勾选最后一项,虽然安装成功了,但是运行的时候报原创 2017-01-19 15:16:34 · 22041 阅读 · 2 评论 -
tensorflow中的seq2seq文档解读
sequence-to-sequence 模型的种类很多,每一种模型都可以使用不同的RNN单元,但是都必须以 encoder inputs 和decoder inputs作为参数。在tf.nn.seq2seq接口中有各种RNN encoder-decoder sequence-to-sequence模型,最基本的是这个样子:outputs, states = basic_rnn_seq2seq(en原创 2017-01-11 16:02:59 · 12757 阅读 · 1 评论 -
tf.contrib.learn.preprocessing.VocabularyProcessor
tf.contrib.learn.preprocessing.VocabularyProcessor (max_document_length, min_frequency=0, vocabulary=None, tokenizer_fn=None)参数:max_document_length: 文档的最大长度。如果文本的长度大于最大长度,那么它会被剪切,反之则用0填充。 min_frequenc原创 2017-04-05 16:37:09 · 15134 阅读 · 0 评论