第三阶段-tensorflow项目之图像image相关--tensorflow搭建CNNs 之CIFAR-10多个GPU运行

本blog面向有TensorFlow经验的用户,并有机器学习方面的专业知识和经验。

1,Overview概述

CIFAR-10分类是机器学习中常见的标准基础问题。 问题是分类10个类别的RGB 32x32像素图像:

airplane, automobile, bird, cat, deer, dog, frog, horse, ship, and truck.

1.1,goals

本blog的目标是建立一个相对较小的卷积神经网络(CNN)来识别图像。 在这个过程中,本教程:

  • 突出网络架构,训练和评估的规范模板。
  • 为构建更大更复杂的模型提供了一个模板。

选择CIFAR-10的原因是它足够复杂,可以大量运用TensorFlow扩展到大型模型的能力。 同时,这个模型足够小,可以快速训练,这对于尝试新的想法和尝试新的技术是理想的。

1.2,Highlights of the Tutorial

CIFAR-10教程演示了在TensorFlow中设计更大和更复杂模型的几个重要结构:

  • 核心数学组件包括卷积(维基),纠正线性激活(维基),最大池(维基百科)和本地响应正常化(AlexNet论文第3.3章)。
  • 在培训期间网络活动的可视化,包括输入图像,激活和渐变的损失和分布。
  • 用于计算学习参数的移动平均数的例程,并在评估期间使用这些平均数来提高预测性能。
  • 实施随时间有系统地减少的学习率表。
  • 预取输入数据的队列以隔离模型和磁盘延迟以及昂贵的图像预处理。

我们还提供了一个多GPU版本的模型,它演示了:

  • 配置一个模型来并行训练多个GPU cards。
  • 在多个GPU之间共享和更新变量。

我们希望本教程为在TensorFlow上进行视觉任务构建更大的CNN提供了一个启动点。

1.3,Model Architecture

CIFAR-10教程中的模型是一个由交替卷积和非线性组成的多层体系结构。 这些层之后是完全连接的层,通向softmax分类器。 该模型遵循Alex Krizhevsky所描述的架构,在前几个层次中有一些差异。

这个模型在GPU的几个小时训练时间内达到了高达86%的精度。 请参阅下面的代码和细节。 它由1,068,298个可学习的参数组成,并且需要大约19.5M的乘加操作来计算单个图像上的inference 。

2,Code Organization

本教程的代码位于models / tutorials / image / cifar10 /中。

这里写图片描述

3,CIFAR-10 Model

CIFAR-10网络主要包含在cifar10.py中。 完整的训练图包含大约765个操作。 我们发现,通过构建带有以下模块的图,我们可以使代码最为可重用:

  1. Model inputs:输入()和distorted_inputs()添加操作,分别读取和预处理CIFAR图像以进行评估和训练。
  2. Model prediction:推理()增加了对提供的图像进行处理(即分类)的操作。
  3. Model training:loss()和train
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值