tensorflow当中的loss里面的logits可不可以是placeholder

我使用tensorflow实现手写数字识别,我希望softmax_cross_entropy_with_logits里面的logits先用一个placeholder表示,然后在计算的时候再通过计算出的值再传给placeholder,但是会报错ValueError: No gradients provided for any variable, check your graph for ops that do not support gradients。我知道直接把logits那里改成outputs就可以了,但是如果我一定要用logits的结果先是一个placeholder,我应该怎么解决呢。

import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("/home/as/下载/resnet-152_mnist-master/mnist_dataset", one_hot=True)

from tensorflow.contrib.layers import fully_connected

x = tf.placeholder(dtype=tf.float32,shape=[None,784])
y = tf.placeholder(dtype=tf.float32,shape=[None,1])

hidden1 = fully_connected(x,100,activation_fn=tf.nn.elu,
                         weights_initializer=tf.random_normal_initializer())

hidden2 = fully_connected(hidden1,200,activation_fn=tf.nn.elu,
                         weights_initializer=tf.random_normal_initializer())
hidden3 = fully_connected(hidden2,200,activation_fn=tf.nn.elu,
                         weights_initializer=tf.random_normal_initializer())


outputs = fully_connected(hidden3,10,activation_fn=None,
                         weights_initializer=tf.random_normal_initializer())




a = tf.placeholder(tf.float32,[None,10])


loss = tf.nn.softmax_cross_entropy_with_logits(labels=y,logits=a)
reduce_mean_loss = tf.reduce_mean(loss)

equal_result = tf.equal(tf.argmax(outputs,1),tf.argmax(y,1))
cast_result = tf.cast(equal_result,dtype=tf.float32)
accuracy = tf.reduce_mean(cast_result)

train_op = tf.train.AdamOptimizer(0.001).minimize(reduce_mean_loss)

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    for i in range(30000):
        xs,ys = mnist.train.next_batch(128)
        result = outputs.eval(feed_dict={x:xs})
        sess.run(train_op,feed_dict={a:result,y:ys})
        print(i)
0

