Вопросы по теме 'pybind11'
Как обернуть одноэлементный класс с помощью pybind11?
У меня есть одноэлементный класс на С++ (без открытого конструктора, программисты на С++ вызывают class.instance() для создания одноэлементного или возврата существующего).
Я бы предпочел скрыть это на уровне Python. Если бы я писал синглтон...
1641 просмотров
schedule
13.05.2024
pybind11 возвращает массив объектов numpy
Используя pybind11 C++ API и python3, как мы можем правильно создать пустой массив объектов (то есть строк Unicode) в реализации C++ и вернуть его обратно в python? Какова точная структура памяти базового массива данных, переданного в...
1266 просмотров
schedule
12.10.2022
Как импортировать или установить готовый модуль расширения Python (C++) (т.е. библиотеку, не скомпилированную с помощью setuptools)?
У меня есть проект C++, для которого я разрабатываю интерфейс Python. На данный момент я использую pybind11 , так как он выглядит довольно аккуратно и имеет несколько хороших инструментов для создания модуля расширения. с CMake, так создается...
1287 просмотров
schedule
25.03.2022
pytest и pybind11: невозможно импортировать расширение С++
Я использую pybind11, чтобы добавить модуль _cxx в существующую библиотеку Python liba . liba._cxx.func не существует, пока я не скомпилирую расширение С++ и не установлю всю библиотеку с помощью setup.py .
Когда я запускаю тесты в...
429 просмотров
schedule
20.01.2023
Связывание функции с аргументом std :: initializer_list с использованием pybind11
Я пытаюсь создать привязки python с помощью pybind11 (v2.2.2 +) и не могу понять, как вызвать функцию C, которая имеет единственный аргумент std :: initializer_list.
void list_ints(std::initializer_list<int>)
И привязка pybind11:...
756 просмотров
schedule
29.09.2022
Pybind11: создать и вернуть массив numpy со стороны C++
Как создать массив numpy со стороны C++ и передать его python?
Я хочу, чтобы Python выполнял очистку, когда возвращаемый массив больше не используется Python.
Сторона C++ не будет использовать delete ret; для освобождения памяти, выделенной...
4275 просмотров
schedule
03.01.2023
Pybind11: создать простое представление данных
Я хочу создать numpy представление данных в классе С++.
Но следующее делает копию вместо представления.
Тест на питоне:
import _cpp
a = _cpp.A()
print(a)
a.view()[:] = 100 # should make it all 100.
print(a)
Результат:
40028064 0 0...
777 просмотров
schedule
06.11.2022
Pybind11: можно ли использовать mpi4py?
Возможно ли в Pybind11 использовать mpi4py на стороне Python, а затем передать коммуникатор на сторону C++?
Если да, то как это будет работать?
Если нет, то возможно ли это, например, с помощью Boost? И если да, то как это будет сделано?
Я...
876 просмотров
schedule
08.12.2022
Pybind - Любопытно повторяющийся шаблон
У меня следующая структура класса (упрощенный пример моей реальной реализации):
/* TestClass.hpp */
#pragma once
template <class Impl>
class CurRecTemplate {
protected:
CurRecTemplate() {}
~CurRecTemplate() {}
Impl& impl()...
507 просмотров
schedule
26.10.2022
Как использовать Eigen :: Ref с pybind11?
Я использую pybind для обертывания кода C ++.
Учитывая следующую функцию, которая изначально является частью библиотеки и не должна изменяться:
void manipulate(Eigen::MatrixXd& data) {
data = data*2;
}
Используя pybind, я могу...
1096 просмотров
schedule
12.05.2023
Проблема pybind11 bad_alloc с std::vector‹std::shared_ptr‹A››
У меня есть такие структуры:
struct A{
void do_stuff(){...does stuff};
}
struct B{
std::vector<std::shared_ptr<A>> objs;
}
мой пибинд:
py::class_<A>(m, "A")
.def("do_stuff", &A::do_stuff)
py::class_<B>(m,...
356 просмотров
schedule
24.12.2022
pybind11 изменить массив numpy из C++
РЕДАКТИРОВАТЬ: теперь это работает, я не знаю, почему. Не думай, что я что-то изменил
Я хочу передать и изменить большой массив numpy с помощью pybind11. Поскольку он большой, я не хочу копировать его и возвращать новый.
Вот код:
#include...
3146 просмотров
schedule
27.01.2023
Деструктор PyBind11 не вызывается?
У меня есть класс c++ , завернутый в PyBind11 . Проблема в том, что когда сценарий Python завершается, c++ destructor не вызывается автоматически. Это вызывает неаккуратный выход, потому что деструктор должен освободить сетевые ресурсы.
В...
1231 просмотров
schedule
11.07.2022
Невозможно связать перегруженные статические функции-члены в pybind11
Я попытался связать статические перегруженные функции с помощью pybind11, но возникли некоторые проблемы.
Вот пример кода
#include <pybind11/pybind11.h>
namespace py = pybind11;
class TESTDB {
public:
static void aaaa(int a, int...
820 просмотров
schedule
23.10.2022
невозможно вернуть shared_ptr из статической функции в pybind11
Я попытался связать статическую функцию, которая возвращает shared_ptr, указывающую на другой класс.
Вот пример кода
class Example {
public:
Example() {}
~Example() {}
};
class ABC {
public:
static...
718 просмотров
schedule
20.04.2023
Eigen :: Matrix, содержащийся внутри структуры, помечен pybind11 как не записываемый
Я использую pybind11 для создания привязки Python для моей библиотеки C ++, которая использует типы Eigen. Однако, когда я пытаюсь связать структуру, содержащую Eigen::Matrix , соответствующий сгенерированный класс Python содержит все элементы...
111 просмотров
schedule
30.03.2023
Обертывание выделенного экземпляра C++ с помощью pybind11
При встраивании python в C++ через PyBind11 я застрял на следующей проблеме. Представьте, что я создаю экземпляр объекта shared_ptr через C++, а затем хочу передать этот указатель в pybind11, чтобы сгенерировать для него «теневую» привязку Python....
123 просмотров
schedule
21.08.2023
Как в pybind11 сделать py :: module известным для импорта?
Во встроенной программе C ++ в pybind11 я определяю модуль python для использования в качестве контейнера для нескольких объектов python, которые я не хочу предоставлять глобальному пространству имен. Затем я хочу импортировать этот модуль по мере...
826 просмотров
schedule
05.05.2023
Вернуть std::vector в python в виде массива numpy
Используя Pybind11, я пытаюсь передать массив numpy в С++ в std::vector , умножить его на 2 и вернуть этот std::vector в python в виде массива numpy.
Я достиг первого шага, но третий делает некоторые странные вещи. Для передачи обратно я...
2689 просмотров
schedule
13.06.2022
pybind11 - перенос перегруженного оператора присваивания?
Я использую pybind11 для предоставления функций C ++ интерфейсу Python. Я хочу обернуть перегруженный оператор присваивания, но не знаю, как это сделать. Представленная документация и примеры на самом деле не охватывают это, по крайней мере, из...
682 просмотров
schedule
24.06.2023