问题标签 [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.
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
)。它只需要int32
and的原因是什么int64
?
python - 用 theano/lasagne 训练卷积神经网络
我正在尝试使用 theano/lasagne 实现 CNN。我已经制作了一个神经网络,但不知道如何在当前状态下对其进行训练。
这就是我试图以current_states
作为输入的方式获取网络输出的方式。
但是我收到此错误:
为什么不使用 current_states?
我想在 current_states 上获得模型的输出。我该怎么做呢?
(CNN 构建代码: http: //pastebin.com/Gd35RncU)
python - 卷积神经网络:如何训练它?(无监督)
我正在尝试实现一个 CNN 来玩游戏。我将 python 与 theano/lasagne 一起使用。我已经建立了网络,现在正在研究如何训练它。
所以现在我有一批 32 个状态,对于该批次中的每个状态,都有动作和该动作的预期奖励。
现在我该如何训练网络,让它知道这些状态下的这些行为会导致这些奖励?
编辑:澄清我的问题。
这是我的完整代码:http ://pastebin.com/zY8w98Ng 蛇导入: http: //pastebin.com/fgGCabzR
我遇到了这个问题:
我想使用 previous_states、actions 和 agent_expected_rewards 更新模型,以便它了解这些操作会带来这些奖励。
我希望它可能看起来像这样:
我只是不明白给定值将如何影响模型,因为在构建网络时我没有指定它们。我也无法在 theano 和 lasagne 文档中找到它。
那么如何更新模型/网络以便它“学习”。
如果仍不清楚,请评论仍需要哪些信息。这几天我一直在想办法解决这个问题。
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。
python - Theano 错误:ValueError:y_i 值超出范围。
我正在尝试让我自己的数据与 theano/lasagne 中的卷积神经网络一起使用。
一个状态由 4 个 80x80 图像组成。批次中有 32 个状态,批次是神经网络的输入。网络的输出有 5 个单位。(与游戏中 5 种可能的动作有关)另见编辑 2
在训练模型之前,程序会观察状态。在测试训练功能时,我将观察值设置为 500,一切都很好。但是当我将观察值设置为 50 000 时,我突然收到此错误:
应用节点的调试打印:
存储地图足迹:
我的训练功能如下所示:
我不明白为什么它发生在 50 000 次观察而不是 500 次。唯一改变的是观察量,为什么它突然“超出范围”。关于为什么会发生这种情况的任何想法?每个答案都非常感谢。谢谢你。
完整代码在这里:
- 主文件: http: //pastebin.com/y53VAauT
- 蛇游戏文件: http: //pastebin.com/Xx4aPRu7
- pygame播放器文件:http://pastebin.com/EKAYt5N8(获取游戏分数并发送动作)
编辑:它也发生在 1000 及以上。仍然不知道为什么。
编辑2:我发现问题与奖励有关。由于模型尚未训练,它主要是随机移动。所以这就是为什么问题出现在更多的观察中。(奖励高于 5 的机会更高)当奖励(蛇的长度)高于 5 时,它会给出错误,这很奇怪,因为 5 是可能动作的数量(神经网络的输出)。离解决方案越来越近!
python - 如何使用 theano 或 lasagne 在特定位置将重量值保持为零?
我是 Theano 和千层面的用户。
我在处理输入矩阵的可变长度时遇到问题。
IE)
所以,我尝试使用填充。
但是,经过处理后,theano 会更新参数 matrix_padding_embedding,因此,matrix_padding_embedding[-1] 不再是 0。
如何在 matrix_padding_embedding[-1] 中将权重值保持为零?
或者,是否有其他处理可变长度的方法?
lasagne - 完整的 CNN - 是否可以在 (nolearn) 千层面中实施?
我目前正在使用一个非常简单的 CNN,并且我正在尝试找出一种将其变成完整 CNN 的方法。Full 我的意思是没有任何 Dense 层,而是实现 deconvnet。deconvnet 部分将用作 CNN 的定位部分。我想知道是否有办法在 nolearn 中实现 deconvnet 部分?详细来说,一个 Deconv2dlayer 和 Unpooling?有没有其他人更深入地研究它,甚至做过它?
以下是更多详细信息的参考:
python - 如何调整神经网络参数并交叉验证 NN 的性能 [Lasagne]?
有没有办法以编程方式调整神经网络 (NN) 的参数(例如 scikitlearn 中的 Gridsearch),或者我必须在 Lasagne 中通过实验调整它们(一次更改一个)?我知道选择 NN 的参数有不同的经验法则,例如隐藏层的大小介于输入层大小和输出层大小等之间。
另外,如何在 Lasagne 中执行交叉验证来衡量 NN 的性能?任何资源的任何链接都会有所帮助。
下面是我对 NN 的 Lasagne 实现(输入数 = 6,输出数 = 1);
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 参数指定了任何大小,则代码会在尝试再次编译神经网络时卡住。
python - 使用 OpenCL 在千层面中使用卷积层
我有一个 AMD 显卡,所以我必须使用 OpenCL。经过长时间的安装,我几乎可以正常工作,唯一不能做的就是使用卷积层。我收到一个错误:
AssertionError: AbstractConv2d Theano 优化失败:没有可用的实现支持请求的选项。您是否从优化器中排除了“conv_dnn”和“conv_gemm”?如果在 GPU 上,cuDNN 是否可用并且 GPU 是否支持它?如果在 CPU 上,您是否安装了 Theano 可以链接的 BLAS 库?
那么,有没有办法使用 OpenCL 在 GPU 上的千层面中使用卷积层?