问题标签 [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.
theano - 在启用 FIPS 的情况下使用 Theano 和 Lasagne
我有以下内容:
- Python 2.7.5
- 启用 FIPS 的 RHEL 7.3
- 千层面(0.2.dev1)
- Theano (0.9.0)
我用 pip 安装了 Theano 和 Lasange 没有问题,但是当我导入 lasange 时,我收到与 FIPS 相关的错误:
是否有一些已知或可用的解决方法?不幸的是,我必须启用 FIPS。
我刚开始使用 Theano 和 Lasagne,所以如果我需要更多帮助来解决问题,我深表歉意。
python - Centos 7 中的 Theano 带有错误位/c++config.h:没有这样的文件或目录
我得到了错误:
在使用 Cuda 8.0 在 Centos 7 上安装 theano Theano (0.9.0) 之后。似乎找不到 bits/c++config.h。不过已经编译在/usr/include/c++/4.8.5/i686-redhat-linux/bits/
谢谢
python - 带 gpu 的 Theano。在上下文中使用 cuDNN 版本 5110 无
我正在尝试将 Theano 与 gpu 一起使用。我的操作系统是 Ubuntu 16.04
首先,打字import theano
会导致
要查看我的 GPU 是否正在使用,我尝试从 theano 文档中进行测试
我的 ~/.theanorc 是
在这种情况下,测试说:
但是使用旧后端device = gpu0
说:
所以我认为cuda出了点问题。我如何检查它是否正常?为什么“上下文”是“无”?为什么测试说“使用cpu”?
python - Theano-GPU-window7-python3.6-Anaconda3
代码:
结果:
C:\Users\spk7522\AppData\Local\Continuum\Anaconda3\python.exe C:/Users/spk7522/Desktop/python/test.py 警告(theano.sandbox.cuda):cuda 后端已弃用,将被删除在下一个版本 (v0.10) 中。请切换到 gpuarray 后端。您可以在此 URL 获取有关如何切换的更多信息: https ://github.com/Theano/Theano/wiki/Converting-to-the-new-gpu-back-end%28gpuarray%29
使用 gpu 设备 0:Quadro K4000(启用 CNMeM,初始大小:95.0% 的内存,cuDNN 5110)[GpuElemwise{exp,no_inplace}(), HostFromGpu(GpuElemwise{exp,no_inplace}.0)] 循环 1000 次耗时 0.471953秒结果是 [ 1.23178029 1.61879349 1.52278066 ..., 2.20771813 2.29967761 1.62323296] 使用了 gpu
进程以退出代码 0 结束
QRS: 1) 我的 theano 测试程序在 GPU 上工作正常吗 2) 如何删除警告 (theano.sandbox.cuda): 窗口 cmd 上的消息
linux - Theano 搜索 CUDA 7.5 文件,但我安装了 CUDA 8。如何告诉它使用 CUDA 8?
我使用 theano 0.9.0、CUDA 8.0.61、gcc 版本 4.9.3、NVIDIA UNIX x86_64 内核模块 375.39、Ubuntu 16.04.2 LTS,并且我有一个 geforce 1060。CUDA 像我做的测试一样工作。
但是每当我用theano(http://deeplearning.net/software/theano/tutorial/using_gpu.html)进行gpu测试时,我都会收到这个错误:ImportError:('编译节点时发生以下错误',GpuElemwise {exp ,no_inplace}((float64, vector)>), '\n', 'libnvrtc.so.7.5: 无法打开共享对象文件: 没有这样的文件或目录', '[GpuElemwise{exp,no_inplace}((float64, vector )>)]')
这真的很愚蠢,因为我有 CUDA 8,而不是 CUDA 7.5,所以它当然找不到 libnvrtc.so.7.5。如何告诉 theano 我使用的是 CUDA 8 而不是 CUDA 7.5 ?
我的 .bashrc 设置过于复杂:
- 导出 PATH="/usr/local/cuda-8.0/bin:$PATH"
- 导出 LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64"
- 导出 CUDA_HOME=/usr/local/cuda-8.0
- 导出 CUDA_ROOT=/usr/local/cuda-8.0
- 导出 CPATH="$CPATH:~/.local/include"
- 导出 CPATH="/usr/local/cuda-8.0/include:$CPATH"
- 导出 LIBRARY_PATH="$LIBRARY_PATH:~/.local/lib"
- 导出 LIBRARY_PATH="/usr/lib/nvidia-375:$LIBRARY_PATH"
- 导出 LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LIBRARY_PATH"
- 导出 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:~/.local/lib"
我的 .theanorc 是:
[nvcc]
标志=-D_FORCE_INLINES
[全球的]
设备 = cuda0
[cuda]
根 = /usr/local/cuda-8.0/
python - import theano using GPU Exception: The nvidia driver version installed with this OS does not give good results for reduction
我在WIN10上安装了theano,可以用CPU导入。我的显卡是GTX1080。我安装了CUDA8.0。这是 nvcc -V 信息:
我还在 cuda 示例中运行 deviceQuery.cpp,结果 = PASS。结果如下:
我还配置了.theanorc.txt:</p>
但是当我导入 theano 时,它会出现 2 个警告和 Using gpu device 0: GeForce GTX 1080 (CNMeM is disabled, cuDNN 5005) Traceback (last recent call last): File ", line 1, in File E:\Anaconda\lib\ site-packages\theano__init__.py,第 116 行,theano.sandbox.cuda.tests.test_driver.test_nvidia_driver1() 文件 E:\Anaconda\lib\site-packages\theano\sandbox\cuda\tests\test_driver.py,行41、在test_nvidia_driver1中引发异常(本操作系统安装的nvidia驱动版本
例外:使用此操作系统安装的 nvidia 驱动程序版本没有提供良好的还原效果。安装与 cuda 包相同的下载页面上可用的 nvidia 驱动程序将解决问题:http: //developer.nvidia.com/cuda-downloads
CUDA8.0驱动版本是376.51,我确实安装了这个版本。我不知道哪里出错了。你能帮我解决这个问题吗?非常感谢!
theano - cudnn 无法安装
我正在使用 cuda 8.0 windows 10 GTX 770M 在theano上尝试LeNet5,似乎无法正确更新参数。当我导入 theano 时,我会得到这个错误:
我已通过将文件复制到“NVIDIA GPU Computing Toolkit\CUDA\v8.0”将 cudnn 5 安装到我的 cuda 8.0,但仍然显示相同的错误。
是不是因为theano不能编译cudnn,两者conv2d
都pool_2d
不能正常工作?结果我训练的时候错误率一直保持在90%左右。我是否正确安装了cudnn?我只是按照 theano 文档上的说明进行操作,但 zip 中没有 .so* 文件。
我已经尝试过 cpu 模式,它可以正确训练但真的很慢。
希望你们能帮助我摆脱困境,因为我被困了很多天。
非常感谢!
gpu - 在 theano jupyter notebooks 中运行多个 GPU,实现 theano.gpyarray.use
我有一个带有三个 gpus 的 linux 系统。我正在使用带有 theano 的 keras 来运行 cnn,过去当我使用 Theano 8.+ 时,我能够使用以下命令将特定的 gpu 分配给 jupyter notebook 窗口:
导入 theano.sandbox.cuda theano.sandbox.cuda.use("gpu2")
这让我可以使用不同的超参数运行同一个 cnn 模型的三个版本。
我最近更新了 keras(到 2.0)和 theano(到 0.9)。这需要我设置 gpuarray 后端。
只运行一个带有模型的 jupyter notebook 就可以了。gpu1 由 theano 选择。但是,当我启动具有相同型号的第二个笔记本时,theano 尝试使用分配给第一个笔记本的 gpu,导致内存使用问题并最终导致 cnn 模型在 cpu 上运行,而不是使用可用的两个剩余 gpu 之一.
有没有一种方法可以选择我希望在 theano 0.9 中的每个 jupyter 笔记本上运行的 gpu,就像我在 theano 8 中一样。
keras - 在 theano 预测方面,GPU 比 CPU 慢?
我使用 keras + theano 从 NVidia TK1 上的 VGG 预训练模型预测标签。
在预测中,我从 CPU 获得的预测时间比从 GPU 获得的预测时间更快。如果我没记错的话,预测还涉及大量重复的数字运算。我不明白为什么CPU会在这里变慢。
有人有很好的解释吗?
GPU 详细信息行:Using gpu device 0: GK20A (CNMeM is enabled with initial size: 75.0% of memory, cuDNN Version is too old. Update to v5, was 2000.)
这是预测的分析结果:
python - 使用 keras 和 theano 的 python 内存错误
我试过这个keras 教程。我在我的另一个项目中使用 theano,所以我将 keras 更改为使用 theano 而不是 Tenorflow。但是当我运行本教程时,我首先收到此错误:
nvcc 致命:在 PATH 中找不到编译器“cl.exe”
一段时间后,在第一个 Epoch(共 3 个)中,在样本号 13056(共 25000 个)上,我收到此错误:
文件“test_keras.py”,第 28 行,在 model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=3, batch_size=64)
文件“C:\Users\domi1_000\Anaconda3\envs\Pyhon27\lib\site-packages\keras\models.py”,第 845 行,适合 initial_epoch=initial_epoch)
文件“C:\Users\domi1_000\Anaconda3\envs\Pyhon27\lib\site-packages\keras\engine\training.py”,第 1485 行,适合 initial_epoch=initial_epoch)
文件“C:\Users\domi1_000\Anaconda3\envs\Pyhon27\lib\site-packages\keras\engine\training.py”,第 1140 行,在 _fit_loop outs = f(ins_batch)
文件“C:\Users\domi1_000\Anaconda3\envs\Pyhon27\lib\site-packages\keras\backend\theano_backend.py”,第 1094 行,调用 返回 self.function(*inputs)
文件“C:\Users\domi1_000\Anaconda3\envs\Pyhon27\lib\site-packages\theano\compile\function_module.py”,第 898 行,调用 storage_map=getattr(self.fn, 'storage_map', None))
文件“C:\Users\domi1_000\Anaconda3\envs\Pyhon27\lib\site-packages\theano\gof\link.py”,第 325 行,在 raise_with_op reraise(exc_type, exc_value, exc_trace)
文件“C:\Users\domi1_000\Anaconda3\envs\Pyhon27\lib\site-packages\theano\compile\function_module.py”,第 884 行,调用 self.fn() 如果 output_subset 是 None else\
文件“C:\Users\domi1_000\Anaconda3\envs\Pyhon27\lib\site-packages\theano\scan_module\scan_op.py”,第 989 行,rval r = p(n, [x[0] for x in i ], o)
文件“C:\Users\domi1_000\Anaconda3\envs\Pyhon27\lib\site-packages\theano\scan_module\scan_op.py”,第 978 行,在 p self、节点中)
文件“theano/scan_module/scan_perform.pyx”,第 445 行,在 theano.scan_module.scan_perform.perform (C:\Users\domi1_000\AppData\Local\Theano\compiledir_Windows-8.1-6.3.9600-Intel64_Family_6_Model_58_St epping_9_GenuineIntel-2.7.12 -64\scan_perform\mod.cpp:5259)
内存错误:
应用导致错误的节点:forall_inplace,cpu,grad_of_scan_fn}(TensorConstant{500}, Subtensor{int64:int64:int64}.0, Elemwise{tanh}.0, Alloc.0, InplaceDimShuffle{0,2,1}。 0、Elemwise{复合{(i0 - sqr(i1))}}.0、子张量{int64:int64:int64}.0、子张量{int64:int64:int64}.0、子张量{int64:int64:int64}。 0, Alloc.0, Alloc.0, Alloc.0, TensorConstant{500}, Subtensor{::, int64:int64:}.0, Subtensor r{::, :int64:}.0, Subtensor{::, int64::}.0, Subtensor{::, int64:int64:}.0, InplaceDimShuffle{1,0}.0, InplaceDimShuffle{1,0}.0, InplaceDimShuffle{1,0}.0, Alloc.0 , InplaceDimShuffle{1,0}.0)
拓扑排序索引:148 输入类型:[TensorType(int64, scalar), TensorType(float32, 3D), TensorType(float32, 3D), TensorType(float32, 3D), TensorType(float32, 3D), TensorType(float32, 3D), TensorType(float32, 3D), TensorType(float32, 3D), TensorType(float32, 3D), TensorType(float32, 3D), TensorType(float32, 3D), TensorType(float32, 3D), TensorType(int64, scalar), TensorType(float32, matrix), TensorType(float32, matrix) , TensorType(float32, matrix), TensorType(float32, matrix), TensorType(float32, matrix), TensorType(float32, matrix), TensorType(float32, matrix), TensorType (float32, 矩阵), TensorType(float32, 矩阵)]
输入形状:[(), (500L, 64L, 100L), (500L, 64L, 100L), (500L, 64L, 400L), (500L, 100L, 64L), (500L, 64L, 100L), (500L, 64L, 400L), (500L, 64L, 100L), (500L, 64L, 100L), (501L, 64L, 100L), (501L, 64L, 100L), (2L, 100L, 400L), (), ( 100L, 100L), (100L, 100L), (100L, 100L), (100L, 100L), (100L, 100L), (100L, 100L), (100L, 100L), (100L, 400L), (100L, 100L)] 输入步幅:[(), (-25600L, 400L, 4L), (25600L, 400L, 4L), (102400L, 1600L, 4L), (-25600L, 4L, 400L), (25600L, 400L, 4L ), (-1600L, 800000L, 4L), (-25600L, 400L, 4L), (-25600L, 400L, 4L), (25600L, 4 00L, 4L), (25600L, 400L, 4L), (160000L, 1600L , 4L), (), (1600L, 4L), (1600L, 4L), (1600L, 4L), (1600L, 4L), (4L, 1600L), (4L, 1600L), (4L, 1600L), ( 1600L, 4L), (4L, 1600L)] 输入值:[array(500L, dtype=int64), '未显示', '未显示', '未显示', '未显示','未显示','未显示','未显示','未显示','未显示','未显示','未显示',数组(500L,dty pe=int64),'未显示','未显示','未显示','未显示','未显示','未显示','未显示','未显示','未显示'] 输出客户端:[[] , [], [Subtensor{int64}(forall_inplace,cpu,grad_of_scan_fn}.2, Constant{1})], [Subtensor{::int64}(forall_inplace,cpu,grad_of_scan_fn}.3, Constant{-1})] ]未显示', '未显示', '未显示', '未显示'] 输出客户端:[[], [], [Subtensor{int64}(forall_inplace,cpu,grad_of_scan_fn}.2, Constant{1})] , [Subtensor{::int64}(forall_inplace,cpu,grad_of_scan_fn}.3, 常量{-1})]]未显示', '未显示', '未显示', '未显示'] 输出客户端:[[], [], [Subtensor{int64}(forall_inplace,cpu,grad_of_scan_fn}.2, Constant{1})] , [Subtensor{::int64}(forall_inplace,cpu,grad_of_scan_fn}.3, 常量{-1})]]
提示:在禁用大多数 Theano 优化的情况下重新运行可以让您回溯该节点的创建时间。这可以通过设置 Theano 标志 'optimizer=fast_compile' 来完成。如果这不起作用,可以使用 'optimizer=None' 禁用 Theano 优化。
这也发生在我的另一个项目中,但问题是尺寸不匹配。它无法将尺寸为 300x200 的节点与尺寸为 100x100 的节点匹配。
任何帮助将非常感激。