TensorFlow加载数据的方式

【深度学习框架】Tensorflow Session.run()函数的进一步理解 Tensorflow: tf.Session.run(fetches, feed_dict=None, options=None, run_metadata=None) ----->run options and evaluated tensors in fetches,based feed_dict<----- 阅读详情

tensorflow作为符号编程框架,需要先构建数据流图,再读取数据,然后再进行训练。tensorflow提供了以下三种方式来加载数据:

预加载数据(preloaded data):在tensorflow图中定义常量或变量来保存所有数据
填充数据(feeding):Python产生数据,再把数据填充到后端
从文件中读取数据(reading from file):通过队列管理器从文件中读取数据
下面将详细介绍这三种加载数据的方法以及它们之间的优缺点

一、预加载数据

下面是一个使用TensorFlow来预加载数据进行手写数字的识别

1、以constant的方式进行预加载

import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
from tensorflow.examples.tutorials.mnist import mnist
import time
 
 
class Config(object):
    #设置训练集存放的路径
    train_dir = "data/MNIST_data"
    #是否是fake_data进行单元测试
    fake_data = False
    #设置batch_size的大小
    batch_size = 100
    #设置学习率的大小
    learning_rate = 0.01
    #设置迭代的轮数
    num_epochs = 2
    #第一层隐藏层的层数
    hidden1 = 128
    #第二层隐藏层的层数
    hidden2 = 128
    #设置每多少次迭代输出一次结果
    print_step = 100
    #多少次保存一次模型
    save_checkpoint_step = 1000
    #设置模型的保存路径
    save_model_path = "model/"
    #设置tensorboard的保存目录
    save_tensorboard_path = "log/"
 
#神经网络的配置设置
config = Config()
'''
训练模型
'''
def run_training():
    #获取数据
    data_set = input_data.read_data_sets(config.train_dir)
    #设置默认的图
    with tf.Graph().as_default():
        with tf.name_scope("input"):
            #使用cpu加载数据
            input_images = tf.constant(data_set.train.images)
            input_labels = tf.constant(data_set.train.labels)
        image,label = tf.train.slice_input_producer([input_images,input_labels],
                                                    num_epochs=config.num_epochs)
        #转换标签的类型
        label = tf.cast(label,tf.int32)
        #获取一个批量数据
        images,labels = tf.train.batch([image,label],batch_size=config.batch_size)
        #构建一个计算图建立预测模型
        logits = mnist.inference(images,config.hidden1,config.hidden2)
        #计算损失值
        loss = mnist.loss(logits,labels)
        #开始训练,使用梯度下降算法
        train_op = mnist.training(loss,config.learning_rate)
        #计算预测的准确率
        eval_correct = mnist.evaluation(logits,labels)
        #构建tensorboard
        summary_op = tf.summary.merge_all()
        #保存模型
        saver = tf.train.Saver()
        init_op = tf.group(tf.global_variables_initializer(),
                           tf.local_variables_initializer())
        #创建会话
        sess = tf.Session()
        #初始化变量
        sess.run(init_op)
        #保存计算图
        summary_writer = tf.summary.FileWriter(config.save_tensorboard_path,sess.graph)
 
        #开启入队线程
        coord = tf.train.Coordinator()
        threads = tf.train.start_queue_runners(sess=sess,coord=coord)
 
        #开始训练
        try:
            step = 0
            #检查是否关闭线程
            while not coord.should_stop():
                #记录开始时间
                start_time = time.time()
                #获取该次迭代的损失值
                _,loss_value = sess.run([train_op,loss])
                #计算本次迭代所耗费时间
                duration = time.time() - start_time
                if step % config.print_step == 0:
                    print("step:%d,loss:%.3f,consum time:%.3f sec"%(step,loss_value,duration))
                    summary_str = sess.run(summary_op)
                    summary_writer.add_summary(summary_str,step)
                #保存模型
                if(step+1)%config.save_checkpoint_step == 0:
                    saver.save(sess,config.save_model_path,global_step=step)
                step += 1
        except tf.errors.OutOfRangeError:
            saver.save(sess,config.save_model_path,global_step=step)
        finally:
            #停止线程
            coord.request_stop()
        #等待线程结束
        coord.join(threads)
        sess.close()
 
