Nlp &引用;g++;“未检测到”;当数据集变大时,GPU中的矩阵大小是否有限制?

Nlp &引用;g++;“未检测到”;当数据集变大时,GPU中的矩阵大小是否有限制?,nlp,theano,deep-learning,keras,Nlp,Theano,Deep Learning,Keras,我在使用Keras为语言模型训练RNN时得到了这条信息,该语言模型有一个大的3D张量(由文本生成,一个热编码,结果的形状为(165717,257631)): 但是,当我将数据集的大小限制在很小的范围内时,一切都进行得很顺利。因此我想知道Theano或CUDA是否限制了矩阵的大小 此外,我有没有更好的方法来做一个热的代表?我的意思是,在大三维张量中,由于一个热表示,大多数元素都是0。但是,我没有找到一个可以接受单词索引表示的层。您的Theano安装未完成 问题的粘贴结果中提到了两个问题: 警告(t

我在使用Keras为语言模型训练RNN时得到了这条信息,该语言模型有一个大的3D张量(由文本生成,一个热编码,结果的形状为(165717,257631)):

但是,当我将数据集的大小限制在很小的范围内时,一切都进行得很顺利。因此我想知道Theano或CUDA是否限制了矩阵的大小


此外,我有没有更好的方法来做一个热的代表?我的意思是,在大三维张量中,由于一个热表示,大多数元素都是0。但是,我没有找到一个可以接受单词索引表示的层。

您的Theano安装未完成

问题的粘贴结果中提到了两个问题:

警告(theano.configdefaults):未检测到g++!西亚诺将会 无法执行优化的C实现(适用于CPU和GPU) 并且默认为Python实现。演出将是 严重退化。要删除此警告,请将无标志cxx设置为 空字符串

我怀疑即使数据量很小,您也会看到这一点,但这是一个警告,因此事情会继续成功运行(自动使用纯Python实现)

错误(theano.sandbox.cuda):在$PATH上找不到nvcc编译器。检查 请安装nvcc,然后重试

这是当数据大小增加时发生的情况,因为现在GPU正在尝试使用

这两条消息都表明Theano安装不完整。第一个指示您没有正确设置C++编译器。第二个表示您没有正确设置CUDA。您需要按照的相应部分来解决这些问题。请注意,当您想要使用纯Python实现以外的任何东西时,仅执行
pip安装ano
是不够的

conda install mingw libpython

请确保已安装。从另一篇文章中得到这个答案,这是手册中指出的。

对我来说,这似乎是一条非常明确的错误消息,与CUDA无关。您的theano配置不正确,找不到主机或GPU编译器。修好它,问题就会迎刃而解disappear@talonmies我没说清楚。我的代码可以很好地处理小数据集(仅用于调试我的代码),这样的错误只会发生在大数据集上。是的,但是错误消息也会告诉您为什么会发生这种情况。在较小的规模下,使用纯Python实现是因为尝试使用GPUunStatisfiableError没有性能优势:发现以下规范存在冲突:-mingw-Python 3.5*我使用Python 2.7。
conda install mingw libpython