tensorflow
文章平均质量分 97
风翼冰舟
Machine Learning,
Algorithm
展开
-
RBF神经网络理论与实现
前言最近发现有挺多人喜欢径向基函数(Radial Basis Function,RBF)神经网络,其实它就是将RBF作为神经网络层间的一种连接方式而已。这里做一个简单的描述和找了个代码解读。之前也写过一篇,不过排版不好看,可以戳这里跳转国际惯例,参考博客:维基百科径向基函数《模式识别与智能计算——matlab技术实现第三版》第6.3章节《matlab神经网络43个案例分析》第7章节tensorflow2.0实现RBF理论基本思想用RBF作为隐单元的“基”构成隐藏层空间原创 2020-11-02 18:46:51 · 38528 阅读 · 13 评论 -
OpenCV使用Tensorflow2-Keras模型
前言最近工作上需要在C++上快速集成Tensorflow/Keras训练好的模型,做算法验证。首先想到的就是opencv里面的dnn模块了,但是它需要的格式文件比较郁闷,是pb格式的模型,但是keras通常保存的是h5文件,查阅了很多资料,最后找到了很方便的方法。国际惯例,参考博客Frozen_Graph_TensorFlow这个地址的大佬用fashion mnist写的训练和测试,我这里用更简单的线性回归为例。训练老样子,引入相关的包,创建数据集import numpy as npimpo原创 2020-05-26 15:17:11 · 2245 阅读 · 0 评论 -
tensorflow2安装时候的一个dll找不到的错误
电脑环境:vs2015python3.7.6,使用anaconda安装的CUDA 10.1cuDnn 7.6.5tensorflow2.1.0错误内容File "C:\Users\zb116\anaconda3\lib\imp.py", line 242, in load_module return load_dynamic(name, filename, file) ...原创 2020-04-12 22:47:04 · 779 阅读 · 0 评论 -
tensorflow官方posenet模型解析
前言tensorflow官方有个姿态估计项目,这个输入和openpose还有点不一样,这里写个单人情况下的模型输出解析方案。国际惯例,参考博客:博客: 使用 TensorFlow.js 在浏览器端上实现实时人体姿势检测tensorflow中posnet的IOS代码解析不要下载官方overview网址下的posenet模型multi_person_mobilenet_v1_075_flo...原创 2020-03-15 16:04:01 · 7299 阅读 · 8 评论 -
3D人脸重建——PRNet网络输出的理解
前言之前有款换脸软件不是叫ZAO么,分析了一下,它的实现原理绝对是3D人脸重建,而非deepfake方法,找了一篇3D重建的论文和源码看看。这里对源码中的部分函数做了自己的理解和改写。国际惯例,参考博客:什么是uv贴图?PRNet论文PRNet代码本博客主要是对PRNet的输出进行理解。理论简介这篇博客比较系统的介绍了3D人脸重建的方法,就我个人浅显的理解,分为两个流派:1.通过算...原创 2020-02-06 23:13:06 · 16907 阅读 · 70 评论 -
Tensorflow 指令加速
一直没注意过使用Tensorflow的时候有一条warning:Warning: your cpu supports instructions that this tensorflow binary was not compiled to use: avx2 fma这玩意是可以用来加速推断的,分CPU和GPU版,业务相关部署在CPU上,实测使用CPU加速能提升3倍左右,但是编译过程有点复杂。...原创 2019-10-14 15:12:05 · 674 阅读 · 0 评论 -
【TensorFlow-windows】部分损失函数测试
前言在TensorFlow中提供了挺多损失函数的,这里主要测试一下均方差与交叉熵相关的几个函数的计算流程。主要是测试来自于tf.nn与tf.losses的mean_square_error、sigmoid_cross_entry、softmax_cross_entry、sparse_softmax_cross_entry国际惯例,参考博客:官方文档一文搞懂交叉熵在机器学习中的使用,透彻理解...原创 2019-05-13 15:58:16 · 510 阅读 · 1 评论 -
【TensorFlow-windows】keras接口——ImageDataGenerator裁剪
前言Keras中有一个图像数据处理器ImageDataGenerator,能够很方便地进行数据增强,并且从文件中批量加载图片,避免数据集过大时,一下子加载进内存会崩掉。但是从官方文档发现,并没有一个比较重要的图像增强方式:随机裁剪,本博客就是记录一下如何在对ImageDataGenerator中生成的batch做图像裁剪国际惯例,参考博客:官方ImageDataGenerator文档Ker...原创 2019-06-10 11:49:07 · 1814 阅读 · 0 评论 -
【TensorFlow-windows】name_scope与variable_scope
前言探索一下variable_scope和name_scope相关的作用域,为下一章节tensorboard的学习做准备其实关于variable_scope与get_variable实现变量共享,在最开始的博客有介绍过:【TensorFlow-windows】学习笔记二——低级API当然还是国际惯例,参考博客:tensorflow: name_scope 和 variable_scope...原创 2019-08-08 21:10:19 · 237 阅读 · 0 评论 -
【TensorFlow-windows】TensorBoard可视化
前言紧接上一篇博客,学习tensorboard可视化训练过程。国际惯例,参考博客:MNIST机器学习入门Tensorboard 详解(上篇)Tensorboard 可视化好帮手 2tf-dev-summit-tensorboard-tutorialtensorflow官方mnist_with_summaries预备知识根据之前学的知识,创建一个卷积结构进行手写数字分类impor...原创 2019-08-09 22:06:36 · 437 阅读 · 0 评论 -
【TensorFlow-windows】keras接口——利用tensorflow的方法加载数据
前言之前使用tensorflow和keras的时候,都各自有一套数据读取方法,但是遇到一个问题就是,在训练的时候,GPU的利用率忽高忽低,极大可能是由于训练过程中读取每个batch数据造成的,所以又看了tensorflow官方的加载数据方法。主要是利用了tf.data.Dataset这里面的一系列操作。国际惯例,参考博客:tensorflow官方加载数据集方法官方文档对应的代码images...原创 2019-08-23 22:07:11 · 1275 阅读 · 1 评论 -
深度学习特征归一化方法——BN、LN、IN、GN
前言最近看到Group Normalization的论文,主要提到了四个特征归一化方法:Batch Norm、Layer Norm、Instance Norm、Group Norm。此外,论文还提到了Local Response Normalization(LRN)、Weight Normalization(WN)、Batch Renormalization(BR)。国际惯例,参考博客:Gr...原创 2019-08-20 17:34:46 · 3451 阅读 · 0 评论 -
【TensorFlow-serving】初步学习模型部署
前言初步学习tensorflow serving的手写数字识别模型部署。包括简单的模型训练、保存、部署上线。因为对docker和网络不太熟悉,可能会有部分错误,但是看完博客,能跑通整个流程。此博客将详细介绍流程,但是不详细介绍每个流程的每步的含义,因为这些步骤不会随着任务的不同而发生太大改变。在后续博客中可能会精细介绍每一步的含义。国际惯例,参考博客:tensorflow官方文档:低阶API...原创 2019-09-03 21:13:42 · 3984 阅读 · 2 评论 -
【TensorFlow-windows】扩展层之STN
前言读TensorFlow相关代码看到了STN的应用,搜索以后发现与增强网络对图像变换(旋转、缩放、偏移等)的抗干扰能力,简单说就是提高卷积神经网络的空间不变性。国际惯例,参考博客:理解Spatial Transformer Networksgithub-STNDeep Learning Paper Implementations: Spatial Transformer Network...原创 2019-05-10 20:38:40 · 2285 阅读 · 9 评论 -
【TensorFlow-windows】MobileNet理论概览与实现
前言轻量级神经网络中,比较重要的有MobileNet和ShuffleNet,其实还有其它的,比如SqueezeNet、Xception等。本博客为MobileNet的前两个版本的理论简介与Keras中封装好的模块的对应实现方案。国际惯例,参考博客:纵览轻量化卷积神经网络:SqueezeNet、MobileNet、ShuffleNet、Xception为什么MobileNet及其变体如此之...原创 2019-05-20 20:31:27 · 1506 阅读 · 5 评论 -
【TensorFlow-windows】学习笔记一——基础理解
前言因为Theano已经停止更新了,所以在前面学完Theano搭建RBM,CNN,RNN相关结构以后,还是得选择一个主流框架的,由于我自身的学习最终是向强化学习靠近,可能用到的仿真环境是openai gym,所以选择了继续学习TensorFlow,而非pyTorch,CNTK之类的深度学习框架。还有,忍不住吐槽一下TensorFlow的官方文档,别问我为啥,至少别上来就搞分类啊,郁闷,介绍...原创 2018-07-12 11:38:08 · 2774 阅读 · 0 评论 -
【TensorFlow-windows】学习笔记二——低级API
前言上一篇博客初步了解了tensorflow中建立机器学习模型的方法:可以使用eager execution和graph execution两种模式,可以使用高级API estimator中已经封装好的模型,也可以自己创建estimator,更重要的是我们也可以使用低级API自行设计模型。这里重点研究研究如何使用低级API主要内容包含:张量、变量构建计算图及其运行可视化国际...原创 2018-07-13 16:50:50 · 1877 阅读 · 0 评论 -
【TensorFlow-windows】学习笔记三——实战准备
前言因为学习TensorFlow的内容较多,如果只看API会很无聊,可以结合实例去学习。但是在构建基本的模型之前,需要学一些准备知识:数据读取、预处理、优化器、损失函数、模型保存和读取国际惯例,参考网址:TensorFlow中文社区TensorFlow官方文档如何选择优化器 optimizerTensorFlow-ExamplesTensorFlow中的Neural N...原创 2018-08-02 11:57:23 · 1696 阅读 · 0 评论 -
【TensorFlow-windows】学习笔记五——自编码器
前言上一篇博客介绍的是构建简单的CNN去识别手写数字,这一篇博客折腾一下自编码,理论很简单,就是实现对输入数据的重构,具体理论可以看我前面的【theano-windows】学习笔记十三——去噪自编码器国际惯例,参考博客:当我们在谈论 Deep Learning:AutoEncoder 及其相关模型Autoencoders训练代码实现不说理论了,直接撸代码,包含两个隐层,...原创 2018-08-15 10:03:20 · 588 阅读 · 0 评论 -
【TensorFlow-windows】学习笔记四——模型构建、保存与使用
前言上一章研究了一些基本的构建神经网络所需的结构:层、激活函数、损失函数、优化器之类的,这一篇就解决上一章遗留的问题:使用CNN构建手写数字识别网络、保存模型参数、单张图片的识别国际惯例,参考博客:tensorflow之保存模型与加载模型【tensorflow】保存模型、再次加载模型等操作tensorflow_二分类模型之单张图片测试TensorFlow-Examples...原创 2018-08-03 15:34:26 · 1448 阅读 · 0 评论 -
【TensorFlow-windows】学习笔记六——变分自编码器
前言对理论没兴趣的直接看代码吧,理论一堆,而且还有点复杂,我自己的描述也不一定准确,但是代码就两三句话搞定了。国际惯例,参考博文论文:Tutorial on Variational Autoencoders 【干货】一文读懂什么是变分自编码器CS598LAZ - Variational AutoencodersMusicVAE: Creating a palette for...原创 2018-08-17 10:38:27 · 2993 阅读 · 2 评论 -
【TensorFlow-windows】学习笔记七——生成对抗网络
前言既然学习了变分自编码(VAE),那也必须来一波生成对抗网络(GAN)。国际惯例,参考网址:论文: Generative Adversarial NetsPPT:Generative Adversarial Networks (GANs)Generative Adversarial Nets in TensorFlowGAN原理学习笔记理论粗略点的讲法就说:一...原创 2018-08-21 11:28:29 · 706 阅读 · 0 评论 -
【TensorFlow-windows】学习笔记八——简化网络书写
前言之前写代码的时候都要预先初始化权重,还得担心变量是否会出现被重复定义的错误,但是看网上有直接用tf.layers构建网络,很简洁的方法。这里主要尝试了不预定义权重,是否能够实现正常训练、模型保存和调用,事实证明阔以。验证训练与模型保存很简洁的代码直接五十行实现了手写数字的网络训练import tensorflow as tffrom tensorflow...原创 2018-08-29 17:49:41 · 433 阅读 · 2 评论 -
【TensorFlow-windows】keras接口——BatchNorm和ResNet
前言之前学习利用Keras简单地堆叠卷积网络去构建分类模型的方法,但是对于很深的网络结构很难保证梯度在各层能够正常传播,经常发生梯度消失、梯度爆炸或者其它奇奇怪怪的问题。为了解决这类问题,大佬们想了各种办法,比如最原始的L1,L2正则化、权重衰减等,但是在深度学习的各种技巧中,批归一化(Batch Normalization,BN)和残差网(Residual Network,ResNet)还是比...原创 2018-12-27 20:30:28 · 3775 阅读 · 1 评论 -
【TensorFlow-windows】keras接口学习——线性回归与简单的分类
前言之前有写过几篇TensorFlow相关文章,但是用的比较底层的写法,比如tf.nn和tf.layers,也写了部分基本模型如自编码和对抗网络等,感觉写起来不太舒服,最近看官方文档发现它的教程基本都使用的keras API,这就尴尬了,学一波国际惯例,参考博客:官方开始案例其实网上有很多博客了,但是为实验了一下跑不起来,而且按照官方文档理解的使用算法和网络上的博客又不同,比如这位大佬的博...原创 2018-12-11 14:13:54 · 925 阅读 · 0 评论 -
【TensorFlow-windows】投影变换
前言没什么重要的,就是想测试一下tensorflow的投影变换函数tf.contrib.image.transform中每个参数的含义国际惯例,参考文档官方文档描述调用方法与默认参数:tf.contrib.image.transform( images, transforms, interpolation='NEAREST', output_shape=...原创 2019-05-09 16:17:17 · 2727 阅读 · 0 评论 -
【TensorFlow-windows】keras接口——卷积核可视化
前言在机器之心上看到了关于卷积核可视化相关理论,但是作者的源代码是基于fastai写的,而fastai的底层是pytorch,本来准备自己用Keras复现一遍的,但是尴尬地发现Keras还没玩熟练,随后发现了一个keras-vis包可以用于做卷积核可视化。以下理论是在不熟悉fastai的运行机制的基础上做的简单理解,可能有误,欢迎指正。国际惯例,参考博客:40行Python代码,实现卷积特征...原创 2019-05-07 16:46:06 · 4674 阅读 · 26 评论