在之前的TensorFlow学习笔记——图像识别与卷积神经网络(链接:请点击我)中了解了一下经典的卷积神经网络模型LeNet模型.那其实之前学习了别人的代码实现了LeNet网络对MNIST数据集的训练.而这篇文章是想自己完成LeNet网络来训练自己的数据集.LeNet主要用来进行手写字符的识别与分类,下面记录一下自己学习的过程. 我的学习步骤分为以下四步: 1,温习LeNet-5的网络层 2,使用LeNet-5训练MNIST数据集 3,使用LeNet-5训练TFRecord格式的MNIST数据集…
数据读入需求 我们在训练模型参数时想要从训练数据集中一次取出一小批数据(比如50条.100条)做梯度下降,不断地分批取出数据直到损失函数基本不再减小并且在训练集上的正确率足够高,取出的n条数据还要是预处理过的,一次取出的要包含输入数据和对应的lable,并且希望在达到训练效果之前可以不断地取出数据而不会因数据集取空了提前结束训练,最好取出的数据还是乱序的. 基于上面的要求,我们可以利用TensorFlow的dataset模块创建我们所需的数据集. Dataset简介 TensorFlow程序数据…
1,自编码器简介 传统机器学习任务很大程度上依赖于好的特征工程,比如对数值型,日期时间型,种类型等特征的提取.特征工程往往是非常耗时耗力的,在图像,语音和视频中提取到有效的特征就更难了,工程师必须在这些领域有非常深入的理解,并且使用专业算法提取这些数据的特征.深度学习则可以解决人工难以提取有效特征的问题,它可以大大缓解机器学习模型对特征工程的依赖.深度学习在早期一度被认为是一种无监督的特征学习(Unsuperbised Feature Learning),模仿了人脑的对特征逐层抽象提取的过程.这…
续集请点击我:tensorflow学习笔记——使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有Hello World,机器学习入门有MNIST.在此节,我将训练一个机器学习模型用于预测图片里面的数字. 开始先普及一下基础知识,我们所说的图片是通过像素来定义的,即每个像素点的颜色不同,其对应的颜色值不同,例如黑白图片的颜色值为0到255,手写体字符,白色的地方为0,黑色为1,如下图. MNIST…
tf.data卷积神经网络综合应用实例 使用tf.data建立自己的数据集,并使用CNN卷积神经网络实现对卫星图像的二分类问题. 数据下载链接:https://pan.baidu.com/s/141zi1BvDU6rHsq5VKgRl4Q  提取码:2kbc 1.使用tf.data建立数据集 使用tf.data将已有的图片打上标签,并将数据分为训练集与测试集用于训练神经网络. 下面将逐步介绍如何建立数据集. 1.1读取windows下的文件路径 首先,头文件走一波(python中应该叫导入模块)…
tf.data与自定义训练综合实例 使用tf.data自定义猫狗数据集,并使用自定义训练实现猫狗数据集的分类. 1.使用tf.data创建自定义数据集 我们使用kaggle上的猫狗数据以及tf.data来建立自己的猫狗数据集. tf.data详细的使用方法中在Tensorflow学习笔记No.5中以经介绍过,这里只简略讲述. 打开kaggle中的notebook,点击右侧"+Add data",搜索如下数据集,并点击右侧"Add". 随后Cat and Dog这个数…
使用VGG16网络进行迁移学习 使用在ImageNet数据上预训练的VGG16网络模型对猫狗数据集进行分类识别. 1.预训练网络 预训练网络是一个保存好的,已经在大型数据集上训练好的卷积神经网络. 如果这个数据集足够大且通用,那么预训练网络学习到的模型参数可以有效的对图片进行特征提取.即使新问题与原本的数据完全不同,但学习到的特征提取方法依然可以在不同的问题之间进行移植,进而可以在全新的数据集上提取到有效的特征.对这些有效的高级特征进行分类可以大大提高模型分类的准确率. 迁移学习主要适用于已有数…
多输出模型 使用函数式API构建多输出模型完成多标签分类任务. 数据集下载链接:https://pan.baidu.com/s/1JtKt7KCR2lEqAirjIXzvgg 提取码:2kbc 1.读取数据并构建数据集 详细的API介绍在Tensorflow学习笔记5.0中均有提及,这里只简单讲述方法流程并展示代码. 1.1图片数据读取 首先导入需要的模块(运行环境为jupyternotebook). 1 import tensorflow as tf 2 import numpy as np…
图像定位 图像定位是指在图像中将我们需要识别的部分使用定位框进行定位标记,本次主要讲述如何使用tensorflow2.0实现简单的图像定位任务. 我所使用的定位方法是训练神经网络使它输出定位框的四个顶点的坐标,通过这四个坐标来定位需要识别对象的位置. 数据集:https://pan.baidu.com/s/1dv-r19KixYhA1CfX2n06Hg 提取码:2kbc (数据集中的压缩文件需要解压) 1.数据读入 1.1图片读入 图片的读入在前面的博客中已经展示过很多次了,这里不再赘述,详情可…
简介 上一篇笔记:Tensorflow学习笔记1:Get Started 我们谈到Tensorflow是基于图(Graph)的计算系统.而图的节点则是由操作(Operation)来构成的,而图的各个节点之间则是由张量(Tensor)作为边来连接在一起的.所以Tensorflow的计算过程就是一个Tensor流图.Tensorflow的图则是必须在一个Session中来计算.这篇笔记来大致介绍一下Session.Graph.Operation和Tensor. Session Session提供了O…