TensorFlow 读取CSV数据的实例

TensorFlow 读取CSV数据原理在此就不做详细介绍,直接通过代码实现:

方法一:

详细读取tf_read.csv 代码

#coding:utf-8

import tensorflow as tf

filename_queue = tf.train.string_input_producer(["/home/yongcai/tf_read.csv"])
reader = tf.TextLineReader()
key, value = reader.read(filename_queue)

record_defaults = [[1.], [1.], [1.], [1.]]
col1, col2, col3, col4 = tf.decode_csv(value, record_defaults=record_defaults)

features = tf.stack([col1, col2, col3])

init_op = tf.global_variables_initializer()
local_init_op = tf.local_variables_initializer()

with tf.Session() as sess:
 sess.run(init_op)
 sess.run(local_init_op)

 # Start populating the filename queue.
 coord = tf.train.Coordinator()
 threads = tf.train.start_queue_runners(coord=coord)

 try:
  for i in range(30):
   example, label = sess.run([features, col4])
   print(example)
   # print(label)
 except tf.errors.OutOfRangeError:
  print 'Done !!!'

 finally:
  coord.request_stop()
  coord.join(threads)

tf_read.csv 数据:

-0.76	15.67	-0.12	15.67
-0.48	12.52	-0.06	12.51
1.33	9.11	0.12	9.1
-0.88	20.35	-0.18	20.36
-0.25	3.99	-0.01	3.99
-0.87	26.25	-0.23	26.25
-1.03	2.87	-0.03	2.87
-0.51	7.81	-0.04	7.81
-1.57	14.46	-0.23	14.46
-0.1	10.02	-0.01	10.02
-0.56	8.92	-0.05	8.92
-1.2	4.1	-0.05	4.1
-0.77	5.15	-0.04	5.15
-0.88	4.48	-0.04	4.48
-2.7	10.82	-0.3	10.82
-1.23	2.4	-0.03	2.4
-0.77	5.16	-0.04	5.15
-0.81	6.15	-0.05	6.15
-0.6	5.01	-0.03	5
-1.25	4.75	-0.06	4.75
-2.53	7.31	-0.19	7.3
-1.15	16.39	-0.19	16.39
-1.7	5.19	-0.09	5.18
-0.62	3.23	-0.02	3.22
-0.74	17.43	-0.13	17.41
-0.77	15.41	-0.12	15.41
0	47	0	47.01
0.25	3.98	0.01	3.98
-1.1	9.01	-0.1	9.01
-1.02	3.87	-0.04	3.87

方法二:

详细读取 Iris_train.csv, Iris_test.csv 代码

#coding:utf-8

import tensorflow as tf
import os

os.chdir("/home/yongcai/")
print(os.getcwd())

def read_data(file_queue):
 reader = tf.TextLineReader(skip_header_lines=1)
 key, value = reader.read(file_queue)
 defaults = [[0], [0.], [0.], [0.], [0.], ['']]
 Id, SepalLengthCm, SepalWidthCm, PetalLengthCm, PetalWidthCm, Species = tf.decode_csv(value, defaults)

 preprocess_op = tf.case({
  tf.equal(Species, tf.constant('Iris-setosa')): lambda: tf.constant(0),
  tf.equal(Species, tf.constant('Iris-versicolor')): lambda: tf.constant(1),
  tf.equal(Species, tf.constant('Iris-virginica')): lambda: tf.constant(2),
 }, lambda: tf.constant(-1), exclusive=True)

 return tf.stack([SepalLengthCm, SepalWidthCm, PetalLengthCm, PetalWidthCm]), preprocess_op

def create_pipeline(filename, batch_size, num_epochs=None):
 file_queue = tf.train.string_input_producer([filename], num_epochs=num_epochs)
 example, label = read_data(file_queue)

 min_after_dequeue = 1000
 capacity = min_after_dequeue + batch_size
 example_batch, label_batch = tf.train.shuffle_batch(
  [example, label], batch_size=batch_size, capacity=capacity,
  min_after_dequeue=min_after_dequeue
 )

 return example_batch, label_batch

# x_train_batch, y_train_batch = create_pipeline('Iris-train.csv', 50, num_epochs=1000)
x_test, y_test = create_pipeline('Iris-test.csv', 60)

