Свързани публикации 'cython'


Подобряване на производителността на Python
Сигурен съм, че всеки от нас иска да комбинира експресивността на Python с производителността и контрола на C/C++ и да получи страхотни резултати. Така че нека да разгледаме как можем да постигнем част от това с Cython и PyPy . По-долу е наивна функция за броене на делител, реализирана в Python: Профилиране Сега нека направим малко сравнителен анализ и да видим как се изпълнява горната функция. За да направим това, ще се възползваме от функцията iPython magic : %timeit In..

Извикване на C++ функции от Cython (препратки, указатели и масиви)
Cython е много полезен език за обвиване на C++ за Python. В тази публикация в блога бих искал да дам примери за извикване на C++ функции в Cython по различни начини. Първо ще дам примери за предаване на цяло число към C++ и след това ще продължа с примери за предаване на масив. Тук давам C++ функции, които приемат входни данни чрез препратка, указател, препратка към указател и указател към указател. Ето функциите на Cython, които обвиват C++ функциите по-горе. Имайте предвид, че..

Свързани въпроси 'cython'

Къде се компилира cython pyximport?
Моят cython / pyximport код работи много добре на файлова система за четене/запис. Но (за целите на тестването) трябва да го изпробвам на файлова система само за четене . Как да променя временната директория на cython / pyximport ? (къде...
1862 изгледи
schedule 20.09.2022

Предаване на масив Numpy към C 2D масив във формат на указател към указател с помощта на Cython
Имам C код, който в момента включвам в Python с помощта на Cython. Кодът C се занимава с 2D масиви във формат указател към указател, т.е. разпределянето на памет за масив 3x3 се извършва по следния начин float **A = (float...
410 изгледи
schedule 25.09.2022

Правя моя cython код по-ефективен
Написах програма на Python, която се опитвам да цитонизирам. Има ли някакво предложение как да направите for-цикъла по-ефективен, тъй като това отнема 99% от времето? Това е for-цикълът: for i in range(l): b1[i] =...
270 изгледи
schedule 21.09.2022

Използвайте Cython за обвиване на C/C++-програма в зависимост от множество библиотеки
Имам голям C/C++ проект, който обикновено просто изграждам като самостоятелен изпълним файл. Освен това изисква някои библиотеки (системни библиотеки като pthread, но също и MKL от intel например), които посочвам при компилирането на проекта. Сега...
239 изгледи
schedule 28.09.2022

Cython Install GCC грешка
Опитвам се да инсталирам Cython на малък VPS, работещ с Ubuntu Server. Направих sudo apt-get install gcc и тогава python setup.py install В директорията на Cython, но получавам тази странна грешка. running install running build...
15709 изгледи
schedule 16.10.2022

структура на проекта за обвиване на много c++ класове в cython в един споделен обект
Намерих частични отговори между документите, пощенските списъци и този въпрос тук , но исках да получа по-директен отговор, насочен към моята специфика... Уча cython, като се опитвам да обвия малки части, малко по малко, от библиотека, която вече...
4997 изгледи
schedule 07.11.2022

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

странен срив на разширението на cython, грешка в cython?
Може ли някой да обясни защо това разширение срива Python? Полудявах от това от много часове и не мога да го обясня. Опростих кода си, така че да показва само редовете, необходими за възпроизвеждане на срива: Имам много прост C++ клас в...
323 изгледи
schedule 11.11.2022

Използване на Cython за обвиване на библиотека, която обвива друга библиотека
Целта ми е да използвам Cython, за да обвия библиотеката Apohenia , C библиотека за научни изчисления. Това е усилие да не се възстановява колелото и самата Apophenia се опитва да направи същото, като базира своите структури на тези от GNU...
523 изгледи
schedule 26.11.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
Бих искал да цитонизирам по-бързо. Кодът за един .pyx е from distutils.core import setup from Cython.Build import cythonize setup( ext_modules = cythonize("MyFile.pyx") ) Ами ако искам да цитонизирам няколко файла с ext .pyx,...
17374 изгледи

Cython: Динамично свързване с dll/so
Работя с API, който се разпространява като dll/so файл, който трябва да свържа динамично с моята програма на python. За да постигна това, искам да използвам Cython. В миналото успях да се свържа статично с dll. Това работи добре, с изключение на...
930 изгледи
schedule 03.12.2023

cython срещу ctypes скорост на изпълнение на функцията
Имам прост план за моята програма: направете всички входни анализи и предварителна обработка на данни с Python и след това предайте много структури и извикайте ЕДНАЖД функцията за разбиване на числа, която ще напиша на C. Тук идва въпросът ми: какво...
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

Изявлението 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(): N =...
9352 изгледи
schedule 09.11.2023

cython/python: как да хванете като изключение външна функция, която излиза вместо да се връща
Използвам Cython за свързване на външна C функция. Функцията (научен код със 100k кодови реда) вътрешно проверява за невалидни условия и „излиза“, ако възникнат. Как мога да накарам Cython да открие и предизвика изключение, когато външната функция...
692 изгледи
schedule 18.11.2022

Потенциално изтичане на памет при преобразуване на широк char в низ на Python
Имам следния код в cython във файла pyx, който преобразува wchar_t* в низ на python (unicode) // Целият код по-долу е 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

Как да се възползвате от C++ шаблони в Cython
Имам C++ библиотека, която е шаблонизирана - например функция може да бъде предадена като параметър указател на плаващи числа или цели числа. Извиквам това с помощта на код на Cython, където указателите са декларирани с помощта на изглед на паметта:...
49 изгледи
schedule 24.11.2022

Предаване на ограничен метод в Cython като аргумент
Опитвам се да опаковам някакъв C++ код в Cython и се сблъсках с проблем при опит да предам метод от клас като аргумент към функция. Не знам дали го прави по-ясно, но клас A представлява статистически модел (така че myAMethod използва не само...
646 изгледи
schedule 02.12.2023

Използвайте Cython, за да свържете python към споделена библиотека в Mac OS
Опитвам се да се интегрирам с други, които ми дават споделена библиотека само с .so файлове и .h файлове. В mac os споделената библиотека трябва да е .dylib , но не знам как да настроя средата или друго начин за решаване на проблемите Когато...
992 изгледи
schedule 19.10.2022