pytorch的离散余弦变换(dct)

torch-dct的Python项目详细描述


Pythorch的DCT(离散余弦变换)

Build StatuscodecovPyPI versionPyPI versionPyPI statusGitHub license

这个库根据pytorch中内置的fft操作实现dct,以便 反向传播在CPU和GPU上都可以通过它工作。有关更多信息 DCT和此处使用的算法,请参见 Wikipedia和报纸 J. Makhoul。这个 StackExchange article 可能也有帮助。

目前正在实施以下操作:

  • 一维dct-i及其逆(即按比例的dct-i)
  • 一维dct-ii及其逆(即按比例的dct-iii)
  • 二维dct-ii及其逆(即按比例的dct-iii)
  • 三维dct-ii及其逆(即按比例的dct-iii)

安装

pip install torch-dct

需要torch>=0.4.1(较低版本可能可以,但我还没有测试它们)。

您可以通过获取源代码并运行pytest来运行测试。为了运行测试 需要安装scipy

用法

importnumpyasnpimporttorchimporttorch_dctasdctx=torch.tensor(np.random.normal(size=(1,200)))X=dct.dct(x)# DCT-II done through the last dimensiony=dct.idct(X)# scaled DCT-III done through the last dimensionassert(torch.abs(x-y)).sum()<1e-10# x == y within numerical tolerance

dct.dct1dct.idct1表示dct-i及其逆。用法相同。

只要用dct_2ddct_3didct_2didct_3d等替换dctidct 获取多维版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何下载多个。java中的PDF文件   linux Java打开文件,形成实际用户主页~/   java如何在时间线内维护TableView选择?   java Hibernate注释@Where vs@WhereJoinTable   Java读/写访问异常FileNotFoundException(访问被拒绝)   继承在Java中是否可以扩展最后一个类?   Android HttpClient使用java使应用程序崩溃。lang.OutOfMemoryError:pthread_create   java为什么即使我在proguardproject中添加了jar文件,也会出现这种错误。txt?   如果添加JButton,swing Java FocusListener和KeyListener将无法工作   java使用solrj检索json格式的SolrDocument   使用Microsoft Visual Studio代码进行Java编程   java NoClassDefFoundError:org/apache/log4j/Logger   哈希集中包含相等对象的java   java中的参数化构造函数是否需要有一个主体?   java类似于NetBeans不必要的代码检测器   Java实践问题   java Blackberry“[projectname].调试文件丢失”和“I/O错误:找不到程序”jar