如何在spark上下文rdd操作中并行化图像和其他参数?

d7v8vwbk  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(263)

我想把一个函数Map到spark上下文,叫做 sc 用于并行化。
我有一个 ds 变量,它是 tensorflow.python.data.ops.dataset_ops.ParallelMapDataset ,它由图像组成。
然后,我创建一组名为 inputs 使用 ds 多组参数以上的变量(&M):

  1. inputs = []
  2. for batch_size in batch_sizes_2:
  3. batched_dataset = ds.batch(batch_size)
  4. for batch_number in batch_numbers_2:
  5. sample_set = ds.take(batch_number)
  6. miniInput = (sample_set, batch_size, batch_number)
  7. inputs.append(miniInput)

输入中第一个元素的示例如下: (<TakeDataset shapes: (None, 192, 192, 3), types: tf.uint8>, 2, 3) 现在我想把上面的输入并行化: myRDD = sc.parallelize(inputs) &收到以下错误消息: InternalError: Tensorflow type 21 not convertible to numpy dtype. 我以这种方式创建输入,以便将其用于下面的Map函数:

  1. def myTime(datasetTuple):
  2. results = []
  3. dataset = datasetTuple[0]
  4. all_bs = datasetTuple[1]
  5. all_bn = datasetTuple[2]
  6. for bs in all_bs:
  7. batched_ds = dataset.batch(bs)
  8. for bn in all_bn:
  9. sample_set = batched_ds.take(bn)
  10. # some calculation happens here
  11. miniResult = (bs, bn)
  12. results.append(miniResult)
  13. return results

如何包含parallelmapdataset和其他参数来创建用于并行化的rdd?
这是用参数并行化图像的正确方法吗?如果没有,你能告诉我如何使用rdd正确地并行化多个参数的图像吗?
谢谢您

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题