Как создать блок numpy.linespace () для крупномасштабных данных - PullRequest
1 голос
/ 28 июня 2019

Я получаю ошибку памяти, потому что результирующие данные слишком велики, так как я использую размер более миллиардов.

Какой подход я могу использовать для разделения данных?

1 Ответ

2 голосов
/ 28 июня 2019

Если вы хотите сохранить все полученные данные, вы можете сначала сохранить фрагментированные данные в h5py. для справки http://docs.h5py.org/en/stable/. Пожалуйста, уточните свой вопрос

Попробуйте сначала создать список фрагментированного размера вашего общего размера linspace.

Пример кода: где size - это форма вашего linspace, а limit - значение чанка

    def create_list_sample_size(self, size, limit):
        list_sample_size= []
        while True:
            if size > limit:
                list_sample_size.append(limit)
                samples = samples - limit
            else:
                list_sample_size.append(limit)
                break

        return list_sample_size

Затем создайте свой собственный метод linspace, в котором вы вычисляете кусочную версию:

    def generate_linspace(list_sample_size)
        for sample in list_sample_size:
            length += sample
        length -= 1
        for sample in samples:
            index += 1
            high_range = low_range + sample
            _sample = np.arange(low_range, high_range, dtype=dtype)
            step = delta / length
            if step == 0:
                _sample *= delta
            else:
                _sample *= step

            low_range = high_range
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...