tensorflow生成多个tfrecord文件实例

我就废话不多说了,直接上代码吧!

import tensorflow as tf
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
import os
i = 0
j = 0
num_shards = 100#总共写入的文件个数
instances_per_shard = 2#每个文件中的数据个数
sess=tf.InteractiveSession()
cwd = "F:/寒假/google--data/新建文件夹/" #图片数据所在目录位置(读者自己去改就好了)
classes = {'daisy','rose'} #预先自己定义的类别,根据自己的需要修改

def _int64_feature(value):#生成整数型的属性
   return tf.train.Feature(int64_list=tf.train.Int64List(value=[value]))

def _bytes_feature(value):#生成字符串型的属性
   return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value]))

for index, name in enumerate(classes):#枚举函数
  class_path = cwd + name + "/"#选取具体数据目录
  for img_name in os.listdir(class_path):#遍历文件列表
    img_path = class_path + img_name#图片路径
    img = Image.open(img_path)
    img = img.resize((299, 299)) #图像reshape大小设置,根据自己的需要修改
    img_raw = img.tobytes()

    example = tf.train.Example(features=tf.train.Features(feature={
          'label': _int64_feature(index),
          'img_raw': _bytes_feature(img_raw),
          'i': _int64_feature(i),
          'j': _int64_feature(j)
        }))
    filename = ("F:/寒假/google--data/data.tfrecords-%.5d-of-%.5d"%(i,num_shards))
    if j == instances_per_shard-1:
      i+=1
    j+=1
    if j == instances_per_shard:
      j=0
    writer = tf.python_io.TFRecordWriter(filename)

    writer.write(example.SerializeToString())#将一个example写入tfrecord文件
writer.close()