if __name__ == "__main__":
    run_training()

2、以variable的方式加载数据

import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
from tensorflow.examples.tutorials.mnist import mnist
import time
 
'''
网络参数设置
'''
class Config(object):
    #设置训练集存放的路径
    train_dir = "data/MNIST_data"
    #是否是fake_data进行单元测试
    fake_data = False
    #设置batch_size的大小
    batch_size = 100
    #设置学习率的大小
    learning_rate = 0.01
    #设置迭代的轮数
    num_epochs = 2
    #第一层隐藏层的层数
    hidden1 = 128
    #第二层隐藏层的层数
    hidden2 = 128
    #设置每多少次迭代输出一次结果
    print_step = 100
    #多少次保存一次模型
    save_checkpoint_step = 1000
    #设置模型的保存路径
    save_model_path = "model/"
    #设置tensorboard的保存目录
    save_tensorboard_path = "log/"
 
#神经网络的配置设置
config = Config()
 
 
def run_training():
    #加载数据集
    data_sets = input_data.read_data_sets(config.train_dir,config.fake_data)
    #设置默认计算图
    with tf.Graph().as_default():
        with tf.name_scope("input"):
            images_initializer = tf.placeholder(dtype=data_sets.train.images.dtype,
                                                shape=data_sets.train.images.shape)
            labels_initializer = tf.placeholder(dtype=data_sets.train.labels.dtype,
                                                shape=data_sets.train.labels.shape)
            input_images = tf.Variable(images_initializer,trainable=False,collections=[])
            input_labels = tf.Variable(labels_initializer,trainable=False,collections=[])
            image,label = tf.train.slice_input_producer([input_images,input_labels],num_epochs=config.num_epochs)
            label = tf.cast(label,tf.int32)
            images,labels = tf.train.batch([image,label],batch_size=config.batch_size)
        #构建训练网络
        logits = mnist.inference(images,config.hidden1,config.hidden2)
        #计算损失值
        loss = mnist.loss(logits,labels)
        #使用优化算法最小化损失函数
        train_op = mnist.training(loss,config.learning_rate)
        #计算准确率
        eval_correct = mnist.evaluation(logits,labels)
        #保存tensorboard
        summary_op = tf.summary.merge_all()
        #保存模型
        saver = tf.train.Saver()
        init_op = tf.group(tf.global_variables_initializer(),
                           tf.local_variables_initializer())
        #创建会话
        sess = tf.Session()
        #初始化变量
        sess.run(init_op)
        sess.run(input_images.initializer,feed_dict={images_initializer:data_sets.train.images})
        sess.run(input_labels.initializer,feed_dict={labels_initializer:data_sets.train.labels})
        #保存tensorboard
        summary_writer = tf.summary.FileWriter(config.save_tensorboard_path,sess.graph)
        #启动入队线程
        coord = tf.train.Coordinator()
        threads = tf.train.start_queue_runners(sess=sess,coord=coord)
        #开始训练
        try:
            step = 0
            while not coord.should_stop():
                start_time = time.time()
                _,loss_value = sess.run([train_op,loss])
                #计算时间间隔
                duration = time.time() - start_time
                if step % config.print_step == 0:
                    print("step:%s,loss:%.3f,consume time:%.3f sec"%(step,loss_value,duration))
                    #写入tensorboard中
                    summary_str = sess.run(summary_op)
                    summary_writer.add_summary(summary_str,step)
 
                #保存模型
                if (step+1)%config.save_checkpoint_step == 0:
                    saver.save(sess,config.save_model_path,global_step=step)
                step += 1
        except tf.errors.OutOfRangeError:
            saver.save(sess,config.train_dir,global_step=step)
        finally:
            #通知线程退出
            coord.request_stop()
        #等待线程关闭
        coord.join(threads)
        sess.close()
 
