Описание тега vectorization
Векторизация относится к парадигме программирования, в которой функции работают с целыми массивами за один раз. Это дает преимущества с точки зрения вызовов функций, доступа к памяти, распараллеливания и выразительности кода. Некоторые языки программирования, такие как MATLAB, оптимизированы для обеспечения максимальной производительности при векторизации.
1
ответ
Оптимальный способ хранения двойных SSE2/AVX/AVX512 как плавающих с использованием встроенных функций
Мне часто нужно использовать double по соображениям точности, но я хочу сохранить результаты как плавающие. Какой оптимальный способ? Я в настоящее время использую: SSE2: _mm_store_sd((double*)dst, _mm_castps_pd(_mm_cvtpd_ps(xmm))); AVX: _mm_storeu_…
18 окт '18 в 09:45
2
ответа
Оптимизация векторизованной функции Matlab
Когда я запускаю профилировщик, он говорит мне, что самым трудоемким кодом является функция vdist, Это программа, которая измеряет расстояние между двумя точками на земле, рассматривая Землю как эллипсоид. Код выглядит стандартно, и я не знаю, где и…
25 окт '12 в 14:17
1
ответ
Правильный способ векторизации шага тензорного потока
Я работаю с 4-мерными тензорами, и мне нужно сделать пару вычислений, которые работают как в следующем примере. принимать A быть тензором с формой (6,64,64,64), Я хочу использовать функцию tf.where чтобы получить воксели каждого (64,64,64) объем, ко…
06 авг '18 в 13:33
1
ответ
Векторизовать код для создания трехмерного массива, состоящего из координатных окон из координатного вектора
У меня есть координатный вектор comp_points удерживая пару координат изображения в каждой строке. Теперь я хочу создать массив comp_windows держа nxm-окна изображения вокруг координат comp_points, Эти окна должны быть выровнены по 3-му измерению com…
29 июл '17 в 16:01
1
ответ
Более эффективный метод подсчета открытых дел по времени создания каждого дела
Я пытаюсь найти более эффективный способ подсчета количества дел, открытых на момент создания каждого дела. Дело "открыто" между его датой / временем создания и датой / временем цензуры. Вы можете скопировать и вставить приведенный ниже код для прос…
10 дек '15 в 23:01
3
ответа
Как выбрать все строки DataFrame, которые находятся в пределах определенного расстояния от заданного значения в определенном столбце?
Вот пример DataFrame, который я буду использовать, чтобы лучше проиллюстрировать мой вопрос: import pandas as pd df = pd.DataFrame(pd.np.random.rand(30, 3), columns=tuple('ABC')) df['event'] = pd.np.nan df.loc[10, 'event'] = 'ping' df.loc[20, 'event…
09 июл '14 в 09:35
0
ответов
Как векторизовать это в tenorflow?
Давайте день A - это матрица M x J, а B - матрица N x J. Я хотел бы создать матрицу M x N S, где: S_ij = w^t[A_i;B_j;A_i o B_j) По сути, каждый элемент матрицы результатов S представляет собой некоторый вектор w (строка матрицы W) с точечным произве…
28 фев '18 в 07:37
1
ответ
Векторизация файлов с использованием sklearn
Я пытаюсь прочитать 100 учебных файлов и векторизовать их, используя sklean. Содержимое этих файлов является словом, представляющим системные вызовы. После векторизации я хотел бы распечатать векторы. Моей первой попыткой было следующее: import re i…
18 окт '15 в 08:29
1
ответ
Конвертировать растровые изображения в векторную графику, используя OpenCV?
Я ищу возможность конвертировать растровые изображения в векторные данные, используя OpenCV. Там я нашел функцию cv::findContours() что кажется немного примитивным (скорее всего, я не совсем понял): Кажется, он использует только ч / б изображения (б…
15 окт '12 в 11:18
1
ответ
Векторизованный расчет значения столбца на основе предыдущего значения этого же столбца?
У меня есть пандас dataframe с 2 столбцами, как это: df = pd.DataFrame(data={'A': [10, 2, 3, 4, 5, 6], 'B': [0, 1, 2, 3, 4, 5]}) >>> df A B 0 10 0 1 2 1 2 3 2 3 4 3 4 5 4 5 6 5 Я хочу создать новый столбец C следующим образом: C[i]=C[i-1]-A…
27 дек '15 в 18:31
1
ответ
GCC не может векторизовать 64-битное умножение. Можно ли векторизовать умножение с 64-битным x 64-битным -> 128-битным расширением на AVX2?
Я пытаюсь векторизовать CBRNG, который использует 64-битное умножение с расширением. static __inline__ uint64_t mulhilo64(uint64_t a, uint64_t b, uint64_t* hip) { __uint128_t product = ((__uint128_t)a)*((__uint128_t)b); *hip = product>>64; ret…
04 июл '14 в 08:14
2
ответа
Удаление операторов if при получении данных из таблицы
У меня есть следующая таблица nc a b 0.9 <= nc 0.33 -0.45 0.5 <= nc < 0.9 0.95 -0.75 0.1 <= nc < 0.5 2.2 -0.97 nc < 0.1 1.18 -0.77 Это говорит о том, что если наблюдаемый облачный покров находится между указанными диапазонами, то з…
17 май '13 в 11:13
1
ответ
Оптимизация с использованием SSE Intrinsics
Я пытаюсь преобразовать цикл, который у меня есть, в свойства SSE. Я, кажется, добился довольно хорошего прогресса, и под этим я подразумеваю, что это в правильном направлении, однако я, кажется, где-то сделал некоторые неправильные переводы, поскол…
01 мар '16 в 23:16
2
ответа
Matlab удалить для цикла в матричных вычислениях
Я работаю над проблемой Matlab в соответствии с Matrix. Я думаю, что мой код можно улучшить, удалив цикл for. Но я действительно не знаю, как это исправить. Кто-нибудь может мне помочь? код: K = 3; X = [1 2; 3 4; 5 6; 7 8]; idx = [1;2;3;1]; for i = …
21 дек '14 в 23:43
1
ответ
NumPy Vectorize / более эффективный для цикла
Я выполняю размывание изображения. Изображение было дополнено соответственно. В двух словах, у меня есть перекрестный элемент (+), который я помещаю в каждый пиксель изображения и выбираю самое низкое значение для этого пикселя из пикселей выше, ниж…
25 ноя '18 в 21:34
3
ответа
Как суммировать части матрицы разных размеров, не используя для циклов?
У меня есть относительно большая матрица NxN (N~20000) и вектор Nx1, идентифицирующий индексы, которые должны быть сгруппированы вместе. Я хочу суммировать части матрицы, которая в принципе может иметь разное количество элементов и несмежных элемент…
27 июн '18 в 10:21
1
ответ
Векторизация замены столбцов на основе вектора - MATLAB
Я хочу заменить значение n-го столбца матрицы на основе векторного значения векторным способом.Входные данные: [0 0 0 0] [0 0 0 0] [0 0 0 0] [0 0 0 0] Вектор: [2] [4] [1] [3] Ожидаемый результат: [0 1 0 0] [0 0 0 1] [1 0 0 0] [0 0 1 0] Код Matlab с …
24 фев '15 в 04:19
3
ответа
Векторизация в Matlab, непонятная разница в синтаксисе, вызывающая сбой
Я не понимаю, почему в приведенном ниже примере только x1 превращается в массив из 1000 столбцов, а y - одно число. x = [0:1:999]; y = (7.5*(x))/(18000+(x)); x1 = exp(-((x)*8)/333); Любые разъяснения будут высоко оценены!
17 апр '17 в 07:26
0
ответов
Векторизованная функция в numjac MatLab
Я пытаюсь решить большую систему DAE в сочетании с уравнениями для расчета чувствительности переменных к параметру. Моя проблема - якобиан всей системы, его вычисления довольно медленные, и я хотел бы ускорить его. я использую numjacв таком виде: [J…
19 фев '15 в 13:47
2
ответа
Операция векторизации в nummy
Мне дан простой массив дат (дата - это число от 0 до 371). dates = [234, 12, 343, ...] и и пустой массив date_counter (размером 372). date_counter = [0, 0, ..., 0] За каждую дату от dates Я хотел бы увеличить date_counter, Как я могу сделать эту опе…
14 ноя '18 в 18:35