查看全部1条回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
tensorflow学习笔记(三):损失函数
""" tf.python.ops.nn_ops.sparse_softmax_cross_entropy_with_logits(logits, labels, name=None) """ def sparse_softmax_cross_entropy_with_logits(logits, labels, name=None): #logits是最后一层的z(输入) #A common us
tf.losses类中的交叉熵函数
tf.losses类中的交叉熵函数: tf.losses.softmax_cross_entropy( onehot_labels, logits, weights=1.0, label_smoothing=0, scope=None, loss_collection=tf.GraphKeys.LOSSES, reductio...
TensorFlow 基本用法(一)
介绍在官方文档中MNIST入门中用到的函数 1. tf.placeholder(dtype, shape=None, name=None) dtype:数据类型 shape:数据形状 name:操作的命名(可以不指定) 返回值为Tensor类型 x = tf.placeholder("float", [None,784]) #None表示该维度长度任意 #返回值为Tensor("Pl...
Tensorflow四种交叉熵函数计算公式:tf.nn.cross_entropy
Tensorflow交叉熵函数:cross_entropy 注意:tensorflow交叉熵计算函数输入中的logits都不是softmax或sigmoid的输出,而是softmax或sigmoid函数的输入,因为它在函数内部进行sigmoid或softmax操作   tf.nn.sigmoid_cross_entropy_with_logits(_sentinel=None,label
tensorflow某些函数的小坑(持续更新)
刚刚接触tensorflow,正在跟tutorial学习。英文的官网经常上不了(shadowsocks不太稳定),退而求其次看极客学院翻译的中文教程.看见其中的一些奇奇怪怪的函数,这里mark一下nn.sparse_softmax_cross_entropy_with_logits()这个函数看名字都知道,是将稀疏表示的label与输出层计算出来结果做对比,函数的形式和参数如下:nn.sparse_
tensorflow中sequence_loss_by_example()函数的计算过程(结合TF的ptb构建语言模型例子)
1 softmax 2 交叉熵
Placeholder()传入值的应用
import tensorflow as tf import numpy as np input1 = tf.placeholder(tf.float32) input2 = tf.placeholder(tf.float32) output = tf.multiply(input1, input2) with tf.Session() as sess: print(sess.run(o...
TensorFlow学习(七):基本神经网络"组件"
基本的神经网络的激活函数和分类的函数
机器学习-关于自定义损失函数(tensorflow笔记)
对于回归问题,最常用的损失函数是均方误差(MSE,mean squared error),但是对于实际问题,MSE可能是最接近于真实答案,但却不是能使实际问题利益最大化的选择。比如对于预测商品销量的问题,如果预测多了(预测值大于真实销量),损失的是商品的成本,如果预测少了(预测值小于真实销量),损失的是商品的利润。那有可能多预测一个少挣1元,而少预测一个就可能少挣10元。因此需要将损失函数与利润直...
[052]TensorFlow Layers指南:基于CNN的手写数字识别
TensorFlow Layers module 为容易的创建一个神经网络提供了高水平的API接口。它提供了很多方法帮助创建dense(全连接)层和卷积层,增加激活函数和应用dropout做归一化。在这个教程中,你会学到如何用layers构建一个卷积神经网络用于识别手写体数字,基于MNIST数据集。MNIST 数据集包括手写体数字0~9的6万个训练数据和1万个测试数据,并格式化为28*28像素单色图
Tensorflow1.8用keras实现MNIST数据集手写字体识别例程
import tensorflow as tf tf.enable_eager_execution() eager是新版本加入的动态图,可以直接计算出结果而不用使用Session。同时也支持微分操作。 class DataLoader(): def __init__(self): mnist = tf.contrib.learn.datasets.load_data...
switch语句中的判断能否是byte,long或String
switch(ss)     ss只能是整数表达式和枚举类型。   由于byte,short,char ,可以隐式的转化为int型,所以它们及它们的包装类都可以当做 switch判断,JDK1.7引入新特性后,String也可以被switch作用 由于long不能隐式的转化为int型    所以long  不能被switch作用
TensorFlow损失函数专题
一、分类问题损失函数——交叉熵(crossentropy) 交叉熵刻画了两个概率分布之间的距离,是分类问题中使用广泛的损失函数。给定两个概率分布p和q,交叉熵刻画的是两个概率分布之间的距离: 我们可以通过Softmax回归将神经网络前向传播得到的结果变成交叉熵要求的概率分布得分。在TensorFlow中,Softmax回归的参数被去掉了,只是一个额外的处理层,将神经网络的输出变成一个概
SSD算法Tensorflow版详解(二)
Loss函数计算SSD的Loss函数包含两项:(1)预测类别损失(2)预测位置偏移量损失:Loss中的N代表着被挑选出来的默认框个数(包括正样本和负样本),L(los)即位置偏移量损失是Smooth L1 loss(是默认框与GTbox之间的位置偏移与网络预测出的位置偏移量之间的损失),L(conf)即预测类别损失是多类别softmax loss,α的值设置为1.  Smooth L1 loss定...
tensorflow cifar_10 代码阅读与理解
前言 Tensorflow 提供cifar_10 benchmark问题的示例代码,并且在中文翻译的官方文档中有专门的一章介绍该卷积神经网络(CNN),作为刚刚接触深度学习与Tensorflow框架的菜鸟,对tf提供的大量库函数与深度学习的trick并不十分熟悉,因此花了两天的时间通读懂了代码,下面具体剖析一下整个程序的过程,作为学习记录。 准备工作 从Github http
tensorflow的基本用法(四)——placeholder
tensorflow的基本用法(四)——placeholder
tensorflow学习笔记(十一):seq2seq Model相关接口介绍
源码地址 调用外部的函数介绍 tf.sampled_softmax_loss() tf.sampled_softmax_loss()中调用了_compute_sampled_logits() 关于__compute_sampled_logits() #此函数和nce_loss是差不多的, 取样求loss def sampled_softmax_loss(weights, #[num...
tensorflow训练出现nan的讨论
本文讲述tensorflow训练时出现nan的原因,及其解决办法
tensorflow中损失函数总结
(1)sequence_loss_by_example(logits, targets, weights) 这个函数用于计算所有examples的加权交叉熵损失,logits参数是一个2D Tensor构成的列表对象,每一个2D Tensor的尺寸为[batch_size x num_decoder_symbols],函数的返回值是一个1D float类型的Tensor,尺寸为batch_size
(tensorflow)——tf.estimator自定义估算器使用方法
1 简介 在TensorFlow的UG中,他们强烈的建议在写Tensorflow程序时使用estimator的API,使用后发现的确好用!在github上一些开源程序也已经开始使用estimator,比如DeeplabV3+,关于DeeplabV3+的代码注释可以参考我的另一篇博客。 官方原话: We strongly recommend writing TensorFlow programs w...
tf的softmax交叉熵计算中的logits的含义
tf.nn.softmax_cross_entropy_with_logits函数是TensorFlow中常用的求交叉熵的函数。其中函数名中的“logits”是个什么意思呢?它时不时地困惑初学者,下面我们就讨论一下。   tf.nn.softmax_cross_entropy_with_logits( _sentinel=None, labels=None, ...
TensorFlow 教程 --教程--2.6卷积神经网络
注意: 本教程适用于对Tensorflow有丰富经验的用户,并假定用户有机器学习相关领域的专业知识和经验。概述对CIFAR-10 数据集的分类是机器学习中一个公开的基准测试问题,其任务是对一组32x32RGB的图像进行分类,这些图像涵盖了10个类别:飞机, 汽车, 鸟, 猫, 鹿, 狗, 青蛙, 马, 船以及卡车。想了解更多信息请参考CIFAR-10 page,以及Alex Krizhevsky写...
深度学习基础--logits
logits   深度学习源码里经常出现logits   logits: 未归一化的概率, 一般也就是 softmax层的输入。所以logits和lables的shape一样
构造函数里面的函数可不可以是private的
同上.我笨但我肯问,谢谢各位老大解答
tensorflow 张量的阶、形状、数据类型及None在tensor中表示的意思
x = tf.placeholder(tf.float32, [None, 784])x isn't a specific value. It's a placeholder, a value that we'll input when we ask TensorFlow to run a computation. We want to be able to input any number of...
TensorFlow学习(一)——tensorboard,可视化(如制作loss损失变化图【重要】)summary/scalar/histogram/FileWriter
TensorFlow开发了一个特别有用的可视化工具包:TensorBoard,既可以显示网络结构,又可以显示训练和测试过程中各层参数的变化情况,也是现实神经网络流程图,分为四个部分,第一部分介绍步骤,第二部分是完整代码,第三部分是运行结果。 第一部分:基本步骤 A、神经网络流程图 所有流程图需要添加如下小部件:,网络层层(layer),输入(input-x,input-y),权重(weigh...
tensorflow图像分类实战解析(下)
global_step = tf.Variable(0, name='global_step', trainable=False) train_op = optimizer.minimize(loss, global_step=global_step) return train_op 设定最小化目标以及最大步长def evaluation(logits, labels): correct
tensorflow学习笔记(十):sess.run()
session.run()session.run([fetch1, fetch2])import tensorflow as tf state = tf.Variable(0.0,dtype=tf.float32) one = tf.constant(1.0,dtype=tf.float32) new_val = tf.add(state, one) update = tf.assign(state
【tensorflow1.0学习笔记004】TensorBoard可视化助手
本节主要讲解TensorBoard可视化工具TensorBoard可以将训练过程中的各种绘制数据展示出来,包括标量(scalars),图片(images),音频(Audio),计算图(graph),数据分布,直方图(histograms)和嵌入式向量。使用TensorBoard展示数据,需要在执行Tensorflow就算图的过程中,将各种类型的数据汇总并记录到日志文件中。然后使用TensorBo...
input背景图像和placeholder内容重叠
问题一 input添加背景图像和placeholder内容重叠 解决步骤 定位在最左边时,给输入框添加padding-left,定位在右边时给右边加padding-right,以防输入文字和图片重合 问题二 input背景图标显示太大 解决步骤   1.css中 background-size:104px 328px;设置png背景图像缩小之后的尺...
TensorFlow——训练自己的数据(三)模型训练
参考:Tensorflow教程-猫狗大战数据集 文件training.py 导入文件 import os import numpy as np import tensorflow as tf import input_data import model变量声明N_CLASSES = 2 #猫和狗 IMG_W = 208 # resize图像,太大的话训练时间久 IMG_H = 208 BATC
TensorFlow 训练多个loss函数技巧: 训练步骤,冻结部分层(freeze some scopes),从tensorboard检查问题
这两天使用TensorFlow训练一个多个损失函数的网络模型,自己搭建网络,调参训练,由于网络是一个两阶段的网络,具有三个损失函数,其中两个损失函数监督第一个阶段,一个损失函数家督第二个阶段,而且损失函数监督的并不全是最后一层,还有中间层,这需要调整我的训练方式。 训练方式 先分别训练第一阶段的两个损失函数 固定住第一阶段的网络的参数,只训练第二阶段网络参数 调整三个loss函数的正则化参...
正确理解TensorFlow中的logits
【问题】I was going through the tensorflow API docs here. In the tensorflow documentation, they used a keyword called logits. What is it? In a lot of methods in the API docs it is wri...
TensorFLow 中 CTC 的相关函数介绍
一、SparseTensor 类介绍 稀疏矩阵:当密集矩阵中大部分的数都是 0 的时候,就可以用一种更好的存储方式(只将矩阵中不为 0 的) class tf.SparseTensor(indices, values, dense_shape) 输入参数: indices: 指定 Sparse Tensor 中非 0 值的索引,是一个 2D 的 int64 张...
tensorflow 各种报错总结
1. 'list' object has no attribute 'lower' 报错如下Traceback (most recent call last): File "H:/FasionAI/MyNet/train.py", line 27, in <module> train_logits = model.inference(train_batch, BATCH_S...
tensorflow学习之常用函数总结:tensorflow.placeholder()函数
tensorflow.placeholder()函数 tensorflow.placeholder(dtype, shape=None, name=None) 此函数可以理解为形参,用于定义过程,在执行的时候再赋具体的值,placeholder相当于定义了一个位置,这个位置中的数据在程序运行时再指定。 参数: dtype:数据类型。常用的是tf.float32,tf.f
tensorflow的基本用法(一)
一.sessoion session会话: 指定到某个神经网络#encoding:utf-8 import tensorflow as tf import numpy as np ##定义一个向量## ##运算两个矩阵## martrix1=tf.constant([[3,3]]) martrix2=tf.constant([[2],[2]]) product=tf.matmul(matrix1
TensorFlow 实战之实现卷积神经网络
   本文根据最近学习TensorFlow书籍网络文章的情况,特将一些学习心得做了总结,详情如下.如有不当之处,请各位大拿多多指点,在此谢过。 一、相关性概念   1、卷积神经网络(ConvolutionNeural Network,CNN)             19世纪60年代科学家最早提出感受野(ReceptiveField)。当时通过对猫视觉皮层细胞研究,科学家发现每一个视觉神经...
慕课网tensorflow学习,cnn实现,代码简单,就不写备注,留个底python3.x版本
import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #读取手写库 mnist= input_data.read_data_sets('mnist_data',one_hot=True) input_x=tf.placeholder(tf.floa...
【tensorflow 深度学习】10.用tensorflow处理自己的数据
1.数据    再kaggle里下载猫狗的图片数据,各12500张作为训练集,下载另外12500张作为训练集。这是一个二分类问题,可以让猫的标签为0,狗的标签为1。2.步骤    (1).生成图片和图片对应标签的lists。    (2).用lists列表生成tensorflow queue队列。    (3).使用一种tensorflow中的读取器读取队列。    (4).使用一种tensorf...
文章热词 tensorflow安装部署 tensorflow卷积网络 tensorflow的变量 tensorflow线性回归 tensorflow简介
相关热词 ios获取idfa server的安全控制模型是什么 sql android title搜索 人工智能方面的培训 人工智能方面的课程