问题标签 [lasagne]

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 回答
320 浏览

python - Theano 中的数据类型不兼容问题

我有一个带有 softmax 输出层的密集 dropout ANN。下面是训练方法:

numpy_to_theano_variable方法在基类中定义:

在的开头train target_var被初始化为 a TheanoVariable,其维度和类型与用于提供它的 numpy 数组相同。由于我无法理解的原因,如果数据类型不是int32,或者int64我收到此错误:

其中<dtype>表示target_var从 numpy 数组推断的类型(我用int8, int16, uint8, uint16, uint32,进行了测试uint64)。它只需要int32and的原因是什么int64

0 投票
1 回答
368 浏览

python - 用 theano/lasagne 训练卷积神经网络

我正在尝试使用 theano/lasagne 实现 CNN。我已经制作了一个神经网络,但不知道如何在当前状态下对其进行训练。

这就是我试图以current_states作为输入的方式获取网络输出的方式。

但是我收到此错误:

为什么不使用 current_states?

我想在 current_states 上获得模型的输出。我该怎么做呢?

(CNN 构建代码: http: //pastebin.com/Gd35RncU

0 投票
1 回答
308 浏览

python - 卷积神经网络:如何训练它?(无监督)

我正在尝试实现一个 CNN 来玩游戏。我将 python 与 theano/lasagne 一起使用。我已经建立了网络,现在正在研究如何训练它。

所以现在我有一批 32 个状态,对于该批次中的每个状态,都有动作和该动作的预期奖励

现在我该如何训练网络,让它知道这些状态下的这些行为会导致这些奖励?

编辑:澄清我的问题。

这是我的完整代码:http ://pastebin.com/zY8w98Ng 蛇导入: http: //pastebin.com/fgGCabzR

我遇到了这个问题:

我想使用 previous_states、actions 和 agent_expected_rewards 更新模型,以便它了解这些操作会带来这些奖励。

我希望它可能看起来像这样:

我只是不明白给定值将如何影响模型,因为在构建网络时我没有指定它们。我也无法在 theano 和 lasagne 文档中找到它。

那么如何更新模型/网络以便它“学习”。

如果仍不清楚,请评论仍需要哪些信息。这几天我一直在想办法解决这个问题。

0 投票
1 回答
749 浏览

python - Python 2.7 编译失败(theano),windows 10

我试着看看其他人对与我类似的问题做了什么,但我仍然得到同样的错误。我不知道是什么原因造成的。我尝试过以下操作: 如何在 Windows 上的 Anaconda Python 2.7 x64 上安装 Theano?

但这没有帮助。

我正在尝试运行此示例,但使用我自己的数据集:https ://github.com/Lasagne/Lasagne/blob/master/examples/mnist.py

错误信息如下,我没有包括中间的 787 其他行:

已解决:遵循以下说明的每个部分:http: //deeplearning.net/software/theano/install_windows.html#install-windows

也这样做了:为什么 nvcc 找不到我的 Visual C++ 安装?

Theano 现在正在工作并且正在使用我的 GPU。

0 投票
0 回答
514 浏览

python - Theano 错误:ValueError:y_i 值超出范围。

我正在尝试让我自己的数据与 theano/lasagne 中的卷积神经网络一起使用。

一个状态由 4 个 80x80 图像组成。批次中有 32 个状态,批次是神经网络的输入。网络的输出有 5 个单位。(与游戏中 5 种可能的动作有关)另见编辑 2

在训练模型之前,程序会观察状态。在测试训练功能时,我将观察值设置为 500,一切都很好。但是当我将观察值设置为 50 000 时,我突然收到此错误:

应用节点的调试打印:

存储地图足迹:

我的训练功能如下所示:

我不明白为什么它发生在 50 000 次观察而不是 500 次。唯一改变的是观察量,为什么它突然“超出范围”。关于为什么会发生这种情况的任何想法?每个答案都非常感谢。谢谢你。

完整代码在这里:

编辑:它也发生在 1000 及以上。仍然不知道为什么。

编辑2:我发现问题与奖励有关。由于模型尚未训练,它主要是随机移动。所以这就是为什么问题出现在更多的观察中。(奖励高于 5 的机会更高)当奖励(蛇的长度)高于 5 时,它会给出错误,这很奇怪,因为 5 是可能动作的数量(神经网络的输出)。离解决方案越来越近!

0 投票
1 回答
101 浏览

python - 如何使用 theano 或 lasagne 在特定位置将重量值保持为零?

我是 Theano 和千层面的用户。

我在处理输入矩阵的可变长度时遇到问题。

IE)