以上这篇tensorflow生成多个tfrecord文件实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Tensorflow中使用tfrecord方式读取数据的方法

    前言 本博客默认读者对神经网络与Tensorflow有一定了解,对其中的一些术语不再做具体解释.并且本博客主要以图片数据为例进行介绍,如有错误,敬请斧正. 使用Tensorflow训练神经网络时,我们可以用多种方式来读取自己的数据.如果数据集比较小,而且内存足够大,可以选择直接将所有数据读进内存,然后每次取一个batch的数据出来.如果数据较多,可以每次直接从硬盘中进行读取,不过这种方式的读取效率就比较低了.此篇博客就主要讲一下Tensorflow官方推荐的一种较为高效的数据读取方式--tfre

  • tensorflow将图片保存为tfrecord和tfrecord的读取方式

    tensorflow官方提供了3种方法来读取数据: 预加载数据(preloaded data):在TensorFlow图中定义常量或变量来保存所有的数据,适用于数据量不太大的情况.填充数据(feeding):通过Python产生数据,然后再把数据填充到后端. 从文件读取数据(reading from file):从文件中直接读取,然后通过队列管理器从文件中读取数据. 本文主要介绍第三种方法,通过tfrecord文件来保存和读取数据,对于前两种读取数据的方式也会进行一个简单的介绍. 项目下载git

  • Tensorflow分批量读取数据教程

    之前的博客里使用tf读取数据都是每次fetch一条记录,实际上大部分时候需要fetch到一个batch的小批量数据,在tf中这一操作的明显变化就是tensor的rank发生了变化,我目前使用的人脸数据集是灰度图像,因此大小是92*112的,所以最开始fetch拿到的图像数据集经过reshape之后就是一个rank为2的tensor,大小是92*112的(如果考虑通道,也可以reshape为rank为3的,即92*112*1).如果加入batch,比如batch大小为5,那么拿到的tensor的r

  • 从多个tfrecord文件中无限读取文件的例子

    原来在一本书上看到过,从多个tfrecord文件中读取数据的方法,今天想用在网上找了一下,现在记录一下,免得自己以后忘记了又不好找, tfrecord_file_path = '/train/*.tfrecords'#train是存放tfrecord的文件夹 filename_queue = tf.train.string_input_producer( tf.train.match_filenames_once(tfrecord_file_path), shuffle=True, num_ep

  • TensorFlow实现从txt文件读取数据

    TensorFlow从txt文件中读取数据的方法很多有种,我比较常用的是下面两种: [1]np.loadtxt import numpy as np data=np.loadtxt('ex1data1.txt',dtype='float',delimiter=',') X_train=data[:,0] y_train=data[:,1] [2]pd.read_csv import pandas as pd data=pd.read_csv("ex2data2.txt",names=[

  • tensorflow生成多个tfrecord文件实例

    我就废话不多说了,直接上代码吧! import tensorflow as tf from PIL import Image import matplotlib.pyplot as plt import numpy as np import os i = 0 j = 0 num_shards = 100#总共写入的文件个数 instances_per_shard = 2#每个文件中的数据个数 sess=tf.InteractiveSession() cwd = "F:/寒假/google--da

  • tensorflow学习笔记之tfrecord文件的生成与读取

    训练模型时,我们并不是直接将图像送入模型,而是先将图像转换为tfrecord文件,再将tfrecord文件送入模型.为进一步理解tfrecord文件,本例先将6幅图像及其标签转换为tfrecord文件,然后读取tfrecord文件,重现6幅图像及其标签. 1.生成tfrecord文件 import os import numpy as np import tensorflow as tf from PIL import Image filenames = [ 'images/cat/1.jpg'

  • python生成lmdb格式的文件实例

    在crnn训练的时候需要用到lmdb格式的数据集,下面是python生成lmdb个是数据集的代码,注意一定要在linux系统下,否则会读入图像的时候出问题,可能遇到的问题都在代码里面注释了,看代码即可. #-*- coding:utf-8 -*- import os import lmdb#先pip install这个模块哦 import cv2 import glob import numpy as np def checkImageIsValid(imageBin): if imageBin

  • php生成txt文件实例代码介绍

    这是一个朋友过来的 php 生成 txt 文件代码,这只是一个实例,需要我来给他生成多个 txt 文件实例的,但我觉得他这个代码有点意思,所以就分享上来了. 先说下这个 php 生成 txt 文件代码都是什么功能吧,肯定是要生成 txt 文件的,有点废话了,不说其它的了,这个 php 代码可以生成指定目录下的一个 txt 文件,并在 txt 文件里面写入三行文字,这个是在 php 里面定义好的. 夏日博客分享下实例的代码如下: <!doctype html> <html> <

  • Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取

    单一数据读取方式: 第一种:slice_input_producer() # 返回值可以直接通过 Session.run([images, labels])查看,且第一个参数必须放在列表中,如[...] [images, labels] = tf.train.slice_input_producer([images, labels], num_epochs=None, shuffle=True) 第二种:string_input_producer() # 需要定义文件读取器,然后通过读取器中的

  • python 读取excel文件生成sql文件实例详解

    python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以这次考虑通过python脚本来实现. 在此之前需要给python添加一个xlrd模块,这个模块是专门用来操作excel文件的. 在mac中可以通过easy_install xlrd命令实现自动安装模块 import xdrlib ,sys import xlrd def open_excel(fil

  • Tensorflow 实现将图像与标签数据转化为tfRecord文件

    tensorflow中如果要对神经网络模型进行训练,需要把训练数据转换为tfrecord格式才能被读取,tensorflow的model文件里直接提供了相应的脚本文件在下面的文件夹中: cd tensorflow/models/research/object_detection/dataset_tools 其中包括: 1.create_coco_tf_record.py:注意,这个代码需要解析json格式的标签文件 2.create_pascal_tf_record.py:注意,这个代码需要解析

  • TFRecord文件查看包含的所有Features代码

    TFRecord作为tensorflow中广泛使用的数据格式,它跨平台,省空间,效率高.因为 Tensorflow开发者众多,统一训练时数据的文件格式是一件很有意义的事情,也有助于降低学习成本和迁移成本. 但是TFRecord数据是二进制格式,没法直接查看.因此,如何能够方便的查看TFRecord格式和数据,就显得尤为重要了. 为什么需要查看TFReocrd数据?首先我们先看下常规的写入和读取TFRecord数据的关键过程. # 1. 写入过程 # 一张图片,我写入了其内容,label,长和宽几

  • tensorflow使用range_input_producer多线程读取数据实例

    先放关键代码: i = tf.train.range_input_producer(NUM_EXPOCHES, num_epochs=1, shuffle=False).dequeue() inputs = tf.slice(array, [i * BATCH_SIZE], [BATCH_SIZE]) 原理解析: 第一行会产生一个队列,队列包含0到NUM_EXPOCHES-1的元素,如果num_epochs有指定,则每个元素只产生num_epochs次,否则循环产生.shuffle指定是否打乱顺

  • linux 驱动之Kconfig文件和Makefile文件实例

    linux 驱动之Kconfig文件和Makefile文件实例 在Linux编写驱动的过程中,有两个文件是我们必须要了解和知晓的.这其中,一个是Kconfig文件,另外一个是Makefile文件.如果大家比较熟悉的话,那么肯定对内核编译需要的.config文件不陌生,在.config文件中,我们发现有的模块被编译进了内核,有的只是生成了一个module.这中间,我们如何让内核发现我们编写的模块呢,这就需要在Kconfig中进行说明.至于如何生成模块,那么就需要利用Makefile告诉编译器,怎么

随机推荐