init_op = tf.global_variables_initializer()
local_init_op = tf.local_variables_initializer()
# output read data result
with tf.Session() as sess:
 sess.run(init_op)
 sess.run(local_init_op)
 coord = tf.train.Coordinator()
 thread = tf.train.start_queue_runners(coord=coord)

 try:

  example, label = sess.run([x_test, y_test])
  print example
  print label

 except tf.errors.OutOfRangeError:
  print 'Done !!!'

 finally:
  coord.request_stop()
  coord.join(threads=thread)

Iris_train.csv 数据:

Id	SepalLengthCm	SepalWidthCm	PetalLengthCm	PetalWidthCm	Species
21	5.4	3.4	1.7	0.2	Iris-setosa
22	5.1	3.7	1.5	0.4	Iris-setosa
23	4.6	3.6	1	0.2	Iris-setosa
24	5.1	3.3	1.7	0.5	Iris-setosa
25	4.8	3.4	1.9	0.2	Iris-setosa
26	5	3	1.6	0.2	Iris-setosa
27	5	3.4	1.6	0.4	Iris-setosa
28	5.2	3.5	1.5	0.2	Iris-setosa
29	5.2	3.4	1.4	0.2	Iris-setosa
30	4.7	3.2	1.6	0.2	Iris-setosa
31	4.8	3.1	1.6	0.2	Iris-setosa
32	5.4	3.4	1.5	0.4	Iris-setosa
33	5.2	4.1	1.5	0.1	Iris-setosa
34	5.5	4.2	1.4	0.2	Iris-setosa
35	4.9	3.1	1.5	0.1	Iris-setosa
36	5	3.2	1.2	0.2	Iris-setosa
37	5.5	3.5	1.3	0.2	Iris-setosa
38	4.9	3.1	1.5	0.1	Iris-setosa
39	4.4	3	1.3	0.2	Iris-setosa
40	5.1	3.4	1.5	0.2	Iris-setosa
41	5	3.5	1.3	0.3	Iris-setosa
42	4.5	2.3	1.3	0.3	Iris-setosa
43	4.4	3.2	1.3	0.2	Iris-setosa
44	5	3.5	1.6	0.6	Iris-setosa
45	5.1	3.8	1.9	0.4	Iris-setosa
46	4.8	3	1.4	0.3	Iris-setosa
47	5.1	3.8	1.6	0.2	Iris-setosa
48	4.6	3.2	1.4	0.2	Iris-setosa
49	5.3	3.7	1.5	0.2	Iris-setosa
50	5	3.3	1.4	0.2	Iris-setosa
71	5.9	3.2	4.8	1.8	Iris-versicolor
72	6.1	2.8	4	1.3	Iris-versicolor
73	6.3	2.5	4.9	1.5	Iris-versicolor
74	6.1	2.8	4.7	1.2	Iris-versicolor
75	6.4	2.9	4.3	1.3	Iris-versicolor
76	6.6	3	4.4	1.4	Iris-versicolor
77	6.8	2.8	4.8	1.4	Iris-versicolor
78	6.7	3	5	1.7	Iris-versicolor
79	6	2.9	4.5	1.5	Iris-versicolor
80	5.7	2.6	3.5	1	Iris-versicolor
81	5.5	2.4	3.8	1.1	Iris-versicolor
82	5.5	2.4	3.7	1	Iris-versicolor
83	5.8	2.7	3.9	1.2	Iris-versicolor
84	6	2.7	5.1	1.6	Iris-versicolor
85	5.4	3	4.5	1.5	Iris-versicolor
86	6	3.4	4.5	1.6	Iris-versicolor
87	6.7	3.1	4.7	1.5	Iris-versicolor
88	6.3	2.3	4.4	1.3	Iris-versicolor
89	5.6	3	4.1	1.3	Iris-versicolor
90	5.5	2.5	4	1.3	Iris-versicolor
91	5.5	2.6	4.4	1.2	Iris-versicolor
92	6.1	3	4.6	1.4	Iris-versicolor
93	5.8	2.6	4	1.2	Iris-versicolor
94	5	2.3	3.3	1	Iris-versicolor
95	5.6	2.7	4.2	1.3	Iris-versicolor
96	5.7	3	4.2	1.2	Iris-versicolor
97	5.7	2.9	4.2	1.3	Iris-versicolor
98	6.2	2.9	4.3	1.3	Iris-versicolor
99	5.1	2.5	3	1.1	Iris-versicolor
100	5.7	2.8	4.1	1.3	Iris-versicolor
121	6.9	3.2	5.7	2.3	Iris-virginica
122	5.6	2.8	4.9	2	Iris-virginica
123	7.7	2.8	6.7	2	Iris-virginica
124	6.3	2.7	4.9	1.8	Iris-virginica
125	6.7	3.3	5.7	2.1	Iris-virginica
126	7.2	3.2	6	1.8	Iris-virginica
127	6.2	2.8	4.8	1.8	Iris-virginica
128	6.1	3	4.9	1.8	Iris-virginica
129	6.4	2.8	5.6	2.1	Iris-virginica
130	7.2	3	5.8	1.6	Iris-virginica
131	7.4	2.8	6.1	1.9	Iris-virginica
132	7.9	3.8	6.4	2	Iris-virginica
133	6.4	2.8	5.6	2.2	Iris-virginica
134	6.3	2.8	5.1	1.5	Iris-virginica
135	6.1	2.6	5.6	1.4	Iris-virginica
136	7.7	3	6.1	2.3	Iris-virginica
137	6.3	3.4	5.6	2.4	Iris-virginica
138	6.4	3.1	5.5	1.8	Iris-virginica
139	6	3	4.8	1.8	Iris-virginica
140	6.9	3.1	5.4	2.1	Iris-virginica
141	6.7	3.1	5.6	2.4	Iris-virginica
142	6.9	3.1	5.1	2.3	Iris-virginica
143	5.8	2.7	5.1	1.9	Iris-virginica
144	6.8	3.2	5.9	2.3	Iris-virginica
145	6.7	3.3	5.7	2.5	Iris-virginica
146	6.7	3	5.2	2.3	Iris-virginica
147	6.3	2.5	5	1.9	Iris-virginica
148	6.5	3	5.2	2	Iris-virginica
149	6.2	3.4	5.4	2.3	Iris-virginica
150	5.9	3	5.1	1.8	Iris-virginica

