softmax_cross_entropy_with_logits与sparse_softmax_cross_entropy_with_logits都是对最后的预测结果进行softmax然后求交叉熵 区别在于输入的label形式 sparse_softmax_cross_entropy_with_logits的label是 [batch_size], softmax_cross_entropy_with_logits的label是[batch_size, classes], 也就是需要对labe…
http://stackoverflow.com/questions/37312421/tensorflow-whats-the-difference-between-sparse-softmax-cross-entropy-with-logi Having two different functions is a convenience, as they produce the same result. The difference is simple: For sparse_softmax_…
1.softmax_cross_entropy_with_logits tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None) 解释:这个函数的作用是计算 logits 经 softmax 函数激活之后的交叉熵. 对于每个独立的分类任务,这个函数是去度量概率误差.比如,在 CIFAR-10 数据集上面,每张图片只有唯一一个分类标签:一张图可能是一只狗或者一辆卡车,但绝对不可能两者都在一张图中.(这也是和 tf.nn.s…
softmax_cross_entropy_with_logits函数原型: tf.nn.softmax_cross_entropy_with_logits(labels=y, logits=pred, name=None)函数功能:计算最后一层是softmax层的cross entropy,把softmax计算与cross entropy计算放到一起了,用一个函数来实现,用来提高程序的运行速度. 参数name:该操作的name 参数labels:shape是[batch_size, num_c…
其实这两个都是计算交叉熵,只是输入数据不同. #sparse 稀疏的.稀少的 word_labels = tf.constant([2,0]) predict_logits = tf.constant([[2.0,-1.0,3.0],[1.0,0.0,-0.5]]) loss = tf.nn.sparse_softmax_cross_entropy_with_logits( labels = word_labels,logits = predict_logits) with tf.Session…
http://blog.csdn.net/rockingdingo/article/details/55653279  Github下载完整代码 https://github.com/rockingdingo/deepnlp/tree/master/deepnlp/pos 简介 这篇文章中我们将基于Tensorflow的LSTM模型来实现序列化标注的任务,以NLP中的POS词性标注为例实现一个深度学习的POS Tagger.文中具体介绍如何基于Tensorflow的LSTM cell单元来构建多…
在计算loss的时候,最常见的一句话就是 tf.nn.softmax_cross_entropy_with_logits ,那么它到底是怎么做的呢? 首先明确一点,loss是代价值,也就是我们要最小化的值 tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None) 除去name参数用以指定该操作的name,与方法有关的一共两个参数: 第一个参数logits:就是神经网络最后一层的输出,如果有batch的话,它的大小就是[b…
函数:tf.nn.sparse_softmax_cross_entropy_with_logits(_sentinel=None,labels=None,logits=None,name=None) #如果遇到这个问题:Rank mismatch: Rank of labels (received 2) should equal rank of logits minus 1 (received 2). 一般是维度没有计算好: 函数是将softmax和cross_entropy放在一起计算,对于分…
1. tf.nn.conv2d(x, w, strides=[1, 1, 1, 1], padding='SAME')  # 对数据进行卷积操作 参数说明:x表示输入数据,w表示卷积核, strides表示步长,分别表示为样本数,长,宽,通道数,padding表示补零操作 2. tf.nn.max_pool(x, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='SAME')  # 对数据进行池化操作 参数说明:x表示输入数据,ksize表示卷…
在计算loss的时候,最常见的一句话就是tf.nn.softmax_cross_entropy_with_logits,那么它到底是怎么做的呢? 首先明确一点,loss是代价值,也就是我们要最小化的值 tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None) 除去name参数用以指定该操作的name,与方法有关的一共两个参数: 第一个参数logits:就是神经网络最后一层的输出,如果有batch的话,它的大小就是[bat…
有了数据,有了网络结构,下面我们就来写 cifar10 的代码. 首先处理输入,在 /home/your_name/TensorFlow/cifar10/ 下建立 cifar10_input.py,输入如下代码: from __future__ import absolute_import # 绝对导入 from __future__ import division # 精确除法,/是精确除,//是取整除 from __future__ import print_function # 打印函数…
系统架构.自底向上,设备层.网络层.数据操作层.图计算层.API层.应用层.核心层,设备层.网络层.数据操作层.图计算层.最下层是网络通信层和设备管理层.网络通信层包括gRPC(google Remote Procedure Call Protocol)和远程直接数据存取(Remote Direct Memory Access,RDMA),分布式计算需要.设备管理层包手包括TensorFlow分别在CPU.GPU.FPGA等设备上的实现.对上层提供统一接口,上层只需处理卷积等逻辑,不需要关心硬件…
这一节使用TF实现一个多层神经网络模型来对MNIST数据集进行分类,这里我们设计一个含有两个隐藏层的神经网络,在输出部分使用softmax对结果进行预测. 使用高级API实现多层神经网络 这里我们使用tensorflow.contrib包,这是一个高度封装的包,里面包含了许多类似seq2seq.keras一些实用的方法. 先引入数据 from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read…
本文介绍了tensorflow的常用函数,源自网上整理. TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源(如 CPU 或 GPU.一般你不需要显式指定使用 CPU 还是 GPU, TensorFlow 能自动检测.如果检测到 GPU, TensorFlow 会尽可能地利用找到的第一个 GPU 来执行操作.并行计算能让代价大的算法计算加速执行,TensorFlow也在实现上对复杂操作进行了有效的改进.大部分核相关的操作都是设备相关的实现,比如GPU. 下面是一些…
博客断更了一周,干啥去了?想做个聊天机器人出来,去看教程了,然后大受打击,哭着回来补TensorFlow和自然语言处理的基础了.本来如意算盘打得挺响,作为一个初学者,直接看项目(不是指MINIST手写数字识别这种),哪里不会补哪里,这样不仅能学习到TensorFlow和算法知识,还知道如何在具体项目中应用,学完后还能出来一个项目.是不是要为博主的想法双击666?图样! 现在明白了什么叫基础不牢地动山摇,明白了什么叫步子太大直接就放弃,明白了我是适合循序渐进的学习,暂时不适合对着项目直接干. 同时…
一.前述 ANN人工神经网络有两个或两个以上隐藏层,称为DNN 只有一个隐藏层是多层感知机 没有隐藏层是感知机 二.反向传播应用举例 举例: 正向传播,反向传播是一次迭代, 正向传播:在开始的每一层上都有一个参数值w,初始的时候是随机的,前向带入的是每一个样本值. 反向传播:然后反过来求所有的梯度值.如果是BGD则再根据公式wt=wt-1-ag进行调整所有w值. 然后再正向传播,迭代,以此类推. softmax通常用于最后一层的激活函数 前面层用relu函数 三.激活函数之Relu 公式: 解释…
1.tensorflow中dynamic_rnn和rnn有什么区别?    在tensorflow中没有找到rnn这个方法难道是废弃掉了? rnn是静态图,比如有10个时间序列,那么它将全部展开,并且存储这十个图, dynamic_rnn是动态的,不会全部存储这些图 dynamic_rnn对于不同的时间步的batch可以是长度不同的数据,它会根据不同的迭代进行对齐 dynamic_rnn与static_rnn区别 1.输入输出的结构不一样 dynamic_rnn的输入[batch, n_step…
摘要:本文主要对tf的一些常用概念与方法进行描述. tf函数 TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源(如 CPU 或 GPU.一般你不需要显式指定使用 CPU 还是 GPU, TensorFlow 能自动检测.如果检测到 GPU, TensorFlow 会尽可能地利用找到的第一个 GPU 来执行操作. 并行计算能让代价大的算法计算加速执行,TensorFlow也在实现上对复杂操作进行了有效的改进.大部分核相关的操作都是设备相关的实现,比如GPU.下面是…
catalogue . 个人理解 . 基本使用 . MNIST(multiclass classification)入门 . 深入MNIST . 卷积神经网络:CIFAR- 数据集分类 . 单词的向量表示(Vector Representations of Words) . 循环神经网络(RNN).LSTM(Long-Short Term Memory, LSTM) . 用深度学习网络搭建一个聊天机器人 0. 个人理解 在学习的最开始,我在这里写一个个人对deep leanring和神经网络的粗…
Reference: https://blog.csdn.net/marsjhao/article/details/72630147 分类问题损失函数-交叉熵(crossentropy) 交叉熵描述的是两个概率分布之间的距离,分类中广泛使用的损失函数,公式如下 在网络中可以通过Softmax回归将前向传播得到的结果变为交叉熵要求的概率分数值.Tensorflow中,Softmax回归的参数被去掉,通过一层将神经网络的输出变为一个概率分布. 代码实现 import tensorflow as tf…
1.tensorflow的基本运作 为了快速的熟悉TensorFlow编程,下面从一段简单的代码开始: import tensorflow as tf #定义‘符号’变量,也称为占位符 a = tf.placeholder("float") b = tf.placeholder("float") y = tf.mul(a, b) #构造一个op节点 sess = tf.Session()#建立会话 #运行会话,输入数据,并计算节点,同时打印结果 print sess…
为了快速的熟悉TensorFlow编程,下面从一段简单的代码开始: import tensorflow as tf #定义‘符号’变量,也称为占位符 a = tf.placeholder("float") b = tf.placeholder("float") y = tf.mul(a, b) #构造一个op节点 sess = tf.Session()#建立会话 #运行会话,输入数据,并计算节点,同时打印结果 print sess.run(y, feed_dict=…
tf.Graph 操作 描述 class tf.Graph tensorflow中的计算以图数据流的方式表示一个图包含一系列表示计算单元的操作对象以及在图中流动的数据单元以tensor对象表现 tf.Graph.__init__() 建立一个空图 tf.Graph.as_default() 一个将某图设置为默认图,并返回一个上下文管理器如果不显式添加一个默认图,系统会自动设置一个全局的默认图.所设置的默认图,在模块范围内所定义的节点都将默认加入默认图中 tf.Graph.as_graph_def…
关于categorical cross entropy 和 binary cross entropy的比较,差异一般体现在不同的分类(二分类.多分类等)任务目标,可以参考文章keras中两种交叉熵损失函数的探讨,其结合keras的API讨论了两者的计算原理和应用原理. 本文主要是介绍TF中的接口调用方式. 一.二分类交叉熵 对应的是网络输出单个节点,这个节点将被sigmoid处理,使用阈值分类为0或者1的问题.此类问题logits和labels必须具有相同的type和shape. 原理介绍 设x…
TensorFlow 激活函数 激活操作提供用于神经网络的不同类型的非线性.这些包括平滑的非线性(sigmoid,tanh,elu,softplus,和softsign),连续的,但不是到处可微函数(relu,relu6,crelu和relu_x),和随机正规化(dropout). 所有激活操作应用于分量,并产生与输入张量相同形状的张量. tf.nn.relu tf.nn.relu6 tf.nn.crelu tf.nn.elu tf.nn.softplus tf.nn.softsign tf.n…
Tensorflow一些常用基本概念与函数(1) 摘要:本文主要对tf的一些常用概念与方法进行描述. 1.tensorflow的基本运作 为了快速的熟悉TensorFlow编程,下面从一段简单的代码开始: import tensorflow as tf #定义‘符号’变量,也称为占位符 a = tf.placeholder("float") b = tf.placeholder("float") y = tf.mul(a, b) #构造一个op节点 sess = t…
目录 三.TensorFlow入门 1. TensorFlow计算模型--计算图 I. 计算图的概念 II. 计算图的使用 2.TensorFlow数据类型--张量 I. 张量的概念 II. 张量的使用 3.会话 4.TensorFlow实现神经网络 I. 前向传播算法 II. 神经网络参数与TensorFlow变量 III. 用TF训练神经网络 四.深层神经网络 1. 深度学习与深度神经网络 I. 线性模型的局限性 II. Activation去线性化 III. 多层网络解决异或运算 2. L…
该系列主要是<Tensorflow 实战Google深度学习框架 >阅读笔记:有了Cookbook的热身后,以这本书作为基础形成个人知识体系. Ref: [Tensorflow] Cookbook - The Tensorflow Way 第一章,简介(略) 第二章,安装(仅记录个别要点) Protocol buffer Bazel, similar with Makefile for complile. Install steps: (1) Docker (2) Tensorflow Sou…
本章介绍tf基础知识,主要包括cookbook的第一.二章节. 方针:先会用,后定制 Ref: TensorFlow 如何入门? Ref: 如何高效的学习 TensorFlow 代码? 顺便推荐该领域三件装备: How TensorFlow Works? Steps Import or generate datasets Transform and normalize data Partition datasets into train, test, and validation sets Se…
Hinge损失函数主要用来评估支持向量机算法,但有时也用来评估神经网络算法.下面的示例中是计算两个目标类(-1,1)之间的损失.下面的代码中,使用目标值1,所以预测值离1越近,损失函数值越小: # Use for predicting binary (-1, 1) classes # L = max(0, 1 - (pred * actual)) hinge_y_vals = tf.maximum(., . - tf.multiply(target, x_vals)) hinge_y_out =…