用于简化对tfrecord文件的读写数据的包

easy-tfrecords的Python项目详细描述


轻松录制

此包旨在以直观的方式帮助读取和写入tfrecord文件,从而保留数据类型和数据结构

目的

tfrecord格式是一种向tensorflow模型提供数据的快速而强大的方法;它可以自动地对数据进行批处理、随机化和跨多个时间段迭代,而无需特殊的指令。使用tfrecord文件的问题来自于在读卡器、写卡器和取卡器之间编排疯狂的匹配功能结构。

easy\u tfrecords模块包含方法和类,这些方法和类允许您以直接、可扩展的方式对tfrecord文件进行写入和读取。

功能

  • 创建tfrecord文件
  • 从单个或多个tfrecord文件中读取
  • 有选择地从tfrecord文件中读取数据
  • 检查tfrecord文件的数据结构

用法

写入

  • 将数据导入到python中,但您通常会(excel、pandas、csv、matlab等)
  • 将每个特性数组重新定形为shape=[N, x[, y[, z[, etc.]]]],其中n是特性的数量。
    • 将多个功能列表作为键值对添加到文件中

读取

  • 创建一个reader类对象,指定文件列表(可以是长度1),可以选择指定批大小和shuffe规范。
  • 传递要从文件中读取的输入的列表

示例代码:

importnumpyasnpimporttensorflowastffromeasy_tfrecordsimportcreate_tfrecords,easy_tfrecordsasrecords# CREATE SOME TEST DATAx=np.array([[0,0,0,0],[0,0,0,0]],np.int32)trainX=np.asarray([x,x+1,x+2])y=np.array([0.25],np.float32)trainY=np.asarray([y,y+1,y+2])# CREATE AND SAVE TO A FEW TFRECORDS FILEScreate_tfrecords('tfr_1.tf',x=trainX,y=trainY)create_tfrecords('tfr_2.tf',x=trainX+10,y=trainY+10)create_tfrecords('tfr_3.tf',x=trainX+100,y=trainY+100,z=trainY+100)# INSTANTIATE THE RECORDS OBJECTrec=records(files=['data_1.tf','data_2.tf'],shuffle=False,batch_size=1,keys=['x','y'])next_factory=rec.get_next_factory()batch_x=next_factory['x']batch_y=next_factory['y']withtf.Session()assess:sess.run(rec.get_initializer())forninrange(10):print('------------')print('n => {}\n'.format(n))x_eval,y_eval=sess.run([batch_x,batch_y])print('x_eval=\n{}\n'.format(x_eval))print('y_eval=\n{}'.format(y_eval))sess.close()

输出:

------------
n => 0

x_eval=
[[ 0.25]]

y_eval=
[[[0 0 0 0]
  [0 0 0 0]]]
------------
n => 1

x_eval=
[[ 1.25]]

y_eval=
[[[1 1 1 1]
  [1 1 1 1]]]
------------
n => 2

x_eval=
[[ 2.25]]

y_eval=
[[[2 2 2 2]
  [2 2 2 2]]]
------------
n => 3

x_eval=
[[ 100.25]]

y_eval=
[[[100 100 100 100]
  [100 100 100 100]]]
------------
n => 4

x_eval=
[[ 101.25]]

y_eval=
[[[101 101 101 101]
  [101 101 101 101]]]
------------
n => 5

x_eval=
[[ 102.25]]

y_eval=
[[[102 102 102 102]
  [102 102 102 102]]]
------------
n => 6

x_eval=
[[ 10.25]]

y_eval=
[[[10 10 10 10]
  [10 10 10 10]]]
------------
n => 7

x_eval=
[[ 11.25]]

y_eval=
[[[11 11 11 11]
  [11 11 11 11]]]
------------
n => 8

x_eval=
[[ 12.25]]

y_eval=
[[[12 12 12 12]
  [12 12 12 12]]]
------------
n => 9

x_eval=
[[ 0.25]]

y_eval=
[[[0 0 0 0]
  [0 0 0 0]]]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
junit有没有办法在Java中重新初始化静态类?   在浏览器中点击应用程序时java Play框架挂起   文件Java错误中的NullPointerException   使用Java中的SNMP查找网络中计算机的登录名   java包装服务器引导程序已弃用,有什么替代方案?   当客户在等待理发时,java信号量值是否存在问题?   java如何使用JavaMail仅下载特定类型的附件   如何在java中将十进制转换为十六进制   java Slick2D粒子系统不会生成粒子   java检测更改事件来自何处   将Java集合类型参数类设置为数组   java如何从eclipse导出为可运行JAR文件?   java EntityManager对象未注入Glassfish和Spring   swing从actionPerformed和actionListener Java返回字符串   java在给定另一个等价键对象的情况下获取映射项的当前键   无论输入如何,java网络都会产生相同的输出