写在前面
百万张图片的 imagenet 数据原始大小约为 148G,整理成 TFRecord 格式文件后约为 144G,因此至少要准备 300G 大小。

参考:https://github.com/tensorflow/models/tree/master/research/inception#getting-started

1 在 iimagenet 网站 http://image-net.org 注册,记下用户名与密码。
2 下载代码。是tensorflow 的model zoom,https://github.com/tensorflow/models, 代码在models/research/inception/inception/data
3 修改 download_and_preprocess_imagenet.sh 脚本,如我改的结果如下:
主要是 WORK_DIRBUILD_SCRIPTOUTPUT_DIRECTORY 三个,另外,将 BUILD_SCRIPT 设为可执行, 在 build_imagenet_data.py 文件头添加了 #!/usr/bin/env python, 目的是 BUILD_SCRIPT 默认是shell可执行文件。


# usage:
#  ./download_and_preprocess_imagenet.sh [data-dir]
set -eif [ -z "$1" ]; thenecho "Usage: download_and_preprocess_imagenet.sh [data dir]"exit
fi# Create the output and temporary directories.
DATA_DIR="${1%/}"
SCRATCH_DIR="${DATA_DIR}/raw-data/"
#mkdir -p "${DATA_DIR}"
#mkdir -p "${SCRATCH_DIR}"
#WORK_DIR="$0.runfiles/inception/inception"
WORK_DIR="/home/linlf/project/linlf/mlperf/reference/image_classification/dataset/inception"
# Download the ImageNet data.
LABELS_FILE="${WORK_DIR}/data/imagenet_lsvrc_2015_synsets.txt"
DOWNLOAD_SCRIPT="${WORK_DIR}/data/download_imagenet.sh"
"${DOWNLOAD_SCRIPT}" "${SCRATCH_DIR}" "${LABELS_FILE}"# Note the locations of the train and validation data.
TRAIN_DIRECTORY="${SCRATCH_DIR}train/"
VALIDATION_DIRECTORY="${SCRATCH_DIR}validation/"# Preprocess the validation data by moving the images into the appropriate
# sub-directory based on the label (synset) of the image.
echo "Organizing the validation data into sub-directories."
PREPROCESS_VAL_SCRIPT="${WORK_DIR}/data/preprocess_imagenet_validation_data.py"
VAL_LABELS_FILE="${WORK_DIR}/data/imagenet_2012_validation_synset_labels.txt""${PREPROCESS_VAL_SCRIPT}" "${VALIDATION_DIRECTORY}" "${VAL_LABELS_FILE}"# Convert the XML files for bounding box annotations into a single CSV.
echo "Extracting bounding box information from XML."
BOUNDING_BOX_SCRIPT="${WORK_DIR}/data/process_bounding_boxes.py"
BOUNDING_BOX_FILE="${SCRATCH_DIR}/imagenet_2012_bounding_boxes.csv"
BOUNDING_BOX_DIR="${SCRATCH_DIR}bounding_boxes/""${BOUNDING_BOX_SCRIPT}" "${BOUNDING_BOX_DIR}" "${LABELS_FILE}" \| sort > "${BOUNDING_BOX_FILE}"
echo "Finished downloading and preprocessing the ImageNet data."# Build the TFRecords version of the ImageNet data.
#BUILD_SCRIPT="${WORK_DIR}/build_imagenet_data"
BUILD_SCRIPT="${WORK_DIR}/data/build_imagenet_data_newdataset.py"
#OUTPUT_DIRECTORY="${DATA_DIR}"
# mime -- output new dir
OUTPUT_DIRECTORY="/home/linlf/dataset"
IMAGENET_METADATA_FILE="${WORK_DIR}/data/imagenet_metadata.txt""${BUILD_SCRIPT}" \--train_directory="${TRAIN_DIRECTORY}" \--validation_directory="${VALIDATION_DIRECTORY}" \--output_directory="${OUTPUT_DIRECTORY}" \--imagenet_metadata_file="${IMAGENET_METADATA_FILE}" \--labels_file="${LABELS_FILE}" \--bounding_box_file="${BOUNDING_BOX_FILE}"

4 在 build_imagenet_data.py 可以自由调整多少个 TFRecord 训练集 和 TFRecord 测试集,在代码110行:
如下我调整成 512 个 TFRecord 训练集和 64 个 TFRecord 测试集。

 tf.app.flags.DEFINE_integer('train_shards', 512,'Number of shards in training TFRecord files.')tf.app.flags.DEFINE_integer('validation_shards', 64,'Number of shards in validation TFRecord files.')

