Быстрый способ записи файла NEMPY Memmap на диск - PullRequest
0 голосов
/ 06 ноября 2019

В своем коде я пытаюсь выполнить обработку данных с использованием файлов numpy.memmap. Основным рабочим процессом является чтение части нескольких входных файлов memmap, выполнение расчетов и запись данных в новый файл memmap.

Пример:

import numpy as np

# Read in data
size_total_image = (1000000, 10000)
input_a = np.memmap(input_a_path, dtype='float32', mode='r', shape=size_total_image)
input_b = np.memmap(input_b_path, dtype='float32', mode='r', shape=size_total_image)
output = np.memmap(output_path, dtype='float32', mode='r+', shape=size_total_image)

# Part to be processed
start_line = 100
end_line = 200

output[start_line:end_line] = input_a[start_line:end_line] - input_b[start_line:end_line]
output.flush()

Однако, когда я выполняю сброс в конце кода, это занимает очень много времени для завершения. У меня такое ощущение, что он выполняет некоторую обработку всего файла. Может кто-нибудь объяснить, как этот процесс работает под капотом и как я мог ускорить вещи для этого случая?

...