问题标签 [theano-cuda]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - theano.test() : 由于 constant_folding 优化失败(在 ubuntu 上)
在 Ubuntu 操作系统上运行 theano.test() 时,会产生一些关于优化失败的错误消息,如下所示:
有谁知道解决这些问题的方法,或者到底发生了什么?
python - nvcc:致命错误:不支持的主机编译器'bi'
我正在尝试在 theano 中使用 gpu。我制作了 .theanorc 文件并尝试运行以下 python 代码:
我从 deeplearning.net 获得了这段代码。
输出:
python - theano 安装 (windows 64bit python 2)
我开始安装theano。
我的电脑规格: - 操作系统:Windows 7 64 位 - 显卡:NVIDIA Geforce GT 630 - CPU:AMD FX-8120
我通过 deeplearning.net 的安装指南安装了 theano。(http://deeplearning.net/software/theano/install_windows.html#configure-theano-for-gpu-use)
我成功完成了下的安装过程。
Visual Studio 2010 -> Windows 软件开发工具包版本 7.1 -> CUDA -> Microsoft Visual C++ Complier for Python 2.7(添加头文件)-> TDM GCC -> WinPython-64bit-2.7.9.4 -> env.bat -> Theano 设置
当我创建一个测试文件(下)并对其进行测试时,它成功执行。
------测试文件----------------------
但是当我添加 .theanorc.txt ---.theanorc.txt--------------------------------
它给了我这样的错误(下)
https://www.dropbox.com/s/gjspcpaz4hkeep8/11.PNG?dl=0
我对 CUDA-devicequery 和 nvidia-smi.exe 没有任何问题
-------------------------设备查询------------------------ --
-------------------------nvidia-smi.exe-------------------- ------
请帮我..
python - 从 GPU 内核/线程的角度理解 Theano 示例
我刚刚开始使用 Theano 和深度学习。我正在尝试 Theano 教程中的一个示例(http://deeplearning.net/software/theano/tutorial/using_gpu.html#returning-a-handle-to-device-allocated-data)。示例代码如下所示:
我试图理解定义'vlen'的表达,
我在文本中找不到任何地方提到此示例中指定的 GPU 内核数以及为什么选择 30。我也找不到为什么使用 768 个线程的值。我的 GPU (GeForce 840M) 有 384 个内核。我可以假设如果我用 384 代替 30 的值,我将使用所有 384 个内核吗?768个线程的值也应该保持固定吗?
python - Theano 简单线性回归在 CPU 而不是 GPU 上运行
我创建了一个简单的 Python 脚本(使用 Theano)来执行应该在 GPU 上运行的线性回归。当代码启动时,它显示“使用 gpu 设备”,但是(根据分析器)所有操作都是特定于 CPU 的(ElemWise,而不是 GpuElemWise,没有 GpuFromHost 等)。
我检查了变量 THEANO_FLAGS,一切似乎都是正确的,但我看不到任何问题(尤其是当具有相同设置的 Theano 教程在 GPU 上正确运行时 :))。
这是代码:
- THEANO_FLAGS=cuda.root=/usr/local/cuda
- 设备=gpu
- 浮动X=浮动32
- lib.cnmem=.5
- 配置文件=真
- CUDA_LAUNCH_BLOCKING=1
输出:
theano - 在 Windows、python 2.7、cuda 7.5 上使用 GPU 运行 Theano
我在 py 2.7 上运行没有 GPU 的 Theano 已经有一段时间了。然后决定检查 GPU 支持。所以遵循这里给出的所有步骤:http: //docs.nvidia.com/cuda/cuda-getting-started-guide-for-microsoft-windows/index.html#abstract
然后在msvc 2013中打开设备查询sln并构建(如上面链接中提到的检查安装是否成功)。在运行时它给了我一个错误(附加的屏幕截图)。
当我在 py 2.7 中使用带有 Theanorc 文件内容的 gpu 运行启动程序时,会出现类似的错误:
没有收到 nvcc -V 和 cl.exe 的错误。操作系统 - win7 SP1 NVIDIA GeForce GT650M
有人可以帮忙吗?
python - 导入时theano抛出参数'cl-version'的重新定义
我是 Theano 的新手。遵循本指南后:http : //deeplearning.net/software/theano/install_windows.html#install-windows 我设法正确使用 theano。后来我升级到 theano dev 版本,现在我不断收到这个异常:
.theanorc 文件:
nvcc.profile:
我毫无疑问地发现,出于某种原因,来自 .theanorc 的 FLAGS 被调用了两次,如果我在 .theanorc 中放了两次,我会在异常中得到 4 次。但我不知道那些两次提到的标志在哪里。这个 theano-nvcc-cuda- 怎么样?连锁工作?谁在调用 nvcc 并导致此问题?
顺便说一句,如果我不指定 cl-version,我会得到
python - 在 Windows 上使用 Enthought Canopy 安装 Theano
我正在尝试安装 Theano,这是我的情况。
系统是 Windows 10(64 位),CUDA 7.5 与 Visual Studio 2013 一起安装。Python 发行版是 Enthought Canopy(2.7.10,32 位),带有 pip、numpy(1.9.2-3)和 scipy(0.17) .0-2)。
安装如下,1.用pip安装Theano(0.7);2.使用enpkg工具安装mingw(4.8.1-2)和libpython(1.2);3.将新建的libpython27.a复制到${PYTHONHOME}/Libs中;4. 编辑并保存 c:\users\${myName} 下的 .theanorc.txt 为
当我尝试导入 theano 时,我收到以下警告和错误:
mod.cu(1019):警告:语句无法访问
mod.cu(1019):警告:语句无法访问
mod.cu 链接:致命错误 LNK1181:无法打开输入文件 'cublas.lib'
['nvcc', '-shared', '-O3', '-LC:\Users\${myName}\AppData\Local\Enthought\Canopy32\User\libs', '--compiler-bindir', 'C :\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin', '-Xlinker', '/DEBUG', '-D HAVE_ROUND', '-m32', '-Xcompiler', '-DCUDA_NDARRAY_CUH=11b90075e2397c684f9dc0f7276eab8f, -D NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION,/Zi,/MD', '-IC:\Users\${myName}\AppData\Local\Enthought\Canopy32\User\lib\site-packages\theano\sandbox\cuda', '- IC:\Users\${myName}\AppData\Local\Enthought\Canopy32\App\appdata\canopy-1.6.2.3262.win-x86\lib\site-packages\numpy\core\include', '-IC:\用户\${myName}\AppData\Local\Enthought\Canopy32\App\appdata\canopy-1.6.2.3262.win-x86\include', '-o', 'C:\Users\${myName}\AppData\Local\Theano\compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_71_Stepping_1_GenuineIntel-2.7.10-32\cuda_ndarray\cuda_ndarray.pyd', 'mod.cu', '-LC:\Users\ ${myName}\AppData\Local\Enthought\Canopy32\User\EGG-INFO\mingw\usr\x86_64-w64-mingw32\lib', '-LC:\Users\${myName}\AppData\Local\Enthought\ Canopy32\App\appdata\canopy-1.6.2.3262.win-x86\libs', '-LC:\Users\${myName}\AppData\Local\Enthought\Canopy32\App\appdata\canopy-1.6.2.3262.win -x86','-lpython27','-lcublas','-lcudart']\Users\${myName}\AppData\Local\Enthought\Canopy32\App\appdata\canopy-1.6.2.3262.win-x86\libs', '-LC:\Users\${myName}\AppData\Local\Enthought \Canopy32\App\appdata\canopy-1.6.2.3262.win-x86','-lpython27','-lcublas','-lcudart']\Users\${myName}\AppData\Local\Enthought\Canopy32\App\appdata\canopy-1.6.2.3262.win-x86\libs', '-LC:\Users\${myName}\AppData\Local\Enthought \Canopy32\App\appdata\canopy-1.6.2.3262.win-x86','-lpython27','-lcublas','-lcudart']
错误 (theano.sandbox.cuda): 无法编译 cuda_ndarray.cu: ('nvcc return status', 2, 'for cmd', 'nvcc -shared -O3 -LC:\Users\${myName}\AppData\Local \Enthought\Canopy32\User\libs --compiler-bindir C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin -Xlinker /DEBUG -D HAVE_ROUND -m32 -Xcompiler -DCUDA_NDARRAY_CUH=11b90075e2397c684f9dc0f7276eab8f,-D NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION,/Zi,/MD -IC:\Users\${myName}\AppData\Local\Enthought\Canopy32\User\lib\site-packages\theano\sandbox\cuda -IC:\Users\${myName}\ AppData\Local\Enthought\Canopy32\App\appdata\canopy-1.6.2.3262.win-x86\lib\site-packages\numpy\core\include -IC:\Users\${myName}\AppData\Local\Enthought\ Canopy32\App\appdata\canopy-1.6.2.3262.win-x86\include -o C:\Users\${myName}\AppData\Local\Theano\compiledir_Windows-8-6.2。9200-Intel64_Family_6_Model_71_Stepping_1_GenuineIntel-2.7.10-32\cuda_ndarray\cuda_ndarray.pyd mod.cu -LC:\Users\${myName}\AppData\Local\Enthought\Canopy32\User\EGG-INFO\mingw\usr\x86_64-w64 -mingw32\lib -LC:\Users\${myName}\AppData\Local\Enthought\Canopy32\App\appdata\canopy-1.6.2.3262.win-x86\libs -LC:\Users\${myName}\AppData \Local\Enthought\Canopy32\App\appdata\canopy-1.6.2.3262.win-x86 -lpython27 -lcublas -lcudart')
警告(theano.sandbox.cuda):CUDA 已安装,但设备 gpu 不可用(错误:cuda 不可用)
我想知道是否是 32 位 Python 与 64 位系统导致了问题。
python - 对于无法放入 RAM 的训练集,在 Theano 中管理内存的正确方法是什么?
TL;DR:如何在不占用更多内存的情况下向 Theano 函数提供更多数据?
我遇到的问题是使用 Theano 在 GPU 上训练我的 ML 算法会导致 GPU 最终耗尽内存。我稍微偏离了教程,因为我的数据集太大而无法完全读入内存(这也一定是视频算法的问题,对吧?),所以我没有使用索引输入和更新方案,而是通过 Theano直接运行ndarrays。
让我举一个例子来说明我的意思。在 Theano 的 Logistic Regression 教程中,它说要按照以下方式做一些事情:
这需要test_set_x
和test_set_y
被加载到内存中,本教程使用 aSharedVariable
来存储完整的数据集。
好吧,对我来说,数据集很大(很多千兆字节),这意味着它不能一次全部加载到内存中,所以我修改了我的数据以直接获取数据,因此:
然后我做了一些看起来像这样的事情:
我想我可能从根本上误解了如何正确地将数据交给 GPU 而不会有一些讨厌的 python 垃圾收集脏。看起来这只是在内部占用模型中越来越多的内存,因为在经过(大量)批次训练后,我收到如下错误:
如何在不占用更多内存的情况下向 Theano 函数提供更多数据?