无论是之前学习的MNIST数据集还是Cifar数据集,相比真实环境下的图像识别问题,有两个最大的问题,一是现实生活中的图片分辨率要远高于32*32,而且图像的分辨率也不会是固定的.二是现实生活中的物体类别很多,无论是10种还是100种都远远不够,而且一张图片中不会只出现一个种类的物体.为了更加贴近真实环境下的图像识别问题,由李飞飞教授带头整理的ImageNet很大程度上解决了这个问题. ImageNet是一个基于WordNet的大型图像数据库,在ImageNet中,将近1500万图片被关联到了W…
# -*- coding:utf-8 -*- import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import os import argparse import sys DATA_DIR = os.path.join('.', 'mnist_link') # ======================================= # COMMON OPERATIONS #…
在之前的TensorFlow学习笔记——图像识别与卷积神经网络(链接:请点击我)中了解了一下经典的卷积神经网络模型LeNet模型.那其实之前学习了别人的代码实现了LeNet网络对MNIST数据集的训练.而这篇文章是想自己完成LeNet网络来训练自己的数据集.LeNet主要用来进行手写字符的识别与分类,下面记录一下自己学习的过程. 我的学习步骤分为以下四步: 1,温习LeNet-5的网络层 2,使用LeNet-5训练MNIST数据集 3,使用LeNet-5训练TFRecord格式的MNIST数据集…
深度学习-tensorflow学习笔记(1)-MNIST手写字体识别预备知识 在tf第一个例子的时候需要很多预备知识. tf基本知识 香农熵 交叉熵代价函数cross-entropy 卷积神经网络 softmax   这里用到的tf基本知识 tf.tensor-张量,其实就是矩阵.官方说法是原料 tf.Varible-变量,用来记录数据,参数.其实也是个矩阵.不过要初始化后才有具体的值 tf.Session()-会话,就是个模型,我们可以在里面添加数据流动方向,运算节点 香农熵 香农熵是计算信息…
tensorflow学习笔记——使用TensorFlow操作MNIST数据(1) 一:神经网络知识点整理 1.1,多层:使用多层权重,例如多层全连接方式 以下定义了三个隐藏层的全连接方式的神经网络样例代码: import tensorflow as tf l1 = tf.matmul(x, w1) l2 = tf.matmul(l1, w2) y = tf.matmul(l2,w3) 1.2,激活层:引入激活函数,让每一层去线性化 激活函数有多种,例如常用的 tf.nn.relu  tf.nn.…
续集请点击我: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中应该叫导入模块)…
使用CNN卷积神经网络(2) 使用Tensorflow搭建简单的CNN卷积神经网络对fashion_mnist数据集进行分类 不了解是那么是CNN卷积神经网络的小伙伴可以参考上一篇博客(Tensorflow学习笔记No.4.1) 2.Tensorflow卷积神经网络相关API简介 2.1.keras.layers.Conv2D()二维卷积层 例如: model.add(keras.layers.Conv2D(128, (3, 3), activation = 'relu', padding =…
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.预训练网络 预训练网络是一个保存好的,已经在大型数据集上训练好的卷积神经网络. 如果这个数据集足够大且通用,那么预训练网络学习到的模型参数可以有效的对图片进行特征提取.即使新问题与原本的数据完全不同,但学习到的特征提取方法依然可以在不同的问题之间进行移植,进而可以在全新的数据集上提取到有效的特征.对这些有效的高级特征进行分类可以大大提高模型分类的准确率. 迁移学习主要适用于已有数…