问题标签 [theano]

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.

0 投票
1 回答
153 浏览

python - 使用 Theano 并行化迭代计算

这是一段 python 代码,基本上只是计算神经网络的激活,然后data[t]根据任意泄漏率更新下一个输入值的新状态a

了解这到底在做什么并不重要。我的问题是:我可以使用 GPU 将其并行化Theano吗?您可以看到新的x取决于之前的值,x所以我想要做的是并行化这些向量和矩阵的计算。如果这些数组变得相当大,这将导致更好的性能。

谁能告诉我该怎么做?

0 投票
2 回答
1223 浏览

sentiment-analysis - Theano 分类任务总是给出 50% 的验证错误和测试错误?

我正在使用 Theano 的 DBN(深度信念网络)和 SDA(堆叠去噪自动编码器)示例进行文本分类实验。我已经生成了一个特征/标签数据集,就像生成 Theano 的 MINST 数据集一样,并更改了这些示例的特征长度和输出值以采用我的数据集(2 个输出而不是 10 个输出,并且我的数据集采用了特征数量) . 每次我运行实验(DBN 和 SDA)时,我都会得到准确的 50% 验证错误和测试错误。你有什么想法我做错了吗?因为我刚刚从电影评论数据集中生成了一个数据集作为 MINST 数据集格式并将其腌制。

我的代码与您可以在http://www.deeplearning.net/tutorial/DBN.html中找到的 代码相同,我的 SDA 代码与您可以在 http://www.deeplearning.net/tutorial/SdA中找到的代码相同.html

唯一的区别是我制作了自己的数据集,而不是 MINST 数字识别数据集。我的数据集是来自电影评论数据集的词袋特征,它当然具有不同数量的特征和输出类,所以我只是对输入和输出类的函数参数数量进行了微小的修改。代码运行得很漂亮,但结果总是 50%。这是一个示例输出:

文件 DBN_MovieReview.py 的预训练代码运行了 430.33m

文件 DBN_MovieReview.py 的微调代码运行了 5.48m

我使用两个不同的功能集同时运行 SDA 和 DBN。所以我在所有这 4 个实验中都得到了 50% 的准确率。

0 投票
2 回答
2503 浏览

python - Python不会在模块中找到变量

我刚开始玩 Theano,但在 Eclipse 中有一个奇怪的问题。我正在尝试导入配置模块来运行一些示例代码。导入工作正常,我可以看到模块中的内容。

这是我正在尝试的简单代码:

这工作正常,我得到如下输出:

还有一些类似的行。不幸的是,如果我使用以下代码,我会收到 floatX 的“来自导入的未定义变量”错误:

这仅在 Eclipse 中发生。在控制台中,我得到“float32”,这是正确的输出。知道为什么会发生这种情况以及我如何才能给我该变量背后的价值吗?谢谢!

系统:OSX 10.9.2/Python:2.7.6(Macports 安装)/Theano:0.6.0(Macports 安装)/Eclipse:Kepler Service Release 2

0 投票
1 回答
1056 浏览

python - Python pkl 文件的 Python 内存错误

我正在使用 python 库进行深度学习和神经网络。我正在运行的计算机有 16 GB 的 ram@1866 MHz。起初我的输入数据文件太大,所以我把它弄小了:

-rw-rw-r-- 1 jt jt 1.8G Mar 20 18:09 covarFile.pkl

引起:

Traceback (most recent call last): File "PYJT2/pp_dbn.py", line 69, in <module> go() File "PYJT2/pp_dbn.py", line 32, in go model = cPickle.load(open(CONTROL_DBN.INPUT, "rb")) MemoryError

由于该文件只是一个 numpy 数组的 numpy 数组,因此我可以将其分解为单独的文件,并通过加载大量 pickle 文件在程序中动态重新创建较大的文件。

total 5.2G drwxrwxr-x 2 jt jt 4.0K Mar 20 18:15 ./ drwxrwxr-x 4 jt jt 4.0K Mar 20 18:15 ../ -rw-rw-r-- 1 jt jt 351M Mar 20 18:09 outfile-0.pkl -rw-rw-r-- 1 jt jt 351M Mar 20 18:11 outfile-10.pkl -rw-rw-r-- 1 jt jt 351M Mar 20 18:11 outfile-11.pkl -rw-rw-r-- 1 jt jt 351M Mar 20 18:12 outfile-12.pkl -rw-rw-r-- 1 jt jt 351M Mar 20 18:12 outfile-13.pkl -rw-rw-r-- 1 jt jt 351M Mar 20 18:12 outfile-14.pkl -rw-rw-r-- 1 jt jt 2.3M Mar 20 18:12 outfile-15.pkl -rw-rw-r-- 1 jt jt 351M Mar 20 18:09 outfile-1.pkl -rw-rw-r-- 1 jt jt 351M Mar 20 18:09 outfile-2.pkl -rw-rw-r-- 1 jt jt 351M Mar 20 18:10 outfile-3.pkl -rw-rw-r-- 1 jt jt 351M Mar 20 18:10 outfile-4.pkl -rw-rw-r-- 1 jt jt 351M Mar 20 18:10 outfile-5.pkl -rw-rw-r-- 1 jt jt 351M Mar 20 18:10 outfile-6.pkl -rw-rw-r-- 1 jt jt 351M Mar 20 18:11 outfile-7.pkl -rw-rw-r-- 1 jt jt 351M Mar 20 18:11 outfile-8.pkl -rw-rw-r-- 1 jt jt 351M Mar 20 18:11 outfile-9.pkl

