TensorFLow
文章平均质量分 93
tensorflow 简介及使用
man_world
这个作者很懒,什么都没留下…
展开
-
TensorFLow 模型在移动端的部署
TensorFLow 模型在移动端的部署原创 2022-08-05 21:13:05 · 188 阅读 · 0 评论 -
SqueezeNet & SqueezeNext 简介
一、模型原理采用 Global Average Pooling 代替 FC 层采用不同于传统的卷积方式,提出 fire module;fire module 包含两部分:squeeze 层 和 expand层squeeze 层是一个 1*1 卷积核的卷积层,expand 层是一个 1*1 和 3*3 卷积核的卷积层,在 expand 层后,要把 1*1 和 3*3 卷积后得到的 feat...原创 2018-09-27 20:55:57 · 1622 阅读 · 0 评论 -
TensorFLow 中 CTC 的相关函数介绍
一、SparseTensor 类介绍 稀疏矩阵:当密集矩阵中大部分的数都是 0 的时候,就可以用一种更好的存储方式(只将矩阵中不为 0 的) class tf.SparseTensor(indices, values, dense_shape) 输入参数: indices: 指定 Sparse Tensor 中非 0 值的索引,是一个 2D 的 int64 张...原创 2018-08-11 14:10:26 · 7830 阅读 · 7 评论 -
TensorFlow 中 RNN&LSTM 的使用
一、RNN&LSTM 基类1、RNN 基类 class tf.contrib.rnn.BasicRNNCell(num_units, activation=None, reuse=None, name=None) 输入参数: num_units: int, the number of units in the RNN cell. activat...原创 2018-06-04 21:24:13 · 3802 阅读 · 1 评论 -
TensorFlow Graph Save&Parse&Load、Freeze、Optimize
一、Graph Save&Parser&Load1、函数解析(a)、Graph Save tf.train.write_graph(graph_or_graph_def, logdir, name, as_text=True) 作用: save a graph proto to a file 输入参数: ...原创 2018-07-10 14:03:35 · 893 阅读 · 0 评论 -
TensorFlow Slim 的常用操作
一、简介二、常用的 Layer三、作用域机制(arg_scope)四、两个操作符(repeat 和 stack)五、TensorFlow-Slim 中 Loss 的维护与使用六、Fine-Tuning Existing Models七、参考资料一、简介使用 Slim 开发 TensorFlow 程序,增加了程序的易读性和可维护性,简化了 hyper...原创 2018-08-15 16:25:20 · 1724 阅读 · 0 评论 -
深度学习中的参数初始化
一、参数初始化分类及原理1、简介神经网络的训练过程中的参数学习是基于梯度下降法进行优化的。梯度下降法需要在开始训练时给每一个参数赋一个初始值。这个初始值的选取十分关键。一般我们希望数据和参数的均值都为 0,输入和输出数据的方差一致。在实际应用中,参数服从高斯分布或者均匀分布都是比较有效的初始化方式。A well chosen initialization can: Speed ...原创 2018-04-08 21:58:57 · 13345 阅读 · 3 评论 -
22、TensorFlow 实现双隐层分类器
一、TensorFlow Mechanics 101 此 blog 为 tensorflow 官网 TensorFlow Mechanics 101的学习笔记,改写了其中的部分代码,整理了下。主要用到了tensorflow/examples/tutorials/mnist下的如下代码:二、命令行及输入输出参数设置 浅蓝色:命令行参数,使用tf.app.flags.DEFINE_int原创 2017-11-28 09:18:32 · 787 阅读 · 0 评论 -
21、TensorFlow 实现单层 Softmax 分类
一、网络结构图(5大组件)1、数据输入设计(Input)# 准备训练/验证/测试数据集mnist = input_data.read_data_sets('MNIST_data', one_hot=True)# 使用 placeholder 将数据送入网络,None 表示张量的第一个维度可以是任意长度的with tf.name_scope('Input'): X = tf.placeho原创 2017-11-28 09:17:30 · 5854 阅读 · 1 评论 -
20、TensorFlow 中 MNIST 数据集的使用
一、数据集的获取 TensorFLow 对 MNIST 数据集做了封装,让我们更加方便的使用。from tensorflow.examples.tutorials.mnist import input_data# 读取数据集,第一次TensorFlow会自动下载数据集到下面的路径中, label 采用 one_hot 形式 # label 默认采用 0~9 来表示,等价于 one_hot=F原创 2017-11-27 18:33:30 · 2920 阅读 · 0 评论 -
19、TensorFlow 实现最近邻分类器(K=1)
一、KNN 分类模型的三要素1、距离度量2、K 值的选择3、分类决策规则二、TF 实现最近邻分类器(K=1)import tensorflow as tfimport numpy as npimport osos.environ['CUDA_VISIBLE_DEVICES'] = '6' # 使用第七块卡os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' #原创 2017-11-27 18:32:31 · 909 阅读 · 0 评论 -
18、使用 tf.app.flags 接口定义命令行参数
一、使用 tf.app.flags 接口定义命令行参数众所周知,深度学习有很多的 Hyperparameter 需要调优,TensorFlow 底层使用了python-gflags项目,然后封装成tf.app.flags接口使用tf.app.flags接口可以非常方便的调用自带的DEFINE_string, DEFINE_boolean, DEFINE_integer, DEFINE_float原创 2017-11-27 18:31:42 · 1848 阅读 · 1 评论 -
17、TensorFLow GPU 的使用
一、TensorFlow 设备分配1、设备分配规则 If a TensorFlow operation has both CPU and GPU implementations, the GPU devices will be given priority when the operation is assigned to a device.2、手动指定设备分配如果你不想让系统自动为 ope原创 2017-11-27 18:30:26 · 6176 阅读 · 0 评论 -
16、TensorFLow 模型参数的保存与恢复
最简单的保存和恢复模型的方法是使用tf.train.Saver()对象,它给 graph 中的所有变量,或是定义在列表里的变量,添加 save 和 restore ops。tf.train.Saver()对象提供了方法来运行这些 ops,并指定了检查点文件的读写路径。一、tf.train.Saver() 类解析tf.train.Saver( var_list=None, resha原创 2017-11-27 18:29:37 · 5147 阅读 · 0 评论 -
15、Tensorboard 的使用
一、TensorBoard 简介及使用流程1、TensoBoard 简介 TensorBoard 和 TensorFLow 程序跑在不同的进程中,TensorBoard 会自动读取最新的 TensorFlow 日志文件,并呈现当前 TensorFLow 程序运行的最新状态。2、TensorBoard 使用流程 添加记录节点:tf.summary.scalar/image/histog原创 2017-11-27 18:28:33 · 4550 阅读 · 2 评论 -
14、TensorFLow 变量命名空间
一、name_scope with tf.name_scope(name): name_scope: 为了更好地管理变量的命名空间而提出的。比如在 tensorboard 中,因为引入了 name_scope, 我们的 Graph 看起来才井然有序。 name_scope 对 get_variable 创建变量的 name 没有影响,即 get_variable 创建的变量原创 2017-11-27 18:27:16 · 1659 阅读 · 0 评论 -
13、TensorFlow 数据读取
一使用 placeholder feed_dict 传入数据二使用 TFRecords 统一输入数据的格式0TFRecords 数据格式的优缺点1将数据转换为 tfrecords 文件a获得图片的保存路径和标签b指定编码函数c将图片数据和标签或其它需要需要保存的数据都转成 TFRecods 格式2读取并解码 tfrecords 文件并生成 batcha指定想要读取的 tfrecor原创 2017-11-27 18:26:15 · 1967 阅读 · 0 评论 -
12、TensorFlow 图像处理
一、图像编码与解码 图像在存储时并不是直接记录这些矩阵中的数字,而是记录经过压缩编码之后的结果。所以要将一张图像还原成一个三维矩阵,需要解码的过程。OpenCV 中的 imread 和 imwrite 就是一个解码和编码的过程。TensorFLow 中提供了相应的编码和解码的函数。# 图像解码函数tf.image.decode_image( contents, channel原创 2017-11-27 18:24:29 · 4213 阅读 · 0 评论 -
11、TensorFLow 中的参数学习算法
一、常见的参数学习算法TensorFLow 中的优化器子类都是基于其父类 tf.train.Optimizer() 的,常用的子类有以下画红框的三种: tf.train.GradientDescentOptimizer()tf.train.MomentumOptimizer()tf.train.AdamOptimizer()参数(权重和偏置)更新步骤: 计算所有可训练参数的梯度:compu原创 2017-11-27 18:22:45 · 2990 阅读 · 0 评论 -
10、TensorFLow 中的损失函数
一、损失函数相关概念1、交叉熵刻画了两个概率分布之间的距离,也就是说,交叉熵值越小,两个概率分布越接近通过 p 来表示 q 的交叉熵: H(p,q)=−Σp(xi)logq(xi)H(p,q)=−Σp(xi)logq(xi)H(p, q) = -\Sigma p(x_i)logq(x_i),p 为正确答案的分布,q 为预测的分布,这个log是以e为底的代码示例p = t...原创 2017-11-26 11:17:07 · 4067 阅读 · 0 评论 -
9、TensorFLow 中的决策函数
一、分类问题的决策函数1、多分类(包括二分类) 2、tf.nn.softmax(logits, dim=-1, name=None)softmax = exp(logits) / reduce_sum(exp(logits), dim)神经网络最后一层经过 softmax 函数后,取得概率最大的元素的 index,即为我们预测的结果# 神经网络的输出logits = tf.constant原创 2017-11-26 11:15:59 · 920 阅读 · 0 评论 -
8、TensorFlow 中的激活函数
一、深层神经网络为什么需要激活函数?非线性激活函数的主要作用提供网络的非线性建模能力,增强模型的表达能力,双隐层神经网络能够解决任意复杂的分类问题将原始特征从低维空间映射到高维空间(从多项式角度看——它隐含的找到了所需的高次特征项(更好的特征),从而简化了繁重的计算)线性函数不能用作激活函数的原因线性函数的线性组合仍然是线性函数不能解决线性不可分问题二、激活函数的...原创 2017-11-26 11:15:08 · 4290 阅读 · 1 评论 -
7、TensorFLow 中的池化函数
一、池化的好处及具体操作 1、使用池化函数的好处大大降低特征的维数,避免过拟合可去除一些冗余信息,得到一个低分辨率的特征图使得模型更关注是否存在某些特征而不是特征的具体位置,可以容忍一些特征微小的位移2、具体操作对输入数据体的每一个深度切片进行操作(深度保持不变)常用尺寸为 2∗22∗22*2 或 3∗33∗33*3 的滤波器,步长为 2223、常用池化操作...原创 2017-11-26 11:14:17 · 5786 阅读 · 0 评论 -
6、常用卷积操作及经典网络解析
一、普通卷积1、tf.nn.conv2d() :Arbitrary filters that can mix channels together tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu =True, data_format=None, name=None) 输入参数: input:...原创 2017-11-26 11:13:31 · 2021 阅读 · 2 评论 -
5、TensorFLow 控制流
一、Control Flow Operations# 先占个坑, 有空来补...tf.group(*inputs, **kwargs)tf.tupletf.identitytf.no_optf.count_up_totf.casetf.while_loop# Return true_fn() if the predicate pred is true else false原创 2017-11-26 11:12:46 · 1084 阅读 · 0 评论 -
4、TensorFLow 数学运算
一、Tensor 之间的运算规则相同大小 Tensor 之间的任何算术运算都会将运算应用到元素级不同大小 Tensor(要求dimension 0 必须相同) 之间的运算叫做广播(broadcasting)Tensor 与 Scalar(0维 tensor) 间的算术运算会将那个标量值传播到各个元素Note: TensorFLow 在进行数学运算时,一定要求各个 Tensor 数据类型一致原创 2017-11-26 11:11:53 · 13342 阅读 · 0 评论 -
3、TensorFlow 的数据模型-----张量(Tensor)
一、Tensor 类简介 Tensor 定义A Tensor is a symbolic handle to one of the outputs of an Operation. It does not hold the values of that operation’s output, but instead provides a means of computing those ...原创 2017-11-26 11:10:36 · 29405 阅读 · 3 评论 -
2、TensorFlow 的计算模型、运行模型、数据模型
一、TensorFlow 简介1. TensorFlow 的定义 Tensor(张量)意味着 N 维数组,Flow(流)意味着基于数据流图的计算,TensorFlow 代表着张量在图中通过运算(op)进行传递和变换2. TensorFlow 的工作模式 TensorFlow 使用图(Graphs)来表示计算任务,图中的节点称之为 op(Operation)原创 2017-11-26 11:08:55 · 3346 阅读 · 0 评论 -
1、TensorFlow 的安装
一、Anaconda 入门 由于我们使用 Anaconda 来安装 TensorFlow,所以不熟悉 Anaconda 的童鞋可以戳上面标题链接快速入门二、TensorFlow 的安装win 10 下使用 win_anaconda3-4.2.0 百度云下载(python3.5) 安装 TensorFlow 从上面云盘链接下载并安装 Anaconda3-4.2.0打开 cmd,然后执行pi原创 2017-11-26 11:07:31 · 770 阅读 · 0 评论