python - Tensorflow:从张量数组创建数据集
问题描述
我想从未知数量的张量创建一个tf.data.Dataset 。
每个张量都包含在一个 hdf5 文件中。
张量的数量将在运行时确定。
此外,每个张量都有一对关系。这必须保存在数据集中。
目前的尝试:
import deepdish as dd
def createDatasets(n_files):
d = []
r = []
for i in range(n_files):
d.append( (dd.io.load('../data/prepared/clean_'+str(i)+'.h5')['dataset'], dd.io.load('../data/prepared/dirty_'+str(i)+'.h5')['dataset']) )
r.append(d[i][1])
both = tf.data.Dataset.from_tensors(tuple(d))
rfi = tf.data.Dataset.from_tensors(tuple(r))
return both, rfi
问题是这些元组作为单个条目存储在数据集中。
即每个数据集的基数始终为 1,尽管使用了张量的数量。
>>> both, rfi = createDatasets(5)
>>> rfi
<TensorDataset shapes: ((100, 15, 4096, 4), (100, 15, 4096, 4), (100, 15, 4096, 4), (100, 15, 4096, 4), (100, 15, 4096, 4)), types: (tf.complex64, tf.complex64, tf.complex64, tf.complex64, tf.complex64)>
>>> dataset_length = [i for i,_ in enumerate(rfi)][-1] + 1
>>> print(dataset_length)
1
实际上,我想要完成的是为形状和类型“删除外括号”。
解决方案
推荐阅读
- php - 使用带有常量的自定义重定向时,URL 被意外更改
- node.js - 运行npm时能否在命令行设置package.json中的“main”参数
- powershell - 无法使用 PowerShell 打印内部 XML 值
- c# - android 5.0 Xamarin 上的布局膨胀异常
- c# - 为什么实体框架给我一个关于不存在的现有数据的错误
- java - 安装 Eclim 时出错,“SKProfile”不是有效的标识符
- postgresql - PostgreSQL 9.4.1,级联删除时不要调用trigger
- python - PyMC 加权抽样
- javascript - 如何使用 Angular 6 从 iframe 获取数据
- javascript - 将 upTime 函数从 Javascript 转换为 Jquery,并对多个 ID 使用单个函数