Iris_test.csv 数据:

Id	SepalLengthCm	SepalWidthCm	PetalLengthCm	PetalWidthCm	Species
1	5.1	3.5	1.4	0.2	tf_read
2	4.9	3	1.4	0.2	Iris-setosa
3	4.7	3.2	1.3	0.2	Iris-setosa
4	4.6	3.1	1.5	0.2	Iris-setosa
5	5	3.6	1.4	0.2	Iris-setosa
6	5.4	3.9	1.7	0.4	Iris-setosa
7	4.6	3.4	1.4	0.3	Iris-setosa
8	5	3.4	1.5	0.2	Iris-setosa
9	4.4	2.9	1.4	0.2	Iris-setosa
10	4.9	3.1	1.5	0.1	Iris-setosa
11	5.4	3.7	1.5	0.2	Iris-setosa
12	4.8	3.4	1.6	0.2	Iris-setosa
13	4.8	3	1.4	0.1	Iris-setosa
14	4.3	3	1.1	0.1	Iris-setosa
15	5.8	4	1.2	0.2	Iris-setosa
16	5.7	4.4	1.5	0.4	Iris-setosa
17	5.4	3.9	1.3	0.4	Iris-setosa
18	5.1	3.5	1.4	0.3	Iris-setosa
19	5.7	3.8	1.7	0.3	Iris-setosa
20	5.1	3.8	1.5	0.3	Iris-setosa
51	7	3.2	4.7	1.4	Iris-versicolor
52	6.4	3.2	4.5	1.5	Iris-versicolor
53	6.9	3.1	4.9	1.5	Iris-versicolor
54	5.5	2.3	4	1.3	Iris-versicolor
55	6.5	2.8	4.6	1.5	Iris-versicolor
56	5.7	2.8	4.5	1.3	Iris-versicolor
57	6.3	3.3	4.7	1.6	Iris-versicolor
58	4.9	2.4	3.3	1	Iris-versicolor
59	6.6	2.9	4.6	1.3	Iris-versicolor
60	5.2	2.7	3.9	1.4	Iris-versicolor
61	5	2	3.5	1	Iris-versicolor
62	5.9	3	4.2	1.5	Iris-versicolor
63	6	2.2	4	1	Iris-versicolor
64	6.1	2.9	4.7	1.4	Iris-versicolor
65	5.6	2.9	3.6	1.3	Iris-versicolor
66	6.7	3.1	4.4	1.4	Iris-versicolor
67	5.6	3	4.5	1.5	Iris-versicolor
68	5.8	2.7	4.1	1	Iris-versicolor
69	6.2	2.2	4.5	1.5	Iris-versicolor
70	5.6	2.5	3.9	1.1	Iris-versicolor
101	6.3	3.3	6	2.5	Iris-virginica
102	5.8	2.7	5.1	1.9	Iris-virginica
103	7.1	3	5.9	2.1	Iris-virginica
104	6.3	2.9	5.6	1.8	Iris-virginica
105	6.5	3	5.8	2.2	Iris-virginica
106	7.6	3	6.6	2.1	Iris-virginica
107	4.9	2.5	4.5	1.7	Iris-virginica
108	7.3	2.9	6.3	1.8	Iris-virginica
109	6.7	2.5	5.8	1.8	Iris-virginica
110	7.2	3.6	6.1	2.5	Iris-virginica
111	6.5	3.2	5.1	2	Iris-virginica
112	6.4	2.7	5.3	1.9	Iris-virginica
113	6.8	3	5.5	2.1	Iris-virginica
114	5.7	2.5	5	2	Iris-virginica
115	5.8	2.8	5.1	2.4	Iris-virginica
116	6.4	3.2	5.3	2.3	Iris-virginica
117	6.5	3	5.5	1.8	Iris-virginica
118	7.7	3.8	6.7	2.2	Iris-virginica
119	7.7	2.6	6.9	2.3	Iris-virginica
120	6	2.2	5	1.5	Iris-virginica

