图像处理
duanlianvip
这个作者很懒,什么都没留下…
展开
-
TensorFlow的get_shape()函数和num_elements() 函数
今天学习图像数组转置的时候,遇到get_shape()、num_elements()函数。经查,get_shape()函数的功能和array的shape属性一样,都是可以得到张量(数组)的维度,如下是TesnorFlow的get_shape()源码(..\Lib\site-packages\tensorflow\python\ops\variables.py): def get_sha...原创 2019-07-03 18:56:22 · 4101 阅读 · 1 评论 -
【TensorFlow】对抗生成网络(GAN)- 根据MNIST数据集模拟生成数字手写体实战
简介简单的说,对抗生成网络就是真和假之间的对抗。造“假”水平不断提高,以此瞒过“真”的眼睛;辩“真”能力不断提高,以此识别出“假”。两股力量不断博弈,最后达到以假乱真的目的。生成器G(造假) :生成的结果越真越好,可以以假乱真。达到瞒天过海,骗过判别器的目的 判别器D(打假):具有火眼金睛,分辩真假的能力越强越好。分辨出生成和真实的 损失函数:一方面要让判别器分辨能力更强,另一方面要让...原创 2019-09-30 15:34:19 · 1655 阅读 · 3 评论 -
【TensorFlow】4位纯数字或数字字母组合验证码识别
本文做了一个识别简单验证码的小例子,具体思路如下:使用captcha类库随机生成4位纯数字或数字、大小写组合的验证码; 以第一步生成的验证码为训练数据,对3层卷积、2层全连接模型进行训练; 当训练的正确率达到规定的阈值时,保存模型,并停止训练。说明:若验证码为4位纯数字,则模型要完成的分类数为4*10=40分类任务; 若验证码为4为数字+大写+小写组成,则为4*(10+26+26)...原创 2019-09-13 21:32:54 · 4379 阅读 · 0 评论 -
【TensorFlow】用TFRecord方式对数据进行读取(二)
笔记《【TensorFlow】用TFRecord方式对数据进行读取(一)》讲述了如何生成TFRecord文件。那么如何读取生成的文件进行模型训练呢?且往下看。本文读取TFRecord的方法大致如下:构建.tfrecord文件的文件路径列表filenames 使用string_input_producer(filenames)方法生成一个文件名队列filename_queue 使用pre...原创 2019-09-03 17:58:34 · 464 阅读 · 0 评论 -
【TensorFlow】用TFRecord方式对数据进行读取(一)
在做深度学习项目时,在模型训练前,通常要对训练/验证图像进行读取操作。之前博文《TensorFlow 卷积神经网络 - 猫狗识别》使用的是OpenCV读取的方式。使用OpenCV把图像读成矩阵形式当然可以满足模型训练的要求,此方式在处理小批量图像时还可以,如果处理大批量图像,就显得有点慢了。对于大型项目、大批量的图像,经常用TFRecord的方式对数据进行读取。TFRecord是TensorF...原创 2019-08-28 12:57:08 · 2447 阅读 · 0 评论 -
【TensorFlow】TensorBoard的使用(四)
在《【TensorFlow】TensorBoard的使用(三)》中讲述了如何增加TensorBoard所展示的参数。本文旨在讲述如何让TensorBoard帮我们进行参数的选择。主要增加如下信息:设置不同的学习率:for learning_rate in [1E-4, 1E-3, 1E-2]: 设置不同的全连接层:for use_two_fc in [True, False]: 设置不...原创 2019-08-06 17:06:28 · 2836 阅读 · 2 评论 -
【TensorFlow】TensorBoard的使用(三)
在《【TensorFlow】TensorBoard的使用(二)》中讲述了如何使生成的图更具有可阅读性,但是生成的可阅读参数较少,本文旨在增加TensorBoard的展示信息。主要增加如下信息:权重、偏置等在训练过程中的分布情况:tf.summary.histogram('weights', w) 损失值、准确率随着迭代次数的进行,其指标变化情况:tf.summary.scalar('ac...原创 2019-08-06 14:24:36 · 4550 阅读 · 2 评论 -
【TensorFlow】TensorBoard的使用(二)
在《【TensorFlow】TensorBoard的使用(一)》中讲述了如何简单的使用TensorBoard,但是生成的图比较乱,本文旨在对生成的图进行优化。优化主要分为如下步骤:定义操作名字的作用域:with tf.name_scope(name): 定义张量的name值:w = tf.Variable(tf.truncated_normal([5, 5, size_in, size_...原创 2019-08-06 10:22:21 · 7888 阅读 · 0 评论 -
【TensorFlow】Mnist数据集 - RNN
一、使用RNN识别手写数字1、什么是RNNRNN(Recurrent Neural Network)是一类用于处理序列数据的神经网络。首先我们要明确什么是序列数据,摘取百度百科词条:时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。这是时间序列数据的定义,当然这里也可以不是时间,比如文字序列,但总归序列数据有一个特点——后面的数据跟前面的数据...原创 2019-07-30 21:05:03 · 782 阅读 · 0 评论 -
【TensorFlow】使用AlexNet网络对图片进行识别分类
AlexNet是2012年ImageNet竞赛冠军获得者Hinton和他的学生Alex Krizhevsky设计的。也是在那年之后,更多的更深的神经网络被提出,比如优秀的vgg,GoogLeNet。虽然时隔多年,但AlexNet经典依旧,本文就简单回顾一下AlexNet的网络结构。一、AlexNet网络结构由于当时硬件资源的限制,Hinton使用了两块GPU对AlexNet训练,即把输...原创 2019-07-15 18:32:07 · 9538 阅读 · 4 评论 -
TensorFlow Mnist数据集-卷积神经网络实现
本文使用Mnist数据集对卷积神经网络进行一次体验,主要流程为:conv1+pool1-->conv2+pool2-->FC1+Drop-->FC2上述流程使用的参数不同预测的正确率也不同,这个过程就是调参。导入依赖包:import tensorflow as tfimport randomimport numpy as npimport matplotl...原创 2019-07-01 15:13:09 · 680 阅读 · 0 评论 -
TensorFlow 卷积神经网络 - 猫狗识别
最近在尝试学习使用卷积神经网络对猫狗进行识别,准备猫、狗图片各500张图片,图片是大小不一的彩色图片。大致的实现思路:各准备猫、狗500张图片,并对其命名“cat.XXX.jpg”、“dog.XXX.jpg”,计划20%猫、20%狗作为验证,剩下做训练; 图片大小归一化:使用OpenCV3把图片归一为64*64的彩色图片; 读取图片内容(numpy数组,batchszie*64*64*...原创 2019-07-05 20:08:28 · 1600 阅读 · 1 评论 -
【TensorFlow】 利用卷积神经网络对CIFAR-10数据集进行分类
一、CIFAR-10介绍CIFAR-10数据集包括6万张32*32大小的彩色图片,该数据集一共有10个类别,每个类别有6千张图片。其中训练数据集图片5万张,测试数据集1万张。该训练数据集平均分成5个训练批次,每个训练批次1万张图。下载该数据集的链接:http://www.cs.toronto.edu/~kriz/cifar.html由于本文是基于Python3.6的,所以选择“CIFA...原创 2019-07-10 17:10:06 · 2914 阅读 · 0 评论 -
TensorFlow ValueError: Dimensions must be equal, but are 32 and 3 for 'Conv2D_1' (op: 'Conv2D') with
今天在运行卷积神经网络时遇到如下错误:ValueError: Dimensions must be equal, but are 32 and 3 for 'Conv2D_1' (op: 'Conv2D') with input shapes: [?,32,32,32], [3,3,3,32].经过设置断点调试得知在进行第二层卷积的时候遇到了问题:第二层卷积的输入值维度:x=[?,...原创 2019-07-04 16:20:55 · 15837 阅读 · 4 评论 -
【TensorFlow】对抗生成网络(DCGAN)- 根据MNIST数据集模拟生成数字手写体实战
《文章》介绍了使用全连接构建对抗生成神经网络GAN,本文介绍基于卷积构建对抗生成神经网络DCGAN(深度卷积对抗生成网络,Deep Convolutional Generative Adversarial Networks)。DCGAN的特点判别模型:使用带步长的卷积(strided convolutions)取代了的空间池化(spatial pooling),容许网络学习自己的空间下采样...原创 2019-09-30 19:23:08 · 1284 阅读 · 0 评论