更新时间: 试题数量: 购买人数: 提供作者:

有效期: 个月

章节介绍: 共有个章节

收藏
搜索
题库预览
在TensorFlow中加载数据的方式一共有三种:预加载数据、填充数据以及从CSV文件读取数据,还可读取TFRecords格式数据。具体如下: 1. 预加载数据:在TensorFlow图中定义常量或变量来保存所有数据,例如通过`tf.constant`定义常量并进行运算,但由于常量会直接存储在数据流图的数据结构中,训练过程中该结构体可能被复制多次,导致消耗大量内存。 2. 填充数据:通过TensorFlow的计算图训练过程中,利用会话的`run()`函数中的`feed_dict`参数获取数据,例如通过`tf.placeholder`声明占位符,生成数据后在会话中通过`feed_dict`传入数据进行计算,但数据量大时也存在消耗内存的缺点。 3. 从CSV文件读取数据:主要有两种方式,直接从原始文件读取数据或转换为TFRecords格式后读取。直接读取时,可通过`tf.TextLineReader`等读取器,结合`tf.train.string_input_producer`创建文件名队列,使用读取器的`read()`方法获取数据,再通过`decode_csv()`方法解析数据,最后通过线程协调器(`tf.train.Coordinator`)和启动队列运行器(`tf.train.start_queue_runners`)管理队列和读取器线程来处理数据,输出结果并与源文件对比。 4. 读取TFRecords数据:为解决内存占用问题,TensorFlow定义了TFRecords格式文件。生成TFRecords文件需将样本数据转换为`tf.train.Example`协议缓冲区格式(通过`tf.train.Features`和`tf.train.Feature`构建属性名与属性值的对应关系,属性值可为字符串(`BytesList`)、实数列表(`FloatList`)或整数列表(`Int64List`)),再通过`TFRecordWriter`将缓冲区数据序列化后写入文件;读取时通过`TFRecordReader`读取该格式文件。【缺少答案,请补充】
1 2