tensorflow-tf.nn.softmax,tf.nn.sparse_softmax_cr

#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
Created on Tue Oct 2 08:43:02 2018

@author: myhaspl
@email:[email protected]
tf.nn.softmax
tf.nn.sparse_softmax_cross_entropy_with_logits
tf.nn.softmax_cross_entropy_with_logits
"""
import tensorflow as tf

g=tf.Graph()

with g.as_default():
x1=tf.constant([0.4,0.2,0.9,0.81])
x2=tf.constant([0.6,0.3,0.7,0.6])
x3=tf.constant([0.7,0.4,0.8,0.95])
y1=[tf.nn.softmax(x1)]
y2=tf.nn.softmax(x2)
y3=tf.nn.softmax(x3)
y=tf.stack([y2,y3])

labels1 = [0,2]
logits1 = [2,0.5]

labels2 = [1,3]
logits2 = [[2,0.5,6,2,1],[1.8,0.3,2,0.1,0.5]]

result1 = tf.nn.softmax_cross_entropy_with_logits(labels=labels1, logits=logits1)
result2 = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=labels2, logits=logits2)

with tf.Session(graph=g) as sess:
print sess.run(result1)
print sess.run(result2)

3.4028268
[5.5463643 2.7646239]

tf.nn.sparse_softmax_cross_entropy_with_logits表示一个样本只能属于一类,具有排他性。但要注意,labels是稀疏表示的,是 [0,num_classes]中的一个数值,因此,labels的每个元素是标量标签值,对应着logits中的向量输出值。
tf.nn.softmax_cross_entropy_with_logits表示一个样本可以属于多类,不具排他性。labels和logits为正常的单个或多个向量标签值与输出值。

原文地址:http://blog.51cto.com/13959448/2325556

时间: 2024-08-30 07:43:51

tensorflow-tf.nn.softmax,tf.nn.sparse_softmax_cr的相关文章

机器学习与Tensorflow(7)——tf.train.Saver()、inception-v3的应用

1. tf.train.Saver() tf.train.Saver()是一个类,提供了变量.模型(也称图Graph)的保存和恢复模型方法. TensorFlow是通过构造Graph的方式进行深度学习,任何操作(如卷积.池化等)都需要operator,保存和恢复操作也不例外. 在tf.train.Saver()类初始化时,用于保存和恢复的save和restore operator会被加入Graph.所以,下列类初始化操作应在搭建Graph时完成. saver = tf.train.Saver()

tensorflow学习之softmax regression

电脑配置:win10 + Anaconda3 + pyton3.5 + vs2013 + tensorflow + Gpu980 + matlab2016b softmax regression的详细介绍,请参考黄文坚的<tensorflow实战>的第3.2节. 原书pdf下载地址: 链接:https://pan.baidu.com/s/1sk8Qm4X 密码:28jk 原书code下载地址:链接:https://pan.baidu.com/s/1eR1LepW 密码:kmiz 我这里的贡献,

TensorFlow实战之Softmax Regression识别手写数字

     关于本文说明,本人原博客地址位于http://blog.csdn.net/qq_37608890,本文来自笔者于2018年02月21日 23:10:04所撰写内容(http://blog.csdn.net/qq_37608890/article/details/79343860).        本文根据最近学习TensorFlow书籍网络文章的情况,特将一些学习心得做了总结,详情如下.如有不当之处,请各位大拿多多指点,在此谢过. 一.相关概念 1.MNIST MNIST(Mixed

tf.nn.softmax 分类

tf.nn.softmax(logits,axis=None,name=None,dim=None) 参数: logits:一个非空的Tensor.必须是下列类型之一:half, float32,float64 axis:将在其上执行维度softmax.默认值为-1,表示最后一个维度 name:操作的名称(可选) dim:axis的已弃用的别名 返回: 一个Tensor,与logits具有相同的类型和shape sample import tensorflow as tf #tf.enable_

CNN之池化层tf.nn.max_pool|tf.nn.avg_pool|tf.reduce_mean

摘要:池化层的主要目的是降维,通过滤波器映射区域内取最大值.平均值等操作. 均值池化:tf.nn.avg_pool(input,ksize,strides,padding) 最大池化:tf.nn.max_pool(input,ksize,strides,padding) input:通常情况下是卷积层输出的featuremap,shape=[batch,height,width,channels]              假定这个矩阵就是卷积层输出的featuremap(2通道输出)  他的s

【tf.keras】tf.keras使用tensorflow中定义的optimizer

我的 tensorflow+keras 版本: print(tf.VERSION) # '1.10.0' print(tf.keras.__version__) # '2.1.6-tf' tf.keras 没有实现 AdamW,即 Adam with Weight decay.论文<DECOUPLED WEIGHT DECAY REGULARIZATION>提出,在使用 Adam 时,weight decay 不等于 L2 regularization.具体可以参见 当前训练神经网络最快的方式

图融合之加载子图:Tensorflow.contrib.slim与tf.train.Saver之坑

import tensorflow as tf import tensorflow.contrib.slim as slim import rawpy import numpy as np import tensorflow as tf import struct import glob import os from PIL import Image import time __sony__ = 0 __huawei__ = 1 __blackberry__ = 2 __stage_raw2ra

tensorflow中使用tf.variable_scope和tf.get_variable的ValueError

ValueError: Variable conv1/weights1 already exists, disallowed. Did you mean to set reuse=True in VarScope? Originally defined at: 在使用tensorflow 中的tf.variable_scope和tf.get_variable搭建网络时,重复运行程序会报以上的ValueError错误,这是因为第二次运行时,内存中已经存在名字相同的层或者参数,发生了冲突,所以会提示

TensorFlow 学习(二)—— tf Graph tf Session 与 tf Session run

session: with tf.Session() as sess:/ tf.InteractiveSession() 初始化: tf.global_variables_initializer() with tf.Session() as sess: sess.run(tf.global_variables_initializer()) 1 2 0. tf.Graph 命名空间与 operation name(oper.name 获取操作名): c_0 = tf.constant(0, nam