if __name__ == "__main__":
    run_training()

 

通过预加载的方式加载数据的缺点在于,将数据直接嵌入到数据流图中,当训练数据较大时,很消耗内存。

二、填充数据

填充数据是使用sess.run()中的feed_dict参数,将Python产生的数据填充给后端。

import tensorflow as tf
 
if __name__ == "__main__":
    #定义输入数据
    a = tf.placeholder(tf.float32)
    b = tf.placeholder(tf.float32)
    #定义操作
    c = tf.add(a,b)
    #python产生数据
    x1 = [1.0,2.0,3.0]
    x2 = [5.0,6.0,7.0]
    #创建会话
    with tf.Session() as sess:
        print(sess.run(c,feed_dict={a:x1,b:x2}))

 

 

填充数据也存在数据量大、消耗内存等缺点,并数据类型转换等中间环节也增加了不少的内存开销。这时候最好采用最后一种加载数据的方式,先在图中定义好文件读取的方法,通过TensorFlow从文件中读取数据,再解码成为训练数据。

三、从文件读取数据


从文件中读取数据,主要分为两个步骤:

1、将样本写入到TFRecords二进制文件中

import tensorflow as tf
from tensorflow.contrib.learn.python.learn.datasets import mnist
import os
 
#设置TFRecords文件保存路径目录
TFRecords_dir = "tfRecords/"
#设置data的存放目录
data_dir = "data/MNIST_data"
 
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]))
 
'''
将数据转换为TFRecords文件
'''
def convert_to(data_sets,name):
    images = data_sets.images
    labels = data_sets.labels
    num_examples = data_sets.num_examples
    if images.shape[0] != num_examples:
        return ValueError("images size %d does not match label size %d."
                          %(images.shape[0],num_examples))
    #获取图片的高
    rows = images.shape[1]
    #获取图片的宽
    cols = images.shape[2]
    #获取图片的深度
    depth = images.shape[3]
    #获取TFRecords文件的保存路径
    save_TFRecords_path = os.path.join(TFRecords_dir,name+".tfrecords")
    #将数据保存成tfrecords文件
    with tf.python_io.TFRecordWriter(save_TFRecords_path) as writer:
        for index in range(num_examples):
            #将图片数据转换为字符串
            image_raw = images[index].tostring()
            #将数据写入协议缓冲区中,将图片的宽、高、通道数、标签编码成为int64
            #将图片数据编码成为二进制
            example = tf.train.Example(
                features=tf.train.Features(
                    feature={
                    "height":_int64_feature(rows),
                    "width":_int64_feature(cols),
                    "depth":_int64_feature(depth),
                    "label":_int64_feature(int(labels[index])),
                    "image_raw":_bytes_feature(image_raw)
                }))
            #将协议缓冲区数据转为字符串写入文件
            writer.write(example.SerializeToString())
 
if __name__ == "__main__":
    #获取数据
    data_sets = mnist.read_data_sets(data_dir,dtype=tf.uint8,reshape=False,validation_size=5000)
    #将训练集转换成为tfrecords文件
    convert_to(data_sets.train,"train")
    #将验证集保存为tfrecords文件
    convert_to(data_sets.validation,"validation")
    #将测试集保存为tfrecords文件
    convert_to(data_sets.test,"test")

2、再从队列中读取解码成为可以进行训练的数据

import tensorflow as tf
from tensorflow.examples.tutorials.mnist import mnist
import os,time
 
#设置TFRecords文件的存放路径
train_tfrecords_path = "tfRecords/train.tfrecords"
test_tfrecords_path = "tfRecords/test.tfrecords"
validation_tfrecords_path = "tfRecords/validation.tfrecords"
 
