
Tensorflow
文章平均质量分 81
分享TF框架的使用技巧
思绪零乱成海
静以修身,俭以养德。非淡泊无以明志,非宁静无以致远。
展开
-
Jupyter Tool
日常工作中本人习惯性使用的IDE有两个,C++开发使用的是clion,Python建模使用的是pycharm,可惜最近合作的一家云资源公司提供的IDE只有Jupyter,做了些简单学习。单元格内核常用快捷键魔法命令其他技巧单元格推荐把相关的设置变量都集中放在最上面单独一个或几个cell集中修改,不影响代码逻辑。推荐把能够独立的代码变为一个def单独拿出来作为cell内容。Jupyter里面的单元格...原创 2021-01-12 13:20:17 · 196 阅读 · 0 评论 -
tensorflow随笔——交叉熵公式推导
熵的本质是香农信息量log(1/p)的期望,现有关于样本集的2个概率分布p和q,其中p为真实分布,q非真实分布。按照真实分布p来衡量识别一个样本所需要的编码长度的期望为:如果使用错误分布q来表示来自真实分布p的平均编码长度为:因为用q来编码的样本来自分布p,所以期望H(p,q)中概率是p(i),H(p,q)称为交叉熵。当p=q时,交叉熵取得最小值。因此可以利用交叉熵比较一个...原创 2018-11-19 22:20:38 · 478 阅读 · 0 评论 -
tensorflow随笔——Yolo v1
Yolo背景Yolo的训练和检测均在一个端到端的网络中进行,将物体检测作为回归问题求解,输入图像经过一次Inference,便能得到图像中所有物体的位置和其所属类别及相应置信概率。这种直接选用整图训练模型的架构可以更好的区分目标和背景区域,相比于proposal的方法更少把背景区域误检为目标。Inference过程YOLO网络结构由24个卷积层与2个全链接层构成,卷积层用来提取...原创 2018-11-21 19:15:44 · 472 阅读 · 0 评论 -
tensorflow随笔——C++工程化
本文主要描述如何基于Tensroflow从线下训练到线上预测的整个流程。主要包括以下几步:使用Python接口搭建模型训练参数并固化成pb文件 使用Bazel编译Tensorflow源码得到tensorflow_cc.so的动态库 调用Tensorflow C++ API编写预测代码使用Python搭建模型训练mnist手写字符简单搭建2层CNN+2层FC的神经网络,保存网络图结构和...原创 2018-11-16 15:43:33 · 5758 阅读 · 2 评论 -
tensorflow随笔——图像分类、检测,语义分割综述
看到一篇关于目标分类/检测/风格的综述型文章,觉得写的挺好,收藏下。本文旨在介绍深度学习在计算机视觉领域四大基本任务中的应用,包括分类(图a)、定位、检测(图b)、语义分割(图c)、和实例分割(图d)。图像分类(image classification)给定一张输入图像,图像分类任务旨在判断该图像所属类别。(1) 图像分类常用数据集以下是几种常用分类数据集,难度依次递增。h...转载 2018-08-16 13:49:01 · 2551 阅读 · 2 评论 -
tensorflow随笔——concat(), stack(), unstack()
tf.concat用于将多个张量在某维度合并起来,类似于numpy.concatenate。第一个参数为待合并的多个张量列表,第二个参数需指定哪个维度上做合并。待合并的张量shape需要完全相同,并且产生的张量的阶数不会发生变化。tf.stack(values, axis=0, name='stack')以指定的轴axis,将一个维度为R的张量数组转变成一个维度为R+1的张量。即会在新的张...原创 2018-08-07 21:59:42 · 14869 阅读 · 0 评论 -
tensorflow随笔——VGG网络
这次用slim搭个稍微大一点的网络VGG16,VGG16和VGG19实际上差不多,所以本例程的代码以VGG16来做5类花的分类任务。VGG网络相比之前的LeNet,AlexNet引入如下几个特点:1. 堆叠3×3的小卷积核替代了5×5,7×7的大卷积核。虽然5×5的卷积核感受野大,但是参数多。2个3×3的卷积堆叠感受野等同于5×5,并且进行了2次非线性变换。总结一下:相比于大卷积核,小...原创 2018-07-27 09:00:29 · 401 阅读 · 0 评论 -
tensoflow随笔——softmax和交叉熵
softmax函数softmax函数接收一个N维向量作为输入,然后把每一维的值转换到(0, 1)之间的一个实数。假设模型全连接网络输出为a,有C个类别,则输出为a1,a2,...,aC,对于每个样本,属于类别i的输出概率为:属于各个类别的概率和为1。贴一张形象的说明图:如图将原来输入的3,1,-3通过softmax函数的作用,映射成为(0,1)的值,而这些值的累和为1(满足...原创 2018-07-30 11:36:42 · 774 阅读 · 0 评论 -
tensorflow随笔——LeNet网络
最近总想写点东西,把以前的这些网络都翻出来自己实现一遍。计划上从经典的分类网络到目标检测再到目标分割的都过一下。这篇从最简单的LeNet写起。先上一张经典的LeNet模型结果图:该网络结构包含2个Conv,2个pooling,2个fully connection外加一个softmax分类。至于每层的卷积核尺寸,多少个卷积核这些可以直接从代码中了解,在这就不细说了。网络特点:相比之前...原创 2018-07-25 20:14:04 · 436 阅读 · 0 评论 -
tensorflow随笔——简单的循环神经网络分类实例
继上一篇用简单的卷积神经网络做mnist分类之后,本篇文章采用RNN替换CNN写了一个mnist分类实例。实例中包含两个文件:train.py:数据加载和训练代码。# coding=utf-8import tensorflow as tfimport osimport modelimport numpy as npfrom tensorflow.examples.tutoria...原创 2018-07-24 20:17:56 · 977 阅读 · 0 评论 -
tensorflow随笔——简单的卷积神经网络分类实例
下例是用tensorflow写的2层cnn+2层fc的一个卷积神经网络做mnist的分类例子,旨在简单明了,过一遍TF代码的分类流程。实例只有两个文件:train.py:数据读取,模型训练。# coding=utf-8import tensorflow as tfimport modelimport osfrom tensorflow.examples.tutorials.m...原创 2018-07-24 11:37:50 · 1259 阅读 · 4 评论 -
Tensorflow随笔——命令行参数
Tensorflow 定义了tf.app.flags,用于支持接受命令行传递参数。封装于flags.py中,包括接受字符串,整型,浮点型,布尔型参数。可以通过命令行接受参数也可以设置默认参数。例子如下:程序直接使用默认参数运行:通过命令行输入参数运行:tf.app.run()的作用是解析命令行参数,调用main函数。...原创 2018-07-16 11:42:06 · 544 阅读 · 0 评论