FLANN и большой файл HDF5

Я пытаюсь использовать Flann с большим файлом hdf5 (размеры 1кк х 1к).

Но все не работает по функции в flann_example.cpp

Matrix<float> dataset;
load_from_file(dataset, "carray.hdf5", "carray");

онлайн

dataset = flann::Matrix<T>(new T[dims_out[0]*dims_out[1]], dims_out[0], dims_out[1]);

потому что кажется, что он хочет выделить большой кусок памяти с new

Я использую win32 с 2 Гб. Есть ли способ обработки таких больших данных?

Я тоже пробовал с питоном

def using_pyflann():
N=10000*6  # for 100k x 1k don't work
dim=1000
type=np.int32  #int8 can't be used?
x = np.array(np.random.rand(N, dim)*10, dtype=type)
perm = np.random.permutation(N)
fl= FLANN()
fl.build_index(x)
pt= np.array(np.random.rand(1, dim)*10, dtype=type)
t0= time.time()
res, dist= fl.nn_index(pt)
print (time.time()-t0)
print res
print dist
print 'done'

0

Решение

Если нет особой причины, по которой вам нужно использовать win32-решение paltform, вам следует перейти на платформу x64. На платформе Win32 вы не можете выделить более 2 ГБ памяти.

https://software.intel.com/en-us/articles/memory-limits-applications-windows

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]