'''
读取TFRecords文件并解码
'''
def decode(serialized_example):
  features = tf.parse_single_example(
      serialized_example,
      features={
          'image_raw': tf.FixedLenFeature([], tf.string),
          'label': tf.FixedLenFeature([], tf.int64),
      })
  image = tf.decode_raw(features['image_raw'], tf.uint8)
  image.set_shape((mnist.IMAGE_PIXELS))
  label = tf.cast(features['label'], tf.int32)
  return image, label
 
def augment(image, label):
    return image, label
 
'''
归一化图片的像素
'''
def normalize(image, label):
    #将图片像素值从[0,255]转换成为[-0.5,0.5]
    image = tf.cast(image, tf.float32) * (1. / 255) - 0.5
    return image, label
 
'''
读取数据
'''
def inputs(tfrecords_path,batch_size,num_epochs):
    if not num_epochs:
        num_epochs = None
    with tf.name_scope("input"):
        #读取tfrecords文件
        dataset = tf.data.TFRecordDataset(tfrecords_path)
        #tfrecords数据解码
        dataset = dataset.map(decode)
        dataset = dataset.map(augment)
        dataset = dataset.map(normalize)
        #打乱数据的顺序
        dataset = dataset.shuffle(1000 + 3 * batch_size)
        dataset = dataset.repeat(num_epochs)
        dataset = dataset.batch(batch_size)
        iterator = dataset.make_one_shot_iterator()
    return iterator.get_next()
 
'''
网络参数设置
'''
class Config(object):
    #设置训练集存放的路径
    train_dir = "data/MNIST_data"
    #是否是fake_data进行单元测试
    fake_data = False
    #设置batch_size的大小
    batch_size = 100
    #设置学习率的大小
    learning_rate = 0.01
    #设置迭代的轮数
    num_epochs = 2
    #第一层隐藏层的层数
    hidden1 = 128
    #第二层隐藏层的层数
    hidden2 = 128
    #设置每多少次迭代输出一次结果
    print_step = 100
    #多少次保存一次模型
    save_checkpoint_step = 1000
    #设置模型的保存路径
    save_model_path = "model/"
    #设置tensorboard的保存目录
    save_tensorboard_path = "log/"
 
#神经网络的配置设置
config = Config()
 
def run_training():
    with tf.Graph().as_default():
        image_batch,label_batch = inputs(train_tfrecords_path,batch_size=config.batch_size,num_epochs=config.num_epochs)
        logits = mnist.inference(image_batch,config.hidden1,config.hidden2)
        loss = mnist.loss(logits,label_batch)
        train_op = mnist.training(loss,config.learning_rate)
        init_op = tf.group(tf.global_variables_initializer(),
                           tf.local_variables_initializer())
        with tf.Session() as sess:
            sess.run(init_op)
            try:
                step = 0
                while True:
                    start_time = time.time()
                    _,loss_value = sess.run([train_op,loss])
                    duration_time = time.time() - start_time
                    if step % config.print_step == 0:
                        print("step:%s,loss:%.3f,consume time:%.3f sec"%(step,loss_value,duration_time))
                    step += 1
            except tf.errors.OutOfRangeError:
                print("Done training for %d epchos,%d steps."%(config.num_epochs,step))
 
if __name__ == "__main__":
    run_training()

tensorflow加载和预处理数据 数据加载:针对中小型数据集可直接内存加载,大型数据集推荐使用tf.data.Dataset API构建高效数据管道 数据预处理: 使用Keras预处理层(如Normalization/Discretization/Embedding等) 图像处理(Resizing/Rescaling/数据增强) 文本处理(TextVectorization) TFRecord文件格式:详细说明如何创建和读取TFRecord,包括Example和SequenceExample的使用 性能优化技巧:如map并行处理。tfhub 阅读详情

相关推荐

TensorFlow手动加载数据集(以mnist为例)

