Tensorflow机器学习入门——读取数据

TensorFlow 中可以通过三种方式读取数据:

一、通过feed_dict传递数据;

input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)
output = tf.multiply(input1, input2)
with tf.Session() as sess:
    feed_dict={input1: [[7.,2.]], input2: [[2.],[3.]]}
    print(sess.run(output,feed_dict ))

二、从文件中读取数据;

import os
import tensorflow as tf 

filename = [‘A.jpg‘, ‘B.jpg‘, ‘C.jpg‘]
# string_input_producer会产生一个文件名队列
filename_queue = tf.train.string_input_producer(filename, shuffle=False, num_epochs=5)
# reader从文件名队列中读数据。对应的方法是reader.read
reader = tf.WholeFileReader()
key, value = reader.read(filename_queue)
init=tf.local_variables_initializer()
# tf.train.string_input_producer定义了一个epoch变量,要对它进行初始化
with tf.Session() as sess:
    sess.run(init)
    # 使用start_queue_runners之后,才会开始填充队列
    tf.train.start_queue_runners(sess=sess)
    i = 0
    while True:
        i += 1
        # 获取图片数据并保存
        image_data = sess.run(value)
        with open(‘read/test_%d.jpg‘ % i, ‘wb‘) as f:
            f.write(image_data)

# 程序最后会抛出一个OutOfRangeError,这是epoch跑完,队列关闭的标志

运行上面的代码需要做两点准备:

1.在python的工作目录下保存3张图片,分布命名为:‘A.jpg‘, ‘B.jpg‘, ‘C.jpg‘

2.在此目录下建立read文件夹

三、使用预加载的数据;

原文地址:https://www.cnblogs.com/Fengqiao/p/tensorflow_read.html

时间: 2024-10-08 14:35:29

Tensorflow机器学习入门——读取数据的相关文章

Tensorflow机器学习入门——cifar10数据集的读取、展示与保存

基本信息 官网:http://www.cs.toronto.edu/~kriz/cifar.html 共60000张图片:50000张用于训练.10000张用于测试 图片大小为:32X32 数据集图片分为10类:每类6000张 数据集下载解压后的目录结构: 读取.打印和保存数据集中指定的图片: import pickle import matplotlib.pyplot as plt CIFAR_DIR ="cifar10_data/cifar-10-batches-bin/data_batch

Tensorflow机器学习入门——MINIST数据集识别(卷积神经网络)

#自动下载并加载数据 from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) import tensorflow as tf # truncated_normal: https://www.cnblogs.com/superxuezhazha/p/9522036.html def weight_var

Tensorflow机器学习入门——网络可视化TensorBoard

一.在代码中给变量和操作命名并输出Graph到指定的文件夹 import tensorflow as tf import numpy as np import matplotlib.pyplot as plt import os #设置当前工作目录 os.chdir(r'H:\Notepad\Tensorflow') def add_layer(inputs, in_size, out_size, activation_function=None): with tf.name_scope('la

机器学习入门-文本数据-构造词频词袋模型 1.re.sub(进行字符串的替换) 2.nltk.corpus.stopwords.words(获得停用词表) 3.nltk.WordPunctTokenizer(对字符串进行分词操作) 4.np.vectorize(对函数进行向量化) 5. CountVectorizer(构建词频的词袋模型)

函数说明: 1. re.sub(r'[^a-zA-Z0-9\s]', repl='', sting=string)  用于进行字符串的替换,这里我们用来去除标点符号 参数说明:r'[^a-zA-Z0-9\s]' 配对的模式,^表示起始位置,\s表示终止位置,[]表示取中间部分,这个的意思是找出除字符串大小写或者数字组成以外的东西,repl表示使用什么进行替换,这里使用'',即直接替换,string表示输入的字符串 2. stopwords = nltk.corpus.stopwords.word

机器学习入门-文本数据-构造Tf-idf词袋模型(词频和逆文档频率) 1.TfidfVectorizer(构造tf-idf词袋模型)

TF-idf模型:TF表示的是词频:即这个词在一篇文档中出现的频率 idf表示的是逆文档频率, 即log(文档的个数/1+出现该词的文档个数)  可以看出出现该词的文档个数越小,表示这个词越稀有,在这篇文档中也是越重要的 TF-idf: 表示TF*idf, 即词频*逆文档频率 词袋模型不仅考虑了一个词的词频,同时考虑了这个词在整个语料库中的重要性 代码: 第一步:使用DataFrame格式处理数据,同时数组化数据 第二步:定义函数,进行分词和停用词的去除,并使用' '连接去除停用词后的列表 第三

机器学习入门-文本数据-使用聚类增加文本的标签属性

通过对特征做一个kmeans聚类,将聚类的结果做为文本的标签值,可以使得样本的特征更多 我们从sklearn.cluster中导入Kmeans建立模型进行聚类 代码: 第一步:使用Dataframe格式化数据和使用数据格式化数据 第二步:对字符串进行分词和去除停用词,并使用' '.join完成连接 第三步:使用np.vectorizer向量化函数,调用函数进行分词和去除停用词 第四步:使用Tfidfvectorizer构造词袋模型 第五步:使用cosine_similarity构造相关性矩阵 第

Tensorflow机器学习入门——常量、变量、placeholder和基本运算

一.这里列出了tensorflow的一些基本函数,比较全面:https://blog.csdn.net/M_Z_G_Y/article/details/80523834 二.这里是tensortflow的详细教程:http://c.biancheng.net/tensorflow/ 三.下面程序是我学习常量.变量.placeholder和基本运算时形成的小函数 import tensorflow as tf print(tf.__version__)#打印Tensorflow版本 print(t

TensorFlow高效读取数据的方法——TFRecord的学习

关于TensorFlow读取数据,官网给出了三种方法: 供给数据(Feeding):在TensorFlow程序运行的每一步,让python代码来供给数据. 从文件读取数据:在TensorFlow图的起始,让一个输入管线从文件中读取数据. 预加载数据:在TensorFlow图中定义常量或变量来保存所有数据(仅适用于数据量比较小的情况). 对于数据量较小而言,可能一般选择直接将数据加载进内存,然后再分batch输入网络进行训练(tip:使用这种方法时,结合yeild 使用更为简洁).但是如果数据量较

tensorflow读取数据之CSV格式

tensorflow要想用起来,首先自己得搞定数据输入.官方文档中介绍了几种,1.一次性从内存中读取数据到矩阵中,直接输入:2.从文件中边读边输入,而且已经给设计好了多线程读写模型:3.把网络或者内存中的数据转化为tensorflow的专用格式tfRecord,存文件后再读取. 其中,从文件中边读边输入,官方文档举例是用的CSV格式文件.我在网上找了一份代码,修改了一下,因为他的比较简略,我就补充一下遇到的问题 先贴代码 #coding=utf-8import tensorflow as tf