Публикации по теме 'cython'


Повышение производительности Python
Я уверен, что каждый из нас хочет совместить выразительность Python с производительностью и контролем C / C ++ и получить отличные результаты. Итак, давайте посмотрим, как мы можем добиться этого с помощью Cython и PyPy . Ниже представлена ​​наивная функция подсчета делителей, реализованная на Python: Профилирование Теперь давайте проведем сравнительный анализ и посмотрим, как работает вышеуказанная функция. Для этого воспользуемся функцией iPython magic : %timeit In [2]:..

Вызов функций C ++ из Cython (ссылки, указатели и массивы)
Cython - очень полезный язык для обертывания C ++ для Python. В этом сообщении блога я хотел бы привести примеры различных способов вызова функций C ++ в Cython. Сначала я приведу примеры передачи целого числа в C ++, а затем перейду к примерам передачи массива. Здесь я даю функции C ++, которые принимают ввод по ссылке, указателю, ссылке на указатель и указателю на указатель. Вот функции Cython, которые являются оболочкой для функций C ++, описанных выше. Обратите внимание, что я..

Вопросы по теме 'cython'

Расширение numpy с помощью cython
Я пытаюсь обернуть заголовочный файл, который имеет множество таких функций test.h void test(int N, int* data_in, int* data_out); чтобы я мог использовать их из numpy. Сейчас у меня есть следующий код cython: test.pyx import...
1326 просмотров
schedule 20.04.2024

Ошибка установки Cython GCC
Попытка установить Cython на небольшой VPS с Ubuntu Server. Делал sudo apt-get install gcc а потом python setup.py install В каталоге Cython, но я получаю эту странную ошибку. running install running build running build_py...
15709 просмотров
schedule 16.10.2022

Использование Cython для упаковки библиотеки, которая является оболочкой для другой библиотеки
Моя цель — использовать Cython для создания оболочки библиотеки Apohenia , библиотеки C для научных вычислений. Это попытка не переделывать колесо, и сама Apophenia пытается сделать то же самое, основывая свои структуры на структурах из научной...
523 просмотров
schedule 26.11.2023

Cython: динамическое связывание с dll/так
Я работаю с API, который распространяется как файл dll/so, который мне нужно динамически связать с моей программой python. Для этого я хочу использовать Cython. Раньше мне удавалось статически связываться с dll. Это работает хорошо, за...
930 просмотров
schedule 03.12.2023

передача двойного указателя С++ на python
Я мог бы передать одномерный массив в python, как показано ниже. и мне интересно, могу ли я передать массив двойных указателей С++ в python, используя ctypes, numpy. test.cpp: #include <stdio.h> extern "C" void cfun(const void * indatav,...
3316 просмотров
schedule 08.03.2024

структура проекта для переноса многих классов С++ в cython в один общий объект
Я нашел частичные ответы в документах, списках рассылки и этот вопрос здесь , но я хотел получить более прямой ответ, касающийся моей специфики... Я изучаю cython, пытаясь постепенно обернуть небольшие части библиотеки, которую я уже использую,...
4997 просмотров
schedule 07.11.2022

