深度回声状态网络python_Python深度学习系列——神经网络能辨别绘画创作时期吗?...

点击上方“蓝字”关注我们

  背景介绍  

大家好~今天跟大家分享的案例是关于“分类”的深度学习案例,从之前的案例中我们知道深度学习在图片分类上效果十分强大。比如说,深度学习一个经典的分类问题是“猫狗大战”,即让AI看一张图片,然后它将告诉你这张图片里是究竟是猫还是狗。

 661e220a57b06a23104a608ad8153699.png

由Kaggle举办的风靡一时的猫狗分类竞赛..

经过参赛选手们的不懈努力,在所有目前已公开的模型中,我们点开了一个获赞数较高的模型,它能够在训练集和测试集上同时取得接近90%的准确率。

  44a01e9d1833e3472d455931f2f86ca6.png

横轴是训练次数,纵轴是准确率,粗的点是训练集结果,细的线是验证集结果..

既然AI能够在关于猫狗的二分类问题中取得这么好的效果,那我们试试加大力度,看一看AI能不能解决一些难度更高的图像分类问题呢~

在西方艺术发展历史上,艺术风格经历了多次变革,我们随机选取了四个时期,即中世纪、文艺复兴、后文艺复兴和现代艺术时期,然后把这些图片收集起来,分类别存在电脑里,作为数据准备。

下边给大家展示的四幅图,就分别是这四个时期的作品之一,有看官能认出来每一张图片分别属于哪一个时期吗?(相信大部分朋友应该和我一样傻傻分不清~~)

  971a224dda9cdad16ca6a4ad09e7c147.png

所以有人能告诉我图3是啥吗..

数据介绍

我们通过公开网站找到各个时期的画作,作为演示案例,随机选取了每个时期的一部分画作进行分析,包括中世纪(80张)、文艺复兴(80张)、后文艺复兴(80张)、现代艺术(90张)。按照深度学习的数据划分方式,我们把这些照片储存在训练集文件夹(/data/train)和测试集文件夹(/data/validation),每个时期的画作又各自储存在各自的文件夹中。

图像数据生成器:在读入每一张图片的同时,对图像进行像素增减、旋转、平移或放缩等操作,达到识别度更高的效果,也就是所谓的“数据增强”。

从深度学习库keras中导入ImageDataGenerator这个类,然后对图像的变换进行声明,在创建这个类的时通过传入参数达到想要的效果,以下是每一个参数的含义。

113f1c5f176b39f4e283f65f6e96389d.png

除了传入参数以外,IMSIZE是我们传入图片的大小,train_generator是训练集数据生成器,validation_generator是测试集数据生成器。

在使用ImageDataGenerator时,调用flow_from_directory函数,它告诉程序target_size(图像大小)是299×299,batch_size(每次训练图片的数量)是50,class_mode是'categorical',声明这是一个多分类问题。在测试集生成器中也传入了相应的参数,具体的参数取值可以在代码中找到哦~以下是详细代码:

from keras.preprocessing.image import ImageDataGenerator
IMSIZE=299
train_generator = ImageDataGenerator(
    rescale=1./255,
    shear_range=0.5,
    rotation_range=30,
    zoom_range=0.2, 
    width_shift_range=0.2,
    height_shift_range=0.2,
    horizontal_flip=True).flow_from_directory('../case2-picture style/data/train',
    target_size=(IMSIZE, IMSIZE),
    batch_size=50,
    class_mode='categorical')
validation_genera

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值