跳转到主要内容

未提供项目描述

项目描述

pycudwt-multitarget

pycudwt-multitarget 是一个用于并行离散小波变换的Python模块。这是 PDWT 包装的分支。

注意: 这个项目与 pycudwt 几乎相同,但它能够为多个不同的GPU编译,以消除为具有不同GPU的不同实例类型需要单独容器(Docker或enroot)的需求(即:一个图像适用于A100s和H100s)。

当这些更改合并回 pycudwt 时,我将不再指向那里,并在新的描述中注明。

安装

需求

您需要cython和nvcc(Nvidia CUDA编译器,可在NVIDIA CUDA Toolkit中找到)。

对于测试,您需要pywavelets。 python-pywt 已打包用于Debian-like发行版,较新的更改可在新仓库中找到。

稳定版本(来自pypi)

pip install pycudwt-multitarget

来自conda配方

为与您的conda环境中的一个版本匹配的特定 cudatoolkit 版本构建conda

export CUDA_VERSION="10.1.243"
conda build conda-recipe/

开发版本(来自github)

git clone https://github.com/pierrepaleo/pypwt
cd pypwt
pip install .

在构建库时可以指定计算能力

PYCUDWT_CC=86 pip install .

# or to target multiple specific GPUs
PYCUDWT_CC=80,90

# or to let nvcc target your current GPU(s)
PYCUDWT_CC=all

了解更多 信息

测试

如果可用 pywavelet,您可以检查pycudwt是否给出一致的结果

cd test
python test_all.py

结果存储在 results.log 中。

入门

使用pycudwt计算小波变换很简单。在 ipython

from pycudwt import Wavelets
from scipy.misc import lena
l = lena()
W = Wavelets(l, "db2", 3)
W
------------- Wavelet transform infos ------------
Wavelet name : db2
Number of levels : 3
Stationary WT : no
Cycle spinning : no
Separable transform : yes
Estimated memory footprint : 5.2 MB
Running on device : GeForce GTX TITAN X
--------------------------------------------------
W.forward()
W.soft_threshold(10)
W.inverse()
imshow(W.image)

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

pycudwt-multitarget-1.0.5.tar.gz (59.7 kB 查看哈希值)

上传时间

支持者