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

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

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

inputs = []
 for batch_size in batch_sizes_2:
    batched_dataset = ds.batch(batch_size)
    for batch_number in batch_numbers_2:
      sample_set = ds.take(batch_number)
      miniInput = (sample_set, batch_size, batch_number)
      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函数:

def myTime(datasetTuple):
    results = []
    dataset = datasetTuple[0]

    all_bs = datasetTuple[1]
    all_bn = datasetTuple[2]

    for bs in all_bs:
        batched_ds = dataset.batch(bs)
        for bn in all_bn:
            sample_set = batched_ds.take(bn)
            # some calculation happens here
            miniResult = (bs, bn)
            results.append(miniResult)

    return results

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

暂无答案!

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

相关问题