在进行Mnist手写识别的项目中,出现了Mnist数据集下载出错的问题,报出以下错误: Exception: URL fetch failure on https://s3.amazonaws.com/img-datasets/mnist.npz: None -- [WinError 10060]

不负时光可怜人 1708

sess.run()

函数:run(fetches, feed_dict=None, options=None, run_metadata=None) 当构建完图后,需要在一个session会话中启动图,第一步是创建一个Session对象。 为了取回(Fetch)操作的输出内容, 可以在使用Session对象的run()调用执行图时,传入一些 tensor, 这些 tensor 会帮助你取回结...

lcczzu的专栏 4万+

详解tensorflow加载数据的多种方式

详解tensorflow加载数据的多种方式 预加载数据:用一个constant常量将数据集加载到计算图中(主要用于小数据集) 预加载:将数据直接内嵌到Graph中,再把Graph传入Session中运行。当数据量比较大时,Graph的传输会遇到效率问题。 import tensorflow as tf # 设计Graph x1 = tf.constant([2, 3, 4]) x2 = t...

qq_40728805的博客 1026

TensorFlow笔记(一)tensorflow加载数据的三种方式

最近在看TF2.0的内容,顺便把以前的内容也做下笔记,以便查阅。所有程序在不注明的情况下,默认使用tensorflow1.14版本。 数据加载是训练模型的第一步,合理的数据加载方式虽然不会对模型效果有促进作用,但是会大大加快训练过程。TensorFlow中常用的数据加载方式有四种: 内存对象数据集,在学习阶段最常见的数据加载方式,在session中直接用字典变量feed_dict给变量喂数据,...

haveanybody的博客 2961

tensorflow 神经网络与全连接层(数据集加载,全连接层,输出方式激活函数,计算误差)

假设 60k 张图片作为训练集 x.shape(60000,28,28) y.shape(60000,)tf.losses.MSE()返回一个tensor 每个instance的MSE 需要再进一步求一个均值。可以用交叉熵 代表loss,对于one-hot编码的情况,当预测值与真实值相同时,H=0。下图最后一个公式q1代表的是 预测这张图片是真实结果对应位置的概率(下图p1)一般把不加激活函数的值叫logits,交叉熵用的也softmax。#此时y存的不是one-hot编码 而是0-9标签。...

weixin_46955575的博客 1352

MICS-6814多气体传感器与ESP32-C3 Mini接口构建空气监测系统

cararenuity C3 Mini的多个ADC引脚,Wi-Fi和蓝牙LE以及紧凑的设计使其成为嵌入式物联网应用的绝佳选择。在这个项目中,我们将把MICS-6814多气体传感器与基于esp32 -C3的开发板cararenuity C3 Mini连接起来。更多模拟引脚:与ESP8266只有一个ADC引脚不同,基于esp32 -C3的cararenuity C3 Mini提供多个ADC引脚,使其成为多传感器应用的理想选择。紧凑可靠:该板的小尺寸使其成为嵌入式应用的理想选择,而不会牺牲性能。

hie98894的博客 770

Tensorflow加载数据的三种方式

tensorflow作为符号编程框架,需要先构建数据流图,再读取数据,然后再进行训练。tensorflow提供了以下三种方式来加载数据: 预加载数据(preloaded data):在tensorflow图中定义常量或变量来保存所有数据 填充数据(feeding):Python产生数据,再把数据填充到后端 从文件中读取数据(reading from file):通过队列管理器从文件中读取数据 下面...

weixin_43355451的博客 1014

数字IC后端实现 | Innovus各个阶段常用命令汇总

数字IC后端设计实现之Innovus常用命令汇总

weixin_37584728的博客 7312

python读取txt到deque_TensorFlow三种常用的数据加载方式(附python演练)

