TensorFlow CNN 测试CIFAR-10数据集

TensorFlow CNN 测试CIFAR-10数据集




本系列文章由
@yhl_leo
出品,转载请注明出处。


文章链接:
http://blog.csdn.net/yhl_leo/article/details/50738311



1 CIFAR-10 数据

CIFAR-10数据集是机器学习中的一个通用的用于图像识别的基础数据集,官网链接为:The CIFAR-10 dataset

cifar10

下载使用的版本是:

version

将其解压后(代码中包含自动解压代码),内容为:

cifar10 data

cifar10 data2

2 测试代码

测试代码公布在GitHub:yhlleo

主要代码及作用:

文件 作用
cifar10_input.py 读取本地或者在线下载CIFAR-10的二进制文件格式数据集
cifar10.py 建立CIFAR-10的模型
cifar10_train.py 在CPU或GPU上训练CIFAR-10的模型
cifar10_multi_gpu_train.py 在多个GPU上训练CIFAR-10的模型
cifar10_eval.py 评估CIFAR-10模型的预测性能

该部分的代码,介绍了如何使用TensorFlow在CPU和GPU上训练和评估卷积神经网络(convolutional neural network, CNN)。

3 相关网页及教程

更加详细地介绍说明,请浏览网页:Convolutional Neural Networks

中文网站极客学院也有该部分的汉译版:卷积神经网络

代码源自tensorflow官网:tensorflow/models/image/cifar10

4 代码修改说明

GitHub公布代码相对源码(本人的Tensorflow版本还是0.5),主要进行了以下修正:

  • cifar10.py
# indices = tf.reshape(tf.range(FLAGS.batch_size), [FLAGS.batch_size, 1])
indices = tf.reshape(range(FLAGS.batch_size), [FLAGS.batch_size, 1])

# or
indices = tf.reshape(tf.range(0, FLAGS.batch_size, 1), [FLAGS.batch_size, 1])

此处,源码编译时会出现以下错误:

  ...
  File ".../cifar10.py", line 271, in loss
    indices = tf.reshape(tf.range(FLAGS.batch_size), [FLAGS.batch_size, 1])
TypeError: range() takes at least 2 arguments (1 given)
  • cifar10_input_test.py
#self.assertEqual("%s:%d" % (filename, i), tf.compat.as_text(key))

import compat as cp
...

self.assertEqual("%s:%d" % (filename, i), cp.as_text(key))

不然的话,我测试的时候就会出现这的错误:

AttributeError: 'module' object has no attribute 'compat'
  • cifar10_train.pycifar10_multi_gpu_train.py

源代码里的最大迭代次数max_steps1000000,需要训练几个小时,不忍心折腾我的破笔记本,就改为了20000

其他改动,例如导入模块或者文件路径等,都很容易理解,就不列举了~

运行结果,与官网上公布的一致,也不再列举。附上一张运行结果截图:

cifartrain

转载于:https://www.cnblogs.com/hehehaha/p/6332160.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109139.html原文链接:https://javaforall.net

(0)
上一篇 2021年9月12日 下午7:00
下一篇 2021年9月12日 下午8:00


相关推荐

  • 简单好用的mac版Mysql可视化工具 – Sequel Pro

    简单好用的mac版Mysql可视化工具 – Sequel ProSequelPro 下载地址 http www pc6 com mac 133145 html 链接配置截图

    2025年12月4日
    8
  • vue遍历渲染数组「建议收藏」

    vue遍历渲染数组「建议收藏」<divv-for=”iteminuserAllInfo.adevarUserSkills”:key=”item.id”>{{item}}</div>v-for=”单个数据in数组”:key=“单个数据.主键”(主键唯一)不是对象无需主键

    2022年10月7日
    4
  • STM32使用MDK5时遇到* TOOLS.INI: TOOLCHAIN NOT INSTALLED 及激活成功教程方法

    STM32使用MDK5时遇到* TOOLS.INI: TOOLCHAIN NOT INSTALLED 及激活成功教程方法nbsp nbsp 现在大家用的 MDK5 注册机都是免费 GET 的嘛 免不了会遇到一些问题 就比如激活成功教程和注册 前几天我在使用 MDK5 的时候也是遇到了一些问题 解决好了之后 也专门写了博客介绍解决方法 nbsp nbsp 结果今天 我的 mdk5 又出现了 TOOLS INI TOOLCHAINNOT 的问题 我的程序 就算都是正常的程序 都会报这样的错 编译不成功就没法下载运行 nbsp nbsp 本能的反

    2026年3月18日
    2
  • 面试题:UDP&TCP的区别

    面试题:UDP&TCP的区别相同点 UDP 协议和 TCP 协议都是传输层协议 TCP Transmission 传输控制协议 提供的是面向连接 可靠的字节流服务 即客户和服务器交换数据前 必须现在双方之间建立一个 TCP 连接 之后才能传输数据 并且提供超时重发 丢弃重复数据 检验数据 流量控制等功能 保证数据能从一端传到另一端 UDP UserDataProt 用户数据报协议

    2026年3月18日
    2
  • shutdown 命令参数介绍

    shutdown 命令参数介绍用命令行工具 shutdown 来关闭或从启计算机在 Windows 中 新增了一条命令行工具 shutdown 其作用是 关闭或重新启动本地或远程计算机 利用它 我们不但可以注销用户 关闭或重新启动计算机 还可以实现定时关机 远程关机 该命令的语法格式如下 shutdown i l s r a f m ComputerName

    2026年3月17日
    2
  • Pycharm Django配置环境变量及Python Django框架安装

    Pycharm Django配置环境变量及Python Django框架安装Django 安装创建虚拟 Python 环境 condacreate nDjangoPathp 3 6 2 使用虚拟 Python 环境 activateDjan 在虚拟环境下安装 Pythonpipins 三 开始 Django 项目 1 创建 Django 项目 1 确认项目目录 项目路径当中不要

    2026年1月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号