如何在 Theano 中更新扫描 Cython 代码?

and*_*ndy 5 python windows patch theano anaconda

当我使用以下方式更新时,出现了一些问题,系统告诉我“在补丁的第 1 行缺少统一差异的标头

cd theano/scan_module/
cython scan_perform.pyx
patch scan_perform.c numpy_api_changes.diff
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

顺便说一下,我想更新的原因是当我在windows anaconda环境中使用theano时,系统告诉我“UserWarning:文件scan_perform.c不可用。这不会正常发生。” 我在 以下位置找到了上述方法:https : //github.com/Theano/Theano/blob/master/theano/scan_module/scan_perform_ext.py然后使用以下方式安装补丁命令

conda install patch 
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

如何解决这个问题呢?

jab*_*azs 6

我可以按照以下步骤禁用此警告:

  1. 转到Theano的发布页面,单击与您安​​装的 Theano 版本对应的提交哈希,然后单击“浏览文件”。就我而言,因为我有 Theano 1.0.3,所以我使用了 hash 65fefc3
  2. 导航到theano/scan_module/c_codegithub repo(在我的例子中对应于这个URL),并将文件的内容下载scan_perform.c到一个同名的文件中。

  3. 转到 Theano 源文件位于您机器中的任何位置。就我而言,自从我使用 anaconda 以来,它们处于:

    /home/<username>/miniconda3/envs/<env_name>/lib/python2.7/site-packages/theano
    
    Run Code Online (Sandbox Code Playgroud)
  4. 在那里,导航到该scan_module目录,创建一个名为 的目录c_code,然后cd进入该目录。

  5. scan_perform.c刚刚下载的文件粘贴到该目录中。

再次执行 Theano 时,您不应再看到警告。