python - 无法从 tf.data.Dataset.from_generator 读取数据
问题描述
我希望使用 tf.data.Dataset.from_generator 来帮助我生成输入数据流。
dataset = tf.data.Dataset.from_generator(sample_generator,
output_types=(tf.float32, tf.float32, tf.float32),
output_shapes=(tf.TensorShape([size_image, size_image, 3]),tf.TensorShape([size_image,size_image,3]), tf.TensorShape([size_gt, size_gt])))
sample_generator 函数可以生成三个具有建议形状的 numpy 数组。
上面提到的部分没有问题。但是,tf.data.Dataset.from_generator 只能生成数据流,我需要将生成的数据提供给网络。
代码如下:
dataset = dataset.map(transform_fn, num_parallel_calls=self.config['prefetch_threads']) # transform_fn just returns the input
dataset = dataset.prefetch(self.config['prefetch_capacity'])
dataset = dataset.repeat()
dataset = dataset.batch(self.config['batch_size'])
迭代器是
self.iterator = self.dataset_tf.make_one_shot_iterator()
self.iterator.get_next()
谢谢!
解决方案
问题已解决。更改 from_generator 以生成元数据,例如,您需要的文件的名称/路径。
然后,使用 tf.Py_func 以普通/numpy 方式预处理数据。我只想说:“tf.Pyfunc 太方便了!” 谢谢!
推荐阅读
- django - 我应该使用什么后端来服务多个网站,例如 wordpress、网络应用程序和移动应用程序?
- mockito - Mockito - 验证对象方法中的静态方法是否被调用
- vue.js - 如何将按钮的位置更改为我们想要的位置?
- php - Laravel 网站关于实时服务器权限问题
- amazon-web-services - AWS Athena 是否支持在 Array_AGG 中排序?
- excel - Excel Power Pivot 将多个源合并到列中
- react-native - React Native,圆形视图的阴影
- sql - 在两个表之间执行高级查询时遇到问题
- javascript - 无法让 domMakers 在移动设备中可点击以获取 Here.com 地图
- azure - Azure 数据工厂事件触发器 - Json 中的存储帐户密钥?