所以,我尝试使用填充。

但是,经过处理后,theano 会更新参数 matrix_padding_embedding,因此,matrix_padding_embedding[-1] 不再是 0。

如何在 matrix_padding_embedding[-1] 中将权重值保持为零?

或者,是否有其他处理可变长度的方法?

0 投票
0 回答
125 浏览

lasagne - 完整的 CNN - 是否可以在 (nolearn) 千层面中实施?

我目前正在使用一个非常简单的 CNN,并且我正在尝试找出一种将其变成完整 CNN 的方法。Full 我的意思是没有任何 Dense 层,而是实现 deconvnet。deconvnet 部分将用作 CNN 的定位部分。我想知道是否有办法在 nolearn 中实现 deconvnet 部分?详细来说,一个 Deconv2dlayer 和 Unpooling?有没有其他人更深入地研究它,甚至做过它?

以下是更多详细信息的参考:

https://datascience.stackexchange.com/questions/8999/deconvolutional-network-in-semantic-segmentation

0 投票
0 回答
475 浏览

python - 如何调整神经网络参数并交叉验证 NN 的性能 [Lasagne]?

有没有办法以编程方式调整神经网络 (NN) 的参数(例如 scikitlearn 中的 Gridsearch),或者我必须在 Lasagne 中通过实验调整它们(一次更改一个)?我知道选择 NN 的参数有不同的经验法则,例如隐藏层的大小介于输入层大小和输出层大小等之间。

另外,如何在 Lasagne 中执行交叉验证来衡量 NN 的性能?任何资源的任何链接都会有所帮助。

下面是我对 NN 的 Lasagne 实现(输入数 = 6,输出数 = 1);

0 投票
1 回答
648 浏览

python - 尝试在 Lasagne 基本示例(稍作修改)上使用自己的数据集来制作用于人脸识别的神经网络

我正在做基本的千层面示例: https ://github.com/Lasagne/Lasagne/blob/master/examples/mnist.py

我通过将它与另一个类似的例子结合起来稍微修改了它。

我正在尝试运行 CNN 模型,在其中我向 CNN def 添加了一些额外的输入,但应该没有什么不同。还将示例中输入层的默认值 28 更改为 60(高度和宽度),稍后在代码中使用类,但代码“挂起”在最后一个网络行,这意味着代码是仍在运行,但什么也没有发生。 运行代码时输出。input_var 在主循环中是这样定义的:

其余代码:

编辑: 好的,根据我到目前为止的尝试,这似乎是我自己的数据集是问题所在。我已经重塑了我的数据集以匹配 MNIST 数据集。X_train 的形状为 [图像、通道、高度、宽度]。其中通道 = 1 和高度,宽度 = 60。检索这些的代码是:

其中 read_images1 是:

运行的 main 中的代码:

如果 mnist = 1 (主要)代码运行良好,如果我尝试使用我自己的数据集,它会卡在 build_mlp 中(类似于 cnn 的原始问题):

编辑 2: 在为此苦苦挣扎了一段时间后,我发现在 read_images1() 中调整图像大小导致了问题:

如果我没有通过任何调整大小并使用文件夹中的默认图像大小,则神经网络能够编译。有谁知道为什么?我将 read_images1() 更新为:

如果我使用 sz = None 和 na = True 运行程序,那么它可以工作。如果为 sz 参数指定了任何大小,则代码会在尝试再次编译神经网络时卡住。

0 投票
1 回答
568 浏览

python - 使用 OpenCL 在千层面中使用卷积层

我有一个 AMD 显卡,所以我必须使用 OpenCL。经过长时间的安装,我几乎可以正常工作,唯一不能做的就是使用卷积层。我收到一个错误:

AssertionError: AbstractConv2d Theano 优化失败:没有可用的实现支持请求的选项。您是否从优化器中排除了“conv_dnn”和“conv_gemm”?如果在 GPU 上,cuDNN 是否可用并且 GPU 是否支持它?如果在 CPU 上,您是否安装了 Theano 可以链接的 BLAS 库?

那么,有没有办法使用 OpenCL 在 GPU 上的千层面中使用卷积层?