未提供项目描述
项目描述
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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5b39c7704602710f56d2fdd061e1cec49636dddcb656e4066dad5d6be2d6b25f |
|
MD5 | b1f094cc27acb08aa9a646c46b48dbf4 |
|
BLAKE2b-256 | 98967ccd776a016eb1ec795c89b216b3c822694f56935be401c3b0bdc9fee61f |