【初学者系列】TensorFlow学习笔记 — 构建简单卷积网络进行图像分类

【导读】TensorFlow 是一个端到端开源机器学习框架。借助 TensorFlow,可以轻松地创建机器学习模型。本文介绍如何利用TensorFlow构建简单卷积网络进行图像分类。

以下代码导入包如下:


一、数据预处理

本文采用的数据是自定义数据集,找了几个电脑软件界面,选取了四类图片:

        0 = >crt

        1 => excel

        2 => ppt

        3 => txt

将图片变为24x24x3的图片。代码如下:

得到以下图片:

配置信息如下,其中,图片文件存放在data_dir文件夹中,train表示当前执行是训练还是测试,model_path约定了模型存放的路径:

读取数据是将图片文件夹中的图片读入numpy的array中。注意,pillow读取的图像像素值在0-255之间,需要归一化。代码如下:

占位符placeholder并没有初始值,它只会分配必要的内存,用sklearn划分数据集以及定义placeholder如下:


二、网络搭建

卷积层以及全链接层:

损失函数、优化器、模型保存器/载入器,这里,没有必要给Optimizer传递平均的损失,直接将未平均的损失函数传给Optimizer即可。:


三、训练及测试

训练:

测试:


四、结果

测试输出结果如下:

通过调整网络结构,可将F1 Score升到更高


资源来啦

本文代码百度网盘链接:

https://pan.baidu.com/s/18TKRzo1JajMgcKtxysOSlA

提取码:r9xu

本文参考github项目修改了一些内容,原项目地址为:

https://github.com/hujunxianligong/Tensorflow-CNN-Tutorial


-END-

专 · 知


专知,专业可信的人工智能知识分发,让认知协作更快更好!欢迎登录www.zhuanzhi.ai,注册登录专知,获取更多AI知识资料!

欢迎微信扫一扫加入专知人工智能知识星球群,获取最新AI专业干货知识教程视频资料和与专家交流咨询

请加专知小助手微信(扫一扫如下二维码添加),加入专知人工智能主题群,咨询技术商务合作~

专知《深度学习:算法到实战》课程全部完成!560+位同学在学习,现在报名,限时优惠!网易云课堂人工智能畅销榜首位!

点击“阅读原文”,了解报名专知《深度学习:算法到实战》课程

展开全文
Top
微信扫码咨询专知VIP会员