imagenet 数据整理相关推荐

  1. Keras图像分割实战:数据整理分割、自定义数据生成器、模型训练

    Keras图像分割实战:数据整理分割.自定义数据生成器.模型训练 目录 Keras图像分割实战:数据整理分割.自定义数据生成器.模型训练

  2. 《数据分析实战:基于EXCEL和SPSS系列工具的实践》——3.3 耗时耗力的数据整理过程...

    本节书摘来自华章计算机<数据分析实战:基于EXCEL和SPSS系列工具的实践>一书中的第3章,第3.3节,作者 纪贺元,更多章节内容可以访问云栖社区"华章计算机"公众号 ...

  3. 多波次导弹发射中的规划问题(一) 网络图绘制及数据整理

    前言 2017年研究生数学建模E题目 多波次导弹发射中的规划问题 ,题目围绕着导弹发射的位置选取问题展开.首先讲述了一大堆有关导弹发射的机动策略,以及导弹发射车的运行参数,地图点位分布等等.然后就丢出 ...

  4. Pandas数据处理实战:福布斯全球上市企业排行榜数据整理

    手头现在有一份福布斯2016年全球上市企业2000强排行榜的数据,但原始数据并不规范,需要处理后才能进一步使用. 本文通过实例操作来介绍用pandas进行数据整理. 照例先说下我的运行环境,如下: w ...

  5. 机器学习项目中的数据预处理与数据整理之比较

    要点 在常见的机器学习/深度学习项目里,数据准备占去整个分析管道的60%到80%. 市场上有各种用于数据清洗和特征工程的编程语言.框架和工具.它们之间的功能有重叠,也各有权衡. 数据整理是数据预处理的 ...

  6. 《数据整理实践指南》一第1章 从头说起:什么是噪音数据

    本节书摘来自异步社区<数据整理实践指南>一书中的第1章,第1.1节,作者[美]Q. Ethan McCallum(麦卡伦),更多章节内容可以访问云栖社区"异步社区"公众 ...

  7. 5菜鸟教程_excel图文教程:应用PQ工具进行数据整理

    编按:哈喽,大家好!在日常工作中,我们经常会与数据打交道,那整理数据自然也是一件习以为常的事.但就是这么一件天天都会做的事,却让很多人压力山大,这不,又有一位小伙伴遇到问题了,我们赶紧来看看吧!学习更 ...

  8. 专题导读:大数据整理

    专题导读:大数据整理 在大数据时代,数据呈现多源.异构. 信息不一致.信息不完整等特点,这会造 成数据不完整.数据质量较低的问题.数 据整理(包括数据发现.数据准备.数据 清洗.数据融合等)旨在整合多 ...

  9. sql用于字符串的聚合函数_SQL字符串函数用于数据整理(争用)

    sql用于字符串的聚合函数 In this article, you'll learn the tips for getting started using SQL string functions ...

最新文章

  1. 优酷土豆:财报不是问题!
  2. 测试稳压二极管特性:BZT52C4V7
  3. 预告 | CSIG图像图形学科前沿讲习班:图神经网络
  4. MATLAB 批量改文件名称
  5. Android Studio 3.1.4 报错Failed to find style 'coordinatorLayoutStyle' in current theme
  6. mdx格式的词典用什么软件打开_可能是目前PC端最好用的词典——Goldendict
  7. linux已开机时间,Linux查看系统开机时间
  8. python人脸识别plc_实例详解Python人脸识别
  9. 计算机专业本科毕业论文周进展,周进展记录.docx
  10. fg-bg Assignment Imbalance problem
  11. jquery closest()的用法
  12. SCI Translate 11安装教程
  13. 第五天学习--存储结构与磁盘划分
  14. iphone输入法换行_iphone打字怎么换行?iphone输入法换行教程
  15. 阿里再发10亿助农,店宝宝:中小卖家喜迎流量红利
  16. 斯嘉丽约翰逊60张pdf什么时间的?_什么叫美丽与演技并存?
  17. 富文本粘贴word文档内容图片处理
  18. TCP 滑动窗口协议 详解
  19. VSCODE(三)用户界面
  20. Uniapp 应用开机自启插件 Ba-Autoboot

热门文章

  1. 前端富文本编辑器哪家强?我推荐Quill,搭配丰富插件使用美滋滋
  2. flex 为之疯狂的
  3. Jmeter书中不会教你的(38)——快递时效查询8用户自定义变量User Defined Variables
  4. 防破解嵌入式安全加密芯片SMEC98SP快速上手指南
  5. Orchard基本概念快速理解
  6. 安慰剂检验!安慰剂检验!
  7. Ajax的特性以及用法
  8. 问题解决:fastjson 迁移至gson 反序列化错误,看这篇就够!
  9. 基于hibernate和struts的网上书店系统的设计与实现
  10. 记一次排障事件:.jar which is referenced by the classpath, does not exist.