python dataset用法_如何使用tf.data.Dataset.apply()重塑数据集 - python

我正在使用张量流中的时间序列模型。我的数据集包含物理信号。我需要将此信号划分为多个窗口,以将此切成薄片的窗口作为模型输入。

这是我读取数据并对其进行切片的方式:

import tensorflow as tf

import numpy as np

def _ds_slicer(data):

win_len = 768

return {"mix":(tf.stack(tf.split(data["mix"],win_len))),

"pure":(tf.stack(tf.split(data["pure"],win_len)))}

dataset = tf.data.Dataset.from_tensor_slices({

"mix" : np.random.uniform(0,1,[1000,24576]),

"pure" : np.random.uniform(0,1,[1000,24576])

})

dataset = dataset.map(_ds_slicer)

print dataset.output_shapes

# {'mix': TensorShape([Dimension(768), Dimension(32)]), 'pure': TensorShape([Dimension(768), Dimension(32)])}

我想将此数据集重塑为# {'mix': TensorShape([Dimension(32)]), 'pure': TensorShape([Dimension(32))}

numpy中的等效转换如下所示:

signal = np.random.uniform(0,1,[1000,24576])

sliced_sig = np.stack(np.split(signal,768,axis=1),axis=1)

print sliced_sig.shape #(1000, 768, 32)

sliced_sig=sliced_sig.reshape(-1, sliced_sig.shape[-1])

print sliced_sig.shape #(768000, 32)

我想到了将tf.contrib.data.group_by_window用作dataset.apply()的输入,但无法确切地知道如何使用它。有没有一种方法可以使用任何自定义转换来重塑数据集?

参考方案

我认为您只是在寻找转换tf.contrib.data.unbatch。这正是您想要的:

x = np.zeros((1000, 768, 32))

dataset = tf.data.Dataset.from_tensor_slices(x)

print(dataset.output_shapes) # (768, 32)

dataset = dataset.apply(tf.contrib.data.unbatch())

print(dataset.output_shapes) # (32,)

从文档中:

如果数据集的元素的形状为[B,a0,a1,...],其中B随元素的不同而变化,则对于数据集中的每个元素,未分批处理的数据集将包含形状为[a0,a1]的B个连续元素,...]。

编辑TF 2.0

(感谢@DavidParks)

在TF 2.0中,您可以直接使用tf.data.Dataset.unbatch:

x = np.zeros((1000, 768, 32))

dataset = tf.data.Dataset.from_tensor_slices(x)

print(dataset.output_shapes) # (768, 32)

dataset = dataset.unbatch()

print(dataset.output_shapes) # (32,)

从Azure Data Factory执行python脚本 - python

有人可以帮我从Azure数据工厂执行python函数吗?我已经将python函数存储在blob中,并且我试图触发同样的功能。但是我无法做到这一点。请协助。第二,我可以从ADF参数化python函数调用吗? python参考方案 您可能会发现ADF中的Azure Function Activity概念,它允许您在Data Factory管道中运行Azure F…将数据直接从Python导出到Tableau - python

我有一个将数据导出到csv中的python代码,然后将该csv加载到Tableau中。我不想将csv加载到tableau中。有没有一种方法可以将我的python脚本的return值直接放入tableau中?问题类似于Export data from Python into Tableau using JSON?,但他们询问Json格式,答案是使用csv。如果…使用TensorFlow Dataset API和flat_map的并行线程 - python

我正在将TensorFlow代码从旧队列界面更改为新的Dataset API。使用旧的接口,我可以为num_threads队列指定tf.train.shuffle_batch参数。但是,控制Dataset API中线程数量的唯一方法似乎是使用map参数在num_parallel_calls函数中。但是,我改用flat_map函数,该函数没有这样的参数。问:是…登录节点如何与Slurm群集中的计算节点通信? - python

我只是开始使用随Slurm Workload Manager运行的计算集群。我对计算节点在计算时如何与登录节点通信感到好奇,因为要运行的脚本与该脚本可能读取的其他文件一起存储在登录节点中。例如,在工作词典中,浮点列表以可以用pickle加载的格式存储。我希望在计算节点上运行的脚本如下所示:import pickle with open('data_…Python使用with子句打开或创建文件 - python

我有以下代码,但是如果文件不存在,它将无法正常工作:def log(self, action, data): import json with open('ReservationsManagerApp/logs/'+data['booking']+…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值