这个解决方案效果很好。我的问题是,现在我有一个巨大的文件,导致MemoryError我不知道如何进一步分解。它是一个 theano 张量变量,表示 30,000x30,000 浮点数矩阵。我的问题:

  1. 即使您不确定如何划分底层数据结构,是否有一种方法可以跨多个 pkl 文件保存内容?
  2. 在我们的实验室服务器(48 GB)上运行它会更好吗?还是这个内存错误与架构无关?
  3. 我现在拥有的巨大的 pkl 文件是否太大而无法使用?我希望不是,那是大约 8 个小时的神经网络训练。
  4. 除了使用任何人都能想到的数据库之外,还有其他解决方案吗?如果可能的话,我强烈希望使用数据库,因为我已经不得不将软件转移到许多服务器上,其中许多我没有 root 访问权限,并且安装其他东西很痛苦。
0 投票
1 回答
496 浏览

pymc - PyMC 3 中的确定性变量和 Fortran Scipy 函数

我正在尝试构建一个简单的 PyMC 3 模型,在该模型中,我估计潜在二元高斯密度中的两个切点和一个相关参数,为(多项式)计数向量产生四个预测概率。(我希望这最终会成为一个更大模型的一部分,在这个模型中,这些参数和其他参数是针对许多潜在的多元高斯密度进行估计的。)

因此,我想将切点 cx 和 cy 建模为正常随机变量,并将相关参数 rho 建模为缩放的 Beta 随机变量(作为旁注,我很想听到处理 rho 的更好方法 - PyMC 3截断了正常的随机变量,例如?)。我想使用函数 mvnun 来计算给定 cx、cy 和 rho 值的预测概率。函数 mvnun 是 scipy.stats.mvn 的一部分,它是一段编译的 Fortran 代码,有两个函数用于计算非常准确的多元正态 CDF 值。

如果我尝试将 rho 粘贴在相关矩阵 S 中,或者如果我将 cx 或 cy 放入指示积分限制的数组中,我会得到:

如果我对 cx、cy 和/或 rho 使用固定数值,mvnun 就可以正常工作(在“with model:”块内或外)。我一直在四处寻找,试图弄清楚为什么 PyMC RVs 会导致这个错误,但我很难过。我收集到 cx、cy 和 rho 是 theano TensorVariables,但我无法弄清楚关于 theano TensorVariables 的什么(如果有的话)会导致这些问题。

尝试使用 PyMC RV 作为参数调用 Fortran 函数是否存在根本问题?还是我的代码在某些方面存在缺陷?两个都?完全不同的东西?

我是 PyMC 的新手,我安装 PyMC 3 时认为它是当前版本(我发誓说几周前我安装它时没有 alpha 版本)。也许我应该安装 2.3 并弄清楚如何把它和那个放在一起?

无论如何,任何有关如何解决问题的建议都将不胜感激。

这是我的代码:

0 投票
1 回答
613 浏览

python - Theano 中的熵和概率

我编写了一个简单的 python 代码来计算集合的熵,并且我正在尝试在 Theano 中编写相同的东西。

我正在尝试在 Theno 中编写等效代码,但我不知道该怎么做:

但是,扫描线不正确,我收到大量错误。我不确定是否有一种简单的方法可以做到这一点(计算向量的熵),或者我是否必须在扫描功能上投入更多精力。有任何想法吗?

0 投票
1 回答
129 浏览

python - 我可以配置 Theano 的 x 除以 0 行为吗

我在使用 Theano 时遇到了一点问题。似乎 adivision by 0结果inf不像使用例如 Numpy 那样导致 0 (至少反函数的行为确实如此)。看一看:

结果:

这对于我想在我的 GPU 中执行的一些计算来说是一个问题,我不想从中取回数据来替换inf0继续我的计算,因为这会大大减慢这个过程。

0 投票
3 回答
8851 浏览

python - 由于 Theano 和 NumPy 变量类型导致的错误

我正在使用 numpy 1.9 和 Theano 的最新版本编写此代码,但出现无法修复的错误。我怀疑这可能是我声明变量类型的方式,但我无法解决它。我很欣赏你的建议。我想用一个向量产生一个矩阵,然后用一个偏差求和。

我收到以下错误:

谢谢你的时间!

0 投票
2 回答
2542 浏览

python - Theano 中的张量到底是什么?

Theano中的张量到底是什么,与物理或数学中通常理解的张量的精确联系是什么?

我浏览了Theano at GlanceBasic Tensor 功能,但找不到明确的联系。

0 投票
1 回答
1727 浏览

python - Theano中变量的形状有什么区别

你能告诉我Theano中的形状0,(?,),(1,?),(?,?)有什么区别吗?为什么我定义为的数组

是 (3,) 的数组吗?我怎么能定义一个 (3,1) 的数组?

此外,我编写代码如下:

为什么会报错:

非常感谢!</p>