简介TensorFlow系列后期部分正在整理,整理好后会继续更新。在此段时间大家有什么疑问的,可以留言,我看见了会为您解答。今天主要说下一些在TensorFlow读取数据部分的内容,希望对大家有帮助。文章内容参考了一篇博客:https://blog.csdn.net/lujiandong1/article/details/53376802,尊重该博主原创。TensorFlow读取数据有三种方式:P...

weixin_39769703的博客 239

[调参神器]使用VOFA+上位机进行PID调参(附下位机代码)

​ 简单地来说,VOFA+是一个超级串口助手,除了可以实现一般串口助手的串口数据收发,它还可以实现数据绘图(包括直方图、FFT图),控件编辑,图像显示等功能。​ 如果只是想要用VOFA+来进行数据绘图,直接使用一个波形图控件就行,但是如果想要把VOFA+当作一个长期使用的调参助手,我们最好设置一下控件。VOFA+简洁好用,但是又有点太简洁了,部分体验并不是很好(比如不能调整控件大小,保存文件不太方便等),所以如果学有余力,推荐自己用QT/PyQT写上位机。接下来,我们要将指令中的数据提取出来。

qq_56089182的博客 4万+

DaVinciCFG实战:从ARXML配置到ADC代码生成全解析

本文详细解析了使用DaVinciCFG工具进行ADC模块配置的全过程,从ARXML文件处理到代码生成与集成。重点介绍了关键参数配置、ARXML语法规则、常见错误排查及代码优化技巧,帮助开发者掌握AUTOSAR架构下ADC驱动开发,提升汽车电子系统的可靠性。

f9g0h的博客 378

TensorFlow 加载数据及预处理的几种方式

方式一: 通过代码直接加载压缩文件获取,这里以cifar10为例。首先压缩文件应放在相应的位置,然后通过代码实现加载并获取数据。注意两点: 这种加载方式看不到图片 正如代码中所提示的那样,你所加载出的数据格式为<class 'numpy.ndarray'> 方式二: 通过本地加载图片数据,并对图片进行预处理来实现数据的输入。所需要解决的问题如下: 如何将压缩包中的文件转换成图片 拿到真正的图片后如何对图片进行预处理(主要是实现图片与标签的绑定,成为可用的训练数据) 首先压缩.

qq_40638921的博客 1143

卡诺图化简法注意事项+竞争冒险知识点总结

今天反思以下卡诺图化简法中的注意事项。 卡诺图看起来简单,但如果不熟悉的话很容易出错,因此要对画圈的规则比较熟悉。

weixin_42415266的博客 1万+

Tensorflow2.0加载图片数据集的两种方式

在tensorflow2.0中加载图片数据集一般有两种方式,第一种是使用tf.keras中的ImageDataGenerator生成器,适合图片分类问题,简单但不灵活;第二种是使用tf.data.Dataset搭配tf.image中的一些图片处理方法,较为灵活。下面分别介绍一下。

weixin_43917574的博客 7809

华为OD机试真题:明日之星选举 (Java/Py/C/ C++/JS/GO)

华为OD机试(机考)双机位C卷 【明日之星选举】,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - 明日之星选举。

qq_45776114的博客 919

华为MetaERP的交易计税模块(即“税务引擎”)在设计上确实受到Oracle E-Business Tax(EBTax)等国际先进税务架构理念的影响,但结合了华为自身全球化运营、多准则合规、高并发处

华为MetaERP税务引擎在借鉴Oracle EBTax三层架构基础上,创新升级为五层智能税务架构,实现从"税码驱动"到"场景+规则+AI驱动"的转变。该模块采用云原生微服务架构,支持全球190+国家税务规则动态加载,具备实时计税、多准则并行处理、AI风险预警等核心能力,深度适配金税工程等国内合规要求。通过税务数字孪生、RPA机器人等创新,形成自主可控的智能税务中枢,为跨国企业提供全栈国产化税务解决方案,重新定义ERP税务管理范式。

金牌架构师 114

tensorflow加载数据的几种方式

