
TensorFlow
M_Z_G_Y
这个作者很懒,什么都没留下…
展开
-
TensorFlow入门:《TensorFlow:实战Google深度学习框架》——LeNet-5
LetNet_inference.py:实现LeNet-5网络结构#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/5/17 11:24# @Author : HJH# @Site : # @File : LetNet_inference.py# @Software: PyCharmimp...原创 2018-05-17 14:55:53 · 772 阅读 · 1 评论 -
TensorFlow入门:四种Cross Entropy算法实现和应用
交叉熵介绍交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小,常见的Loss函数就是均方平方差(Mean Squared Error),定义如下。平方差很好理解,预测值与真实值直接相减,为了避免得到负数取绝对值或者平方,再做平均就是均方平方差。注意这里预测值需要经过sigmoid激活函数,得到取值范围在0到1之间的预测值。平...转载 2018-05-28 20:51:50 · 273 阅读 · 0 评论 -
TensorFlow入门:损失函数
TensorFlow的Cross_Entropy实现tf.nn.sigmoid_cross_entropy_with_logits(_sentinel=None,labels=None, logits=None, name=None)sigmoid_cross_entropy_with_logits是TensorFlow最早实现的交叉熵算法。这个函数的输入是logits和labels,lo...转载 2018-06-05 16:12:23 · 676 阅读 · 0 评论 -
TensorFlow入门:epochs,batch_size,iterations详解
深度学习框架中涉及很多参数,如果一些基本的参数如果不了解,那么你去看任何一个深度学习框架是都会觉得很困难,下面介绍几个新手常问的几个参数。batch深度学习的优化算法,说白了就是梯度下降。每次的参数更新有两种方式。第一种,遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度。这种方法每更新一次参数都要把数据集里的所有样本都看一遍,计算量开销大,计算速度慢,不支持在线学习,...转载 2018-06-05 16:54:53 · 2927 阅读 · 0 评论 -
TensorFlow入门:tf基本函数
1、tensorflow的基本运作为了快速的熟悉TensorFlow编程,下面从一段简单的代码开始:import tensorflow as tf #定义‘符号’变量,也称为占位符 a = tf.placeholder("float") b = tf.placeholder("float") y = tf.mul(a, b) #构造一个op节点 sess = tf.Sess...转载 2018-05-31 14:29:34 · 1431 阅读 · 0 评论 -
TensorFlow入门:使用TensorFlow中的Dataset
本文已更新至TensorFlow1.5版本 我们知道,在TensorFlow中可以使用feed-dict的方式输入数据信息,但是这种方法的速度是最慢的,在实际应用中应该尽量避免这种方法。而使用输入管道就可以保证GPU在工作时无需等待新的数据输入,这才是正确的方法。幸运的是,TensorFlow提供了一种内置的API——Dataset,使得我们可以很容易地就利用输入管道的方式输入数据。在这篇...转载 2018-06-25 10:56:42 · 1340 阅读 · 0 评论 -
TensorFlow入门:学习率衰减
学习率衰减(learning rate decay)加快学习算法的一个办法就是随时间慢慢减少学习率,我们将之称为学习率衰减(learning rate decay)概括假设你要使用mini-batch梯度下降法,mini-batch数量不大,大概64或者128个样本,但是在迭代过程中会有噪音,下降朝向这里的最小值,但是不会精确的收敛,所以你的算法最后在附近摆动.,并不会真正的收敛.因为...转载 2018-06-27 11:36:40 · 1145 阅读 · 0 评论 -
TensorFlow入门:优化器的选择
下面是 TensorFlow 中的优化器,https://www.tensorflow.org/api_guides/python/train在 keras 中也有 SGD,RMSprop,Adagrad,Adadelta,Adam 等:https://keras.io/optimizers/优化器算法简述标准梯度下降法(GrandientDescent):汇总所有样本的总误差,然...转载 2018-06-28 15:15:38 · 730 阅读 · 0 评论 -
TensorFlow入门:数据读取的三种方式
‘在讲述在TensorFlow上的数据读取方式之前,有必要了解一下TensorFlow的系统架构,如下图所示:TensorFlow的系统架构分为两个部分:前端系统:提供编程模型,负责构造计算图; 后端系统:提供运行时环境,负责执行计算图。在处理数据的过程当中,由于现在的硬件性能的极大提升,数值计算过程可以通过加强硬件的方式来改善,因此数据读取(即IO)往往会成为系统运行性能的瓶颈。...转载 2018-07-18 10:12:01 · 455 阅读 · 0 评论 -
TensorFLow入门:零碎知识点
tf.reduce_xxx函数如tf.reduce_mean( ),tf.reduce_sum( )等,沿着tensor的某一维度,计算元素的平均值,总和等。参数:reduce_xxx(input_tensor,axis=None,keep_dims=False,name=None, reduction_indices=None) input_tensor:需要降维的tensor。 ...原创 2018-08-04 21:24:14 · 501 阅读 · 0 评论 -
Tensorflow入门:tfrecord读写cifar10数据集
将cifar10转为tfrecord文件:#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/7/18 15:00# @Author : HJH# @Site : # @File : covert_cifar10.py# @Software: PyCharmimport tensorflow...原创 2018-08-03 14:52:42 · 2894 阅读 · 4 评论 -
机器学习/深度学习入门:搭建神经网络流程(tensorflow版本)
搭建神经网络流程:1.加载训练数据,并预处理(对于图像等数据,可以直接转化为矩阵,或者通过tf.convert_to_tensor()将其转换为tensor数据类型处理);2.构建网络层,如conv,pool,relu,lrn,fc等,在此处需要设置相应层的权重和偏置;比较喜欢的构建方式如下(以定义AlexNet为例):import tensorflow as tfBATCH...原创 2018-06-05 15:54:01 · 1055 阅读 · 0 评论 -
numpy,tensorFlow.tensor,torch.tensor的shape以及相互转化
numpynumpy.ndarray 对于图片读取之后(H,W,C)或者(batch,H,W,C)在元素总数不变的情况下:numpy类型的可以直接使用方法numpy.reshape任意改变大小,numpy.expand_dims增加维度,大小是1(这个函数可以参考numpy.expand_dims的用法)tensorFlowtensorflow.python.framework....转载 2019-03-12 18:56:02 · 6038 阅读 · 0 评论 -
TensorFlow入门:Session.run和Tensor.eval
原问题链接:http://stackoverflow.com/questions/33610685/in-tensorflow-what-is-the-difference-between-session-run-and-tensor-eval译:问题:tensorflow有两种方式:Session.run和 Tensor.eval,这两者的区别在哪?答:如果你有一个Ten...转载 2018-05-23 10:47:34 · 172 阅读 · 0 评论 -
TensorFlow入门:tf.InteractiveSession()与tf.Session()区别
tf.InteractiveSession():它能让你在运行图的时候,插入一些计算图,这些计算图是由某些操作(operations)构成的。这对于工作在交互式环境中的人们来说非常便利,比如使用IPython。 tf.Session():需要在启动session之前构建整个计算图,然后启动该计算图。意思就是在我们使用tf.InteractiveSession()来构建会话的时候,我们可...转载 2018-05-23 10:37:11 · 3136 阅读 · 0 评论 -
TensorFlow入门:实现简单的神经网络并用matplotlib.pyplot可视化
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/5/14 13:40# @Author : HJH# @Site : # @File : add_layer.py# @Software: PyCharmimport tensorflow as tfimport numpy as npim...原创 2018-05-14 15:12:39 · 1318 阅读 · 0 评论 -
TensorFlow入门:实现简单的神经网络并用tensorboard可视化
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/5/14 13:40# @Author : HJH# @Site : # @File : add_layer.py# @Software: PyCharmimport tensorflow as tfimport numpy as npd...原创 2018-05-14 16:46:10 · 384 阅读 · 0 评论 -
TensorFlow入门:简单的分类任务和overfitting
简单的分类任务:#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/5/14 17:20# @Author : HJH# @Site : # @File : classification.py# @Software: PyCharm#利用独热编码one hot来分类手写数字import t...原创 2018-05-14 21:48:15 · 860 阅读 · 0 评论 -
TensorFlow入门:实现简单的CNN
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/5/14 21:38# @Author : HJH# @Site : # @File : CNN.py# @Software: PyCharmimport tensorflow as tffrom tensorflow.examples.tu...原创 2018-05-15 11:45:14 · 320 阅读 · 0 评论 -
TensorFlow入门:各种函数中的shape参数
tf.truncated_normal(shape, mean, stddev) :shape表示生成张量的维度,mean是均值,stddev是标准差。这个函数产生正太分布,均值和标准差自己设定。这是一个截断的产生正太分布的函数,就是说产生正太分布的值如果与均值的差值大于两倍的标准差,那就重新生成。和一般的正太分布的产生随机数据比起来,这个函数产生的随机数与均值的差距不会超过两倍的标准差,但是一般...转载 2018-05-16 10:05:57 · 9508 阅读 · 0 评论 -
TensorFlow入门:滑动平均模型
在TensorFlow中提供了tf.train.ExponentialMovingAverage 来实现滑动平均模型,在采用随机梯度下降算法训练神经网络时,使用其可以提高模型在测试数据上的健壮性(robustness)。TensorFlow下的 tf.train.ExponentialMovingAverage 需要提供一个衰减率decay。该衰减率用于控制模型更新的速度。该衰减率用于控制模型...原创 2018-05-16 10:22:51 · 885 阅读 · 0 评论 -
TensorFlow入门:《TensorFlow:实战Google深度学习框架》——基础版的MNIST数字识别问题
话不多说,直接看代码#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/5/16 8:53# @Author : HJH# @Site : # @File : classification1.py# @Software: PyCharmimport tensorflow as tffr...原创 2018-05-16 13:41:52 · 254 阅读 · 0 评论 -
TensorFlow入门:变量管理
TensorFlow变量管理1. TensorFLow提供了tf.get_variable函数来创建或者获取变量,tf.get_variable用于创建变量时,其功能和tf.Variable基本是等价的。tf.get_variable中的初始化方法(initializer)的参数和tf.Variable的初始化过程也类似,initializer函数和tf.Variable的初始化方法是一一对应...转载 2018-05-16 14:33:12 · 364 阅读 · 0 评论 -
TensorFlow入门:《TensorFlow:实战Google深度学习框架》——升级版的MNIST数字识别问题
基本的MNIST数字识别问题中程序的可扩展性不好,而且计算前向传播的函数需要将所有变量都传入,使程序的可读性变差,程序退出时。训练好的程序无法再次使用等一些列的问题,本文使用变量管理机制和持久化机制实现了MNIST数字识别问题。mnist_inference.py定义了前向传播过程的过程和神经网络中的参数(在训练和测试过程中都会应用得到,所以提取出来)#!/usr/bin/env pyt...原创 2018-05-16 16:37:11 · 245 阅读 · 0 评论 -
TensorFlow入门:ConfigProto和GPU
ConfigPrototf.ConfigProto一般用在创建session的时候。用来对session进行参数配置os.environ['CUDA_VISIBLE_DEVICES'] = str(0)config = tf.ConfigProto()config.gpu_options.per_process_gpu_memory_fraction = 0.8session = ...转载 2018-05-23 10:31:16 · 248 阅读 · 0 评论