
TensorFlow
TensorFlow
猿来这样1
编程圈子,谢厂节的博客
展开
-
Ubuntu16.04 下安装Cuda9.1+Cudnn7 及升级Cuda10
官网文档地址: http://docs.nvidia.com/cuda/cuda-installation-guide-linux/#ubuntu-installation一、系统需求1. 查显卡型号是否支持lspci | grep -i nvidia找到VGA compatible controller型号,并到Cuda网站查询。 https://developer.nvi原创 2018-01-26 10:17:17 · 7538 阅读 · 0 评论 -
Tensorflow 入门学习1 pip安装
环境:Ubuntu准备环境apt-get 更换源cd /etc/aptsudo apt-get install vim sudo vim sources.listdeb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiversedeb http://mirrors原创 2018-01-26 14:44:25 · 1100 阅读 · 0 评论 -
Tensorflow 入门学习2 常量、变量和数据类型
本节学习资源来自《TensorFlow 深度学习应用实践》 清华大学出版社TensorFlow用张量来表示所有数据,一个张量有一个静态类型和动态类型的维数,张量可以在图中的节点之间流通。基于特殊的数据和处理方式,TensorFlow中数据类型也会随之改变,常规的数据并不适合TensorFlow框架的使用。TensorFlow本身定义了一套特殊的函数,能够根据需要将不同的量设置成所需要的形式原创 2018-01-26 17:07:14 · 582 阅读 · 0 评论 -
Tensorflow 入门学习3 重要算法基础
本文学习内容来自《TensorFlow深度学习应用实践》ANN简史MP模型MP神经元模型是1943年,由Warren McCulloch和Walter Pitts提出的。 即: yj=∑i=1nwijxi−θj" role=&am原创 2018-01-31 08:48:20 · 1415 阅读 · 0 评论 -
Tensorflow 入门学习4 最小二乘法及scipy库leastq函数使用
本文学习内容来自:《TensorFlow深度学习应用实践》最小二乘法算法介绍LS算法是一种数学优化技术,也是一种机器学习常用算法。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间的误差的平方和为最小。最小二乘法还可用于曲线拟合,其它一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。这里以一个变量为例...原创 2018-09-16 22:28:00 · 1805 阅读 · 0 评论 -
Tensorflow 入门学习5 建立一个隐藏层的神经网络实现回归分析
本文学习资源来自《TensorFlow 深度学习应用实践》这是TensorFlow的入门程序,是一个回归分析的具体应用。上图是一个需要设计的神经网络,这里准备建立一个有一个隐藏层的神经网络去实现回归分析,这个神经网络有输入层、隐藏层与输出层。下面程序具体实现了这个神经网络模型。import tensorflow as tfimport numpy as np"""这里是一个非常好的大...原创 2018-09-18 11:14:50 · 3320 阅读 · 0 评论 -
Tensorflow 入门学习6 梯度下降算法
梯度下降法是一个一阶最优化算法,通常也称为最速下降法。要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对于梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。所以梯度下降法可以帮助我们求解某个函数的极小值或者最小值。对于n维问题就最优解,梯度下降法是最常用的方法之一。参考来源:https://segmentfault.com/a/1190000011994447...原创 2018-09-18 21:12:56 · 500 阅读 · 0 评论 -
Tensorflow 入门学习7.TensorFlow的队列
本节学习资源来自《TensorFlow深度学习应用实践》TensorFlow 队列队列(Queue)是一种最为常用的数据输入输出方式,其通过先进先出的线性数据结构,一端只负责增加队列中的数据元素,而数据的输出和删除在队列的另一端实现。队列的创建队列的使用和Python中队列的函数类似。操作描述class tf.QueueBase基本的队列应用类,队列(queue)是...原创 2018-09-18 22:01:56 · 417 阅读 · 0 评论 -
Tensorflow 入门学习9.MNIST手写体识别
之前机器学习k-近邻算法测试过MNIST手写体识别。https://blog.youkuaiyun.com/xundh/article/details/73734509本文使用TensorFlow进行MNIST手写体识别。本文学习资源来自:http://www.tensorfly.cn/tfdoc/tutorials/mnist_beginners.htmlMNIST数据集MNIST是一个入门级的计...原创 2018-09-26 16:42:22 · 842 阅读 · 0 评论 -
Tensorflow 入门学习10.使用深度卷积神经网络实现MNIST手写体识别
卷积神经网络概述一般一个卷积神经网络由多个卷积层构成,在卷基层内部通常会有如下几个操作:1)图像通过多个卷积核滤波,添加偏置,提取局部特征每个卷积核会映射出一个新的2D图像。2)卷积核的滤波结果输出到激活函数中,激活函数通常选ReLU3)对激活函数的结果进行池化操作,池化就是对图像分割成不同的小区域后取平均值或最大值。一般取最大值。上述几个步骤就构成了最常见的卷积层。在池化的后面还可以加上...原创 2018-09-27 21:25:26 · 756 阅读 · 0 评论 -
Tensorflow 入门学习11.CNN卷积神经网络原理1.(卷积基本概念)
本文学习内容来自《TensorFlow深度学习应用实践》《深度学习》卷积网络(convolutional network)(LeCun,1989),也叫作卷积神经网络(convolutional neural network,CNN),是一种专门用来处理具有类似网络结构的数据的神经网络。它是从信号处理衍生过来的一种对数字信号处理的方式,发展到图像信号处理上演变成一种专门用来处理具有矩阵特征的网...原创 2018-10-01 00:06:06 · 4919 阅读 · 0 评论 -
Tensorflow 入门学习12.CNN卷积神经网络原理2.(池化)
本文学习内容来自《TensorFlow深度学习应用实践》《深度学习》池化的概念卷积网络中一个典型层包含三级。在第一级中,这一层并行地计算多个卷积产生一组线性激活响应。在第二级中,每一个线性激活响应将会通过一个非线性的激活函数,例如整流线性激活函数。这一级有时也被称为探测级(detector stage)。在第三级中,我们使用池化函数(pooling function)来进一步调整这一层的输出。...原创 2018-10-01 09:00:26 · 1072 阅读 · 0 评论 -
Tensorflow 入门学习13.CNN卷积神经网络原理3.(网络结构详解)
从前面介绍的卷积运算的基本原理和概念,从本质上来说卷积神经网络就是将图像处理的二维离散卷积运算和神经网络相结合。这种卷积运算可以用于自动提取特征,而卷积神经网络也主要应用于二维图像的识别。原创 2018-10-01 12:28:15 · 973 阅读 · 0 评论 -
Tensorflow 入门学习14.TensorFlow实现LeNet5实例
本文学习内容来自《TensorFlow深度学习应用实践》本节逐步对LeNet中的每一层进行分解,会对神经元的个数、隐藏层的层数以及学习率等神经网络关键参数做出调整,观察模型训练的时间。...原创 2018-10-02 21:42:37 · 3708 阅读 · 1 评论 -
Tensorflow 入门学习15.下载MNIST手写体数据集及保存图片
下载MNIST手写体数据集下载数据集#!/usr/bin/python# -*- coding: UTF-8 -*-import input_data# 60000行的训练数据集(mnist.train)和10000行的测试数据集(mnist.test)mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)...原创 2019-06-11 08:49:21 · 913 阅读 · 0 评论 -
Tensorflow 入门学习16.保存模型与使用模型
Tensorflow 入门学习16.保存模型与使用模型这里以手写体识别为例训练并保存模型#!/usr/bin/python# -*- coding: UTF-8 -*-from PIL import Image, ImageFilterimport input_dataimport tensorflow as tfimport matplotlib.pyplot as plt...原创 2019-06-11 10:10:07 · 282 阅读 · 0 评论 -
Tensorflow 入门学习17.CNN 分辨CIFAR-10数据集
Tensorflow 入门学习17.CNN 分辨CIFAR-10数据集介绍CIFAR-10 是由神经网络的先驱和大师Hinton的两名学生:Alex Krizhevsky 和 Ilya Sutskever整理的一个基于现实物体,通过所拍摄的照片进行物体识别的数据集。这个数据集项目是为了推广和加速深度学习所创建的。CIFAR-10的官网链接为:http://www.cs.toronto.ed...原创 2019-06-14 14:12:50 · 927 阅读 · 0 评论 -
TensorFlow2 学习1. 张量
一、TensorFlow2.0TensorFlow 2.0推荐使用Keras 构建和学习神经网络 。1. 导入从TensorFlow 2.0默认情况下会启用eager模式执行。 这为TensorFlow提供了一个更加互动的前端节。from __future__ import absolute_import, division, print_functionimport tensorflo...原创 2019-11-20 22:17:00 · 384 阅读 · 0 评论 -
TensorFlow2 学习2 TensorFlow Keras 构建简单网络
一、简介Keras 是一个用于构建和训练深度学习模型的高阶 API。它可用于快速设计原型、高级研究和生产。1. 导入tf.kerasimport tensorflow as tffrom tensorflow.keras import layersprint(tf.__version__)print(tf.keras.__version__)二、构建简单模型1. 按顺序堆叠模型...原创 2019-11-20 22:18:08 · 661 阅读 · 0 评论 -
TensorFlow2学习三、Keras 构建复杂模型
一、函数式apitf.keras.Sequential 模型只适用于多层简单堆叠网络,不能表示复杂模型。使用 Keras functional API 可以构建有复杂拓扑结构的模型。比如:多输入模型(Multi-input models)多输出模型(Multi-output models)有共享层的模型(同一层被调用多次)具有非顺序数据流的模型(如残差连接)使用函数式API构建模...原创 2019-11-26 07:41:49 · 1127 阅读 · 1 评论 -
TensorFlow2学习四、Keras 保存和加载模型
1. 权重保存和加载# 保存为TensorFlow checkpoint格式model.save_weights('./my_model')# 保存为TensorFlow HDF5格式model.save_weights('model.h5', save_format='h5')# 加载model.load_weights('my_model')2. 保存和加载网络结构保存一个...原创 2019-11-26 07:42:29 · 915 阅读 · 0 评论 -
TensorFlow2学习五、基本图像分类任务
文章学习资源来自TensorFlow官网文档一、 说明本文训练一个网络模型来进行服装分类,比如衣服是T恤还是夹克。这可以快速入门了解TensorFlow2.0怎么进行分类任务的。二、步骤1. 引入 tf.kerasfrom __future__ import absolute_import, division, print_function, unicode_literals# Te...原创 2019-11-26 07:45:15 · 1142 阅读 · 0 评论 -
TensorFlow2学习六、对电影评论进行文本分类
一、本章目标使用keras和TensorFlow Hub分类器对电影评论进行分类,将影评分为积极、消极两类。这是一个机器学习中常见的二元分类问题。本章数据来源于网络电影数据库(Internet Movie Database)的 IMDB 数据集(IMDB dataset),其包含 50,000 条影评文本。从该数据集切割出的 25,000 条评论用作训练,另外 25,000 条用作测试。训练集...原创 2019-11-26 20:05:28 · 1610 阅读 · 3 评论 -
TensorFlow2学习七、使用MNIST手写体识别数据集识别自己手写图片
一、说明本示例使用mnist数据集。mnist来自美国国家标准与技术研究所,训练集来自 250 个不同人手写的数字构成。不过这些数据集与中国书写习惯略有差别,所以直接训练好的模型识别中国手写数字准确度并不高。二、步骤1. 加载mnist数据集:mnist = tf.keras.datasets.mnist(train_images, train_labels), (test_image...原创 2019-11-26 20:07:03 · 2451 阅读 · 2 评论 -
TensorFlow2学习八、多层感知机实现
一、概念1. 多层感知机:MLP(Multilayer Perceptron)人工神经网络领域通常被称为神经网络或多层感知机,可能是最有用的神经网络类型。感知机是单个神经元模型,用以组成复杂神经网络。它于1958年由Frank Rosenblatt第一次引入。单层感知器可以用来区分线性可分的数据,并且一定可以在有限的迭代次数中收敛。2. 单层感知器示例3. 多层感知机除了输入与输出层...原创 2019-11-27 08:06:27 · 836 阅读 · 0 评论 -
TensorFlow2学习九、实现基础CNN
一、简介本文实现基础Convolutional Neural Network (CNN),数据集使用 CIFAR images。卷积神经网络是一种多层神经网络,擅长处理图像特别是大图像的相关机器学习问题,它通过一系列方法,将数据量庞大的图像识别问题不断降维,最终使其能够被训练。CNN最早由Yann LeCun提出并应用在手写字体识别上(MINST)。LeCun提出的网络称为LeNet,其网络...原创 2019-11-27 08:09:12 · 2152 阅读 · 2 评论 -
TensorFlow2学习十、实现Le-Net5
一、简介Le-Net5在之前文章可以看到TensorFlow1实现的Le-Net5代码。https://blog.youkuaiyun.com/xundh/article/details/82924423二、TensorFlow2实现1. 层说明输入层卷积层 Convolution #1. Input = 32x32x1. Output = 28x28x6 conv2d下采样层 SubSamp...原创 2019-11-27 08:13:11 · 363 阅读 · 0 评论 -
TensorFlow2学习十一、TF-Hub实现迁移学习
一、概念1. TF-Hub介绍Tensorflow-hub 是 google 提供的可以共享学习的打包函式库,帮开发者把TensorFlow的训练模型发布成模组,方便再次使用或是与社交共享。2. 迁移学习迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。深度学习中在计算机视觉任务和自然语言处理任务中将预训练的模型作为新模型的起点是一...原创 2019-11-27 20:47:01 · 1725 阅读 · 2 评论 -
TensorFlow2学习十二、使用预训练CNN进行迁移学习识别猫和狗
一、说明本文学习资源来自tensorflow官网,测试环境使用tensor conlab。1. 本文内容学习怎么使用预训练cnn进行猫、狗分类。预训练模型是一个使用大量数据训练好并保存好的网络模型,典型的是大量图像数据的分类工作。我们可以使用本文中的预训练模型,也可以针对一个任务使用迁移学习客制化模型。当一个模型是基于足够大的、足够有代表性的数据集训练出来的,那么它可以有效的工作在机器视...原创 2019-11-29 07:47:41 · 2380 阅读 · 0 评论 -
TensorFlow2学习十三、实现AlexNet
一、简介以下内容整理来自百度百科AlexNet是2012年ImageNet竞赛冠军获得者Hinton和他的学生Alex Krizhevsky设计的。也是在那年之后,更多的更深的神经网络被提出,比如优秀的vgg,GoogLeNet。 这对于传统的机器学习分类算法而言,已经相当的出色。网络模型:AlexNet中包含了几个比较新的技术点,也首次在CNN中成功应用了ReLU、Dropout和LR...原创 2019-11-29 07:48:57 · 1739 阅读 · 0 评论 -
TensorFlow2学习十四、VGG13训练Cifar100
一、简介VGG模型是2014年ILSVRC竞赛的第二名,第一名是GoogLeNet。但是VGG模型在多个迁移学习任务中的表现要优于googLeNet。而且,从图像中提取CNN特征,VGG模型是首选算法。它的缺点在于,参数量有140M之多,需要更大的存储空间。但是这个模型很有研究价值。模型的名称——“VGG”代表了牛津大学的Oxford Visual Geometry Group,该小组隶属于1...原创 2019-11-29 07:51:27 · 1886 阅读 · 2 评论 -
TensorFlow2学习十五、使用VGG16模型训练自己的数据集
一、说明VGG16在2014年ImageNet比赛中获胜。ImageNet数据集中有1000个图像属于1000个不同的类别。VGG模型的权重是免费的,可以在您自己的模型和应用程序中加载和使用。这使得其他研究人员和开发人员可以在自己的工作和程序中使用最先进的图像分类模型。二、实现过程1. 这里使用谷歌的花卉数据集。from __future__ import absolute_impor...原创 2019-11-29 07:52:39 · 7094 阅读 · 1 评论 -
TensorFlow2学习十六、实现ResNet(一)创建简单的ResNet模型
一、Resnet简介深度残差网络(Residual Network, 简写为 ResNet)由微软研究院的Kaiming He等四名华人提出,通过使用ResNet Unit成功训练出了152层的神经网络,并在ILSVRC2015比赛中取得冠军,在top5上的错误率为3.57%,同时参数量比VGGNet低,效果非常突出。ResNet的结构可以极快的加速神经网络的训练,模型的准确率也有比较大的提升。...原创 2019-12-06 13:15:49 · 3238 阅读 · 0 评论 -
TensorFlow2学习十七、实现ResNet(二)封装ResNet
一、 ResRet18网络结构下面测试代码使用ResNet18训练CIFAR10。测试环境 google colabTF2.0二、模型类1. 指定TF2.0try: # %tensorflow_version only exists in Colab. %tensorflow_version 2.xexcept Exception: pass2. 模型类cla...原创 2019-12-06 13:16:54 · 1141 阅读 · 1 评论 -
TensorFlow2学习十八、安卓进行图像分类示例
一、说明本示例来源于tensorflow官网。项目连续使用安卓兵团摄像头对所看到的物体进行分类。项目使用TF Lite Java API来执行推理。该演示应用程序实时地对图像帧分类,显示最可能的分类结果。它允许用户选择浮点或量化模型,选择线程数,并决定运行在CPU、GPU上,或是通过NNAPI运行。二、代码来源https://github.com/tensorflow/example...原创 2019-12-06 14:24:53 · 950 阅读 · 0 评论 -
TensorFlow2学习十九、改进的U-Net使用Oxford-IIIT Pet 数据集训练图像分割
本文学习资源来自tensorflow官网一、概念图像分割是要确定物体在图像中的位置、这个物体的形状、以及哪个像素属于哪个物体等。这种情况下需要分割图像,也就是给图像的每个像素分配一个标签。图像分割的任务是训练一个神经网络来输出该图像每个像素的掩码。本文使用TF2.0实现基于深度学习的图像分割,使用Oxford-IIIT Pet数据集。该数据集由图像、图像所对应的标签、对及对像素一标记的掩码...原创 2019-12-09 09:36:30 · 3310 阅读 · 5 评论 -
TensorFlow2学习二十、预训练模型FasterRCNN+InceptionResNetV2目标检测
一、概念目标检测是在真实场景中寻找类似车辆、人类等物体的过程,一般可以在给定的图像中寻找多个目标。它可以用在图像检索、安防、自动驾驶(ADAS)等系统。目标可以有以下几种方式:基于特征的目标检测Viola Jones目标检测基于HOG特征的SVM分类深度学习一些目标检测应用场景DeepFace :Facebook用来人脸识别Google facial recogni...原创 2019-12-10 13:25:29 · 3759 阅读 · 1 评论 -
TensorFlow2学习21、使用目标检测API测试自己的图片
一、说明本文实验环境:TF2.0google conlabPython3 GPU二、环境配置安装依赖包!pip install -U --pre tensorflow=="2.*"!pip install pycocotools下载tensorflow的模型import osimport pathlibif "models" in pathlib.Path.cw...原创 2019-12-16 10:16:08 · 3858 阅读 · 2 评论 -
TensorFlow2学习22、手工标注数据并生成TFRecords Format格式
一、说明本文实验环境:TF2.0ubuntu16.04python3.6LabelImgpandas二、准备图片为了简单起见,我下载的Kaggle猫狗大战图片。将图片分成2个文件夹存放,分别为images/test,images/train我这里只放了少量图片,实际使用中需要准备大量的图片。三、软件设置1. 下载labelImage软件https://github...原创 2019-12-16 10:18:08 · 1771 阅读 · 4 评论 -
TensorFlow2学习24、YoloV3目标检测使用探索
一、简介YoloYolo是一个实时目标检测,全称 You only look once。在Pascal Titan X处理图片可达30FPS,在COCO目标检测测试指标 平均准确度mAP达到 57.9%。演示视频:与其它目标检测算法的比较:在COCO数据集上的表现:实现原理从R-CNN到FasterR-CNN利用分类器或定位器来执行检测,将模型用于多个位置和比例,高分值的区域作为...原创 2019-12-18 07:44:47 · 2309 阅读 · 2 评论