以上这篇TensorFlow 读取CSV数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解Tensorflow数据读取有三种方式(next_batch)

    Tensorflow数据读取有三种方式: Preloaded data: 预加载数据 Feeding: Python产生数据,再把数据喂给后端. Reading from file: 从文件中直接读取 这三种有读取方式有什么区别呢? 我们首先要知道TensorFlow(TF)是怎么样工作的. TF的核心是用C++写的,这样的好处是运行快,缺点是调用不灵活.而Python恰好相反,所以结合两种语言的优势.涉及计算的核心算子和运行框架是用C++写的,并提供API给Python.Python调用这些A

  • 详解tensorflow训练自己的数据集实现CNN图像分类

    利用卷积神经网络训练图像数据分为以下几个步骤 1.读取图片文件 2.产生用于训练的批次 3.定义训练的模型(包括初始化参数,卷积.池化层等参数.网络) 4.训练 1 读取图片文件 def get_files(filename): class_train = [] label_train = [] for train_class in os.listdir(filename): for pic in os.listdir(filename+train_class): class_train.app

  • Tensorflow 多线程与多进程数据加载实例

    在项目中遇到需要处理超级大量的数据集,无法载入内存的问题就不用说了,单线程分批读取和处理(虽然这个处理也只是特别简单的首尾相连的操作)也会使瓶颈出现在CPU性能上,所以研究了一下多线程和多进程的数据读取和预处理,都是通过调用dataset api实现 1. 多线程数据读取 第一种方法是可以直接从csv里读取数据,但返回值是tensor,需要在sess里run一下才能返回真实值,无法实现真正的并行处理,但如果直接用csv文件或其他什么文件存了特征值,可以直接读取后进行训练,可使用这种方法. imp

  • tensorflow之并行读入数据详解

    最近研究了一下并行读入数据的方式,现在将自己的理解整理如下,理解比较浅,仅供参考. 并行读入数据主要分 1. 创建文件名列表 2. 创建文件名队列 3. 创建Reader和Decoder 4. 创建样例列表 5. 创建批列表(读取时可要可不要,一般情况下样例列表可以执行读取数据操作,但是在实际训练的时候往往需要批列表来分批进行数据的组织,提取) 其具体流程如下: 一. 文件名列表: 文件名列表是一个list类型的数据,里面的内容是需要用的数据文件名.可以使用常规的python语法入:[file1

  • 基于Tensorflow批量数据的输入实现方式

    基于Tensorflow下的批量数据的输入处理: 1.Tensor TFrecords格式 2.h5py的库的数组方法 在tensorflow的框架下写CNN代码,我在书写过程中,感觉不是框架内容难写, 更多的是我在对图像的预处理和输入这部分花了很多精神. 使用了两种方法: 方法一: Tensor 以Tfrecords的格式存储数据,如果对数据进行标签,可以同时做到数据打标签. ①创建TFrecords文件 orig_image = '/home/images/train_image/' gen

  • TensorFlow 读取CSV数据的实例

    TensorFlow 读取CSV数据原理在此就不做详细介绍,直接通过代码实现: 方法一: 详细读取tf_read.csv 代码 #coding:utf-8 import tensorflow as tf filename_queue = tf.train.string_input_producer(["/home/yongcai/tf_read.csv"]) reader = tf.TextLineReader() key, value = reader.read(filename_q

  • php读取csv数据保存到数组的方法

    本文实例讲述了php读取csv数据保存到数组的方法.分享给大家供大家参考.具体分析如下: csv是常用的excel格式的替代品,很多时候我们导出数据是都会导成csv格式的,这样和excel没什么区别,下面的程序是要读取csv数据保存到数组我们要对数据进行操作,所以保存到数据,代码如下: 复制代码 代码如下: $info=csvtoarray::open('teste.csv'); //echo '<pre>'; //print_r($info); //echo '</pre>';

  • java 分割csv数据的实例详解

    java 分割csv数据的实例详解 实际需要解析的csv中很多都是从excel中转过来的,数据中本身包含了逗号的数据导致split的过程中发现数据对不上,因此,基于这种特性,重新写了一个csv数据的分割方法: 实现代码: public static String[] split(String line) { List<String> list = new ArrayList<>(); int start = 0; int end = -1; while(true) { start

  • python 实现读取csv数据,分类求和 再写进 csv

    这两天在测试过程中,遇到这样的问题: 数据量很大,一份csv文件的数据与另外一个文件的数据进行对比,但是csv中的文件数据量很大,并且进行统计 ,如果手动单个去对比,会很花时间,吃力不讨好,还容易出错. 比如说,这样的数据 需要对AskPrice值相同对应的AskQuantity 统计出来. 直接上脚本 : import pandas as pd import csv df=pd.read_csv('D:\test\orderBook.csv') df_sum = df.groupby('Ask

  • Python如何利用pandas读取csv数据并绘图

    目录 如何利用pandas读取csv数据并绘图 绘制图像 展示结果 pandas画pearson相关系数热力图 pearson相关系数计算函数 如何利用pandas读取csv数据并绘图 导包,常用的numpy和pandas,绘图模块matplotlib, import matplotlib.pyplot as plt import pandas as pd import numpy as np fig = plt.figure() ax = fig.add_subplot(111) 读取csv文

  • Python读取JSON数据操作实例解析

    读写 JSON 数据 问题 你想读写 JSON(JavaScript Object Notation) 编码格式的数据. 解决方案 json模块提供给了一种很简单的方式来编码和解码json数据,其中两个主要的函数时json.dumps()和 json.loads() 下面演示如何将一个 Python 数据结构转换为 JSON: import json data = { 'name' : 'ACME', 'shares' : 100, 'price' : 542.23 }json_str = js

  • Python基于csv模块实现读取与写入csv数据的方法

    本文实例讲述了Python基于csv模块实现读取与写入csv数据的方法.分享给大家供大家参考,具体如下: 通过csv模块可以轻松读取格式为csv的文件,而且csv模块是python内置的,不需要下载就可以直接用. 一.准备csv文件 文件名是 e:\t.csv,文件内容: org_id,org_name,state,emp_id 1,销售1,'1',123 2,销售2,'0',321 3,销售3,'1',231 1,,'1',1234 二.读取csv数据 代码非常简单: # -*- coding

  • Python如何读取、写入CSV数据

    问题 你想读写一个CSV格式的文件. 解决方案 对于大多数的CSV格式的数据读写问题,都可以使用 csv 库..例如,假设你在一个名叫stocks.csv文件中有一些股票市场数据,就像这样: 下面向你展示如何将这些数据读取为一个元组的序列: import csv with open('stocks.csv') as f: f_csv = csv.reader(f) headers = next(f_csv) for row in f_csv: # Process row ... 在上面的代码中,

  • 浅谈TensorFlow中读取图像数据的三种方式

    本文面对三种常常遇到的情况,总结三种读取数据的方式,分别用于处理单张图片.大量图片,和TFRecorder读取方式.并且还补充了功能相近的tf函数. 1.处理单张图片 我们训练完模型之后,常常要用图片测试,有的时候,我们并不需要对很多图像做测试,可能就是几张甚至一张.这种情况下没有必要用队列机制. import tensorflow as tf import matplotlib.pyplot as plt def read_image(file_name): img = tf.read_fil

  • pandas读取csv格式数据时header参数设置方法

    目录 写在前面 参考文档 read_csv的header参数 header参数测试 思考 写在前面 使用pandas中read_csv读取csv数据时,对于有表头的数据,将header设置为空(None),会报错:pandas_libs\parsers.pyx in pandas._libs.parsers.raise_parser_error() ParserError: Error tokenizing data. C error: Expected 4 fields in line 2,

随机推荐