Cython и конструкторы классов
У меня проблема с использованием Cython конструкторов по умолчанию. Мой узел класса С++ выглядит следующим образом Node.h class Node { public: Node() { std::cerr << "calling no arg constructor" << std::endl;...
4647 просмотров

Киви привет мир не работает
Я пытаюсь заставить kivy работать в моей системе Ubuntu. Я следовал инструкциям на их wesbite . Но когда я пытаюсь запустить следующий код hello world с их сайта: import kivy kivy.require('1.5.1') # replace with your current kivy version !...
3702 просмотров
schedule 31.03.2024

скомпилируйте cython с классом C++ и получите неопределенные символы
Я попытался обернуть класс C++ с помощью cython, он компилируется нормально, но когда я импортирую расширение, я получаю t ImportError: ./svd.so: undefined symbol: _ZTI5model Вот заголовочные файлы C++: во-первых, "model.h", модель - это...
333 просмотров
schedule 15.04.2024

странный сбой расширения cython, ошибка cython?
Кто-нибудь может объяснить, почему это расширение приводит к сбою Python? Я уже много часов схожу с ума по этому поводу и не могу объяснить. Я упростил свой код, чтобы он отображал только те строки, которые необходимы для воспроизведения сбоя: У...
323 просмотров
schedule 11.11.2022

Скорость выполнения функции cython vs ctypes
У меня есть простой план для моей программы: выполнить весь входной синтаксический анализ и предварительную обработку данных с помощью Python, а затем передать множество структур и вызвать ОДИН РАЗ функцию обработки чисел, которую я собираюсь написать...
2151 просмотров
schedule 06.12.2023

Cython: преобразовать представление памяти в массив NumPy
Как преобразовать типизированное представление памяти в массив NumPy в cython? Документы есть cimport numpy as np import numpy as np numpy_array = np.asarray(<np.int32_t[:10, :10]> my_pointer) Я взял это для своего случая...
14004 просмотров
schedule 03.12.2023

C/Cython: начальное содержимое выделения памяти malloc
Код: cpdef values(int n): cdef size_t i cdef double * v = <double *> malloc(sizeof(double) * n) if v is NULL: abort() for i in range(n): print v[i] Вывод: >>> values(5) 1.06816855917e-306...
356 просмотров
schedule 28.11.2022

Cython setup.py для нескольких .pyx
Я хотел бы cythonize быстрее. Код для одного .pyx from distutils.core import setup from Cython.Build import cythonize setup( ext_modules = cythonize("MyFile.pyx") ) Что делать, если я хочу cythonize несколько файлов с расширением...
17374 просмотров

Оператор cdef не разрешен здесь для структуры
У меня есть простой Astruct.pyx с определением структуры (Astruct.pxd): cdef struct A: int x int y int z И функция Cython, которая его использует (struct_test.pyx): from random import randint from Astruct cimport A def do():...
9352 просмотров
schedule 09.11.2023

cython/python: как поймать в качестве исключения внешнюю функцию, которая выходит вместо возврата
Я использую Cython для интерфейса внешней функции C. Функция (научный код из 100 000 строк кода) выполняет внутреннюю проверку на наличие недопустимых условий и «выходит» в случае их возникновения. Как я могу заставить Cython обнаруживать и...
692 просмотров
schedule 18.11.2022

cython lambda1 против ‹лямбда›
Я обнаружил, что на моем ПК определенный метод представлен как <cyfunction <lambda> at 0x06DD02A0> , а на сервере CentOS это <cyfunction lambda1 at 0x1df3050> . Я считаю, что это причина очень неясной ошибки нисходящего потока с...
281 просмотров
schedule 21.03.2024

Cython не распознает команды С++ 11
Я оборачиваю класс C++ в Python и не могу скомпилировать какие-либо функции C++11 с модулем Cython. Все компилируется нормально при компиляции только C++. Но когда я запускаю этот setup.py ниже: setup( ext_modules = cythonize(...
3099 просмотров
schedule 07.03.2024

Потенциальная утечка памяти при преобразовании широкого символа в строку Python
У меня есть следующий код в cython в файле pyx, который преобразует wchar_t * в строку python (юникод) // Весь код ниже — это Python 2.7.4 cdef wc_to_pystr(wchar_t *buf): if buf == NULL: return None cdef size_t buflen buflen...
280 просмотров
schedule 27.12.2023

ValueError: несоответствие типа буфера, ожидалось «плавающее», но получено «двойное»
Я скомпилировал скрипт Cython и запустил его. При запуске я получил ошибку из следующей строки кода: cdef np.ndarray[float] vola = np.empty(n, dtype=float) Почему это? Я хочу позже заполнить массив vola значениями с плавающей запятой,...
11308 просмотров
schedule 02.05.2024