xtensor-stack/xtensor-python
Python bindings for xtensor
해결 과제
고성능 C++ 배열 조작과 Python 생태계 사이의 간극을 메워줍니다. 데이터를 복사하지 않고 C++ 코드 내에서 직접 NumPy 배열을 사용할 수 있게 하여, Python 데이터 구조와의 호환성을 유지하면서 C++의 속도와 고급 기능을 활용할 수 있습니다.
작동 방식
pybind11 라이브러리를 사용하여 C++와 Python 간의 원활한 바인딩을 생성합니다. NumPy 배열을 제자리에서 래핑하는 두 가지 주요 C++ 컨테이너인 pyarray와 pytensor를 제공합니다. 이 컨테이너들은 브로드캐스팅 및 지연 평가와 같은 xtensor 라이브러리의 기능을 NumPy 데이터에 직접 노출합니다.
대상 사용자
다차원 배열 및 수치 계산과 관련된 애플리케이션을 위해 Python용 고성능 C++ 확장을 작성해야 하는 개발자 및 라이브러리 작성자를 위해 설계되었습니다.
주요 특징
- C++를 사용하여 NumPy 배열의 제자리 조작 가능.
- NumPy 스타일의 브로드캐스팅 및 지연 계산 지원.
- 동적 차원을 위한
pyarray와 더 빠른 컴파일 타임 차원 처리를 위한pytensor제공. - C++ 스칼라 함수를 Python에서 호출 가능한 벡터화 함수로 쉽게 변환할 수 있는
pyvectorize도구 포함. - 헤더 전용 라이브러리로
conda패키지 관리자를 통해 원활하게 통합 가능.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트