小编주은혜*_*주은혜的帖子

用于触发数据框的大 numpy 数组

我有很大的 numpy 数组。它的形状是(800,224,224,3),这意味着有3个通道的图像(224 * 244)。对于 Spark 中的分布式深度学习,我想将“numpy array”更改为“spark dataframe”。

我的方法是:

  1. 将 numpy 数组更改为 csv
  2. 加载 csv 并使用 150528 列(224*224*3)制作火花数据框
  3. 使用VectorAssembler创建的所有列的矢量(特征)
  4. 重塑 3 的输出,但在第三步中,我失败了,因为计算可能太高了

为了从中制作一个向量:

+------+------+
|col_1 | col_2|
+------+------+
|0.1434|0.1434|
|0.1434|0.1451|
|0.1434|0.1467|
|0.3046|0.3046|
|0.3046|0.3304|
|0.3249|0.3046|
|0.3249|0.3304|
|0.3258|0.3258|
|0.3258|0.3263|
|0.3258|0.3307|
+------+------+
Run Code Online (Sandbox Code Playgroud)

对此:

+-------------+
|   feature   |
+-------------+
|0.1434,0.1434|
|0.1434,0.1451|
|0.1434,0.1467|
|0.3046,0.3046|
|0.3046,0.3304|
|0.3249,0.3046|
|0.3249,0.3304|
|0.3258,0.3258|
|0.3258,0.3263|
|0.3258,0.3307|
+-------------+
Run Code Online (Sandbox Code Playgroud)

但是列数真的很多...

我还尝试将 numpy 数组直接转换为 rdd,但出现“内存不足”错误。在单机中,我的工作与这个 numpy 数组配合得很好。

numpy apache-spark rdd apache-spark-sql pyspark

4
推荐指数
1
解决办法
2505
查看次数

标签 统计

apache-spark ×1

apache-spark-sql ×1

numpy ×1

pyspark ×1

rdd ×1