http://wiki.jikexueyuan.com/project/tensorflow-zh/how_tos/reading_data.html#QueueRunner http://wiki.jikexueyuan.com/project/tensorflow-zh/how_tos/threading_and_queues.html 创建线程并使用QueueRunner对象

葫芦与瓢的博客 3292

ARM系统控制和管理接口System Control and Management Interface

本文档描述了一个可扩展的独立于操作系统的软件接口,用于执行各种系统控制和管理任务,包括电源和性能管理。 本文档描述了系统控制和管理接口(SCMI),它是一组操作系统无关的软件接口,用于系统管理。

AI-安全-功耗 1913

Tensorflow笔记----数据集加载、全连接层、输出方式

一.数据加载(DataLoading) Kreas.datasets:tensorflow提供的常用小型数据集; Tf.data.Dataset.from_tensor_slices:将数据变为tensor类型加载到内存中; from tensorflow.keras import datasets #mnist手写数字集 (x,y),(x_test,y_test) = datasets.mnist.load_data() #(x,y)为训练集,(x_test,y_test)为测试集 print("x

weixin_43580130的博客 665

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Tensorflow之数据的加载

加载数据 tensorflow作为符号编程框架,需要先构建数据流图,再读取数据,随后在进行模型的训练,所以其官网给出了三种加载数据的方式 预加载数据, 在tensorflow中,通过定义常量或者变脸来保存所有数据 填充数据 , 产生数据,再把数据填充后端 从文件中读取 从文件中直接读取,让队列管理器从文件中读取数据 (1)预加载数据 x1=tf.constant([2,3,4]) x...

qq_43661759的博客 200

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

3.2tensorflow2.0中几个简单常用的图片数据集介绍及加载方式

代码会检查有没有数据集在本地,没有数据集的话代码会自动下载,注意科学上网提高下载速度 MNIST数据集 一个手写数字数据集,共10类 from tensorflow import keras (x_train,y_train),(x_test,y_test)=keras.datasets.mnist.load_data() print(x_train.shape,y_train.shape...

大模型天花板 979

tensorflow中如何加载数据

Tensorflow作为符号编程框架,需要先构建数据流图,再读取数据,随后进行模型训练。tensorflow官网给出了以下三种方法来加载数据。 – 预加载数据:在tensorflow图中定义常量或变量来保存所有数据。 – 填充数据:python产生数据,再把数据填充后端。 – 从文件中读取数据:从文件中直接读取,让队列管理器从文件中读取数据。 一、预加载数据 x1 = tf.constant([[...

lidichengfo0412的博客 782

Tensorflow数据读取方式

Tensorflow数据读取方式 关于tensorflow(简称TF)数据读取方式,官方给出了三种: 供给数据(Feeding):在TF程序运行的每一步,让python代码来供给数据。 从文件读取数据:在TF图的起始,让每一个管线从文件中读取数据。 预加载数据 :在TF图中定义常量或者变量来保存数据(使用数据量较小的情况)。 的 一、供给数据 TF的数据供给机制允

l_xyy的博客 648

Tensorflow载入数据的三种方式

Tensorflow数据读取有三种方式: Preloaded data: 预加载数据 Feeding: Python产生数据,再把数据喂给后端。 Reading from file: 从文件中直接读取

a327915304的专栏 2545

tensorflow实战之数据加载

在进行深度学习开发之前,我们都必须面对的是数据加载问题。如何加载我们自己的数据,是我们不得不面对的一个问题,本篇以数据加载作为我们tensorflow实战的开始,教你手把手实现自己的模型训练。 目录 一、tensorflow常见的数据集格式 二、内存数据 2.1、数据集说明 2.2、生成样本数据 三、TFRecord数据 四、Dataset数据集 4.1、生成Dataset对象 ...

wxplol的博客 868
上一篇: 一文学会用 Tensorflow 搭建神经网络
下一篇: Tensorflow生成数据的一些方法
linux_win
博客等级 码龄8年 4粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值