将两个不同大小的 memapped numpy 数组连接在一起Python?

问题描述

我目前正在尝试使用 pysat解决我遇到的一些 k-着色性问题。我遇到的问题是具有以下形式的 CNF 公式(列表列表):

[1 2 3 4 5 6 7]
[8 9 10 11 12 13 14]
...
[71 72 73 74 75 76 77]
[-60 -80]
[-61 -81]
...

所以我有两组数组长度,每组都可以有数万行长,以至于无法再放入 RAM 中。

我试图做的是使用 memmap

创建两个 numpy 列表
list1 = np.memmap('temp',dtype = 'float',mode = 'w+',shape = (a,b))
# Fill up list1 with values
list1 = np.memmap('temp',shape = (c,d))
# Fill up list2 with values

然后运行求解器:

with Solver(name=solver_name,bootstrap_with=np.concatenate((list1,list2)),use_timer=True) as s:
   # Setting up timers and other code

当然,这种方法不起作用,并给了我错误信息:

ValueError: all the input array dimensions except for the concatenation axis must match exactly

有什么方法可以创建存储到磁盘的锯齿状阵列阵列?或者将已存储到磁盘的两个不同形状的列表连接在一起以传递到此求解器?

抱歉,如果这是重复的。我查看了其他一些问题,但找不到与我的情况相符的问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)