问题标签 [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 回答
1049 浏览

python - Lasagne 的卷积神经网络精度(回归与分类)

我一直在使用 Lasagne 来解决使用卷积神经网络的二元分类问题。然而,虽然我得到了训练和验证损失的好(ish)结果,但我的验证和测试准确度始终保持不变(网络总是预测同一个类)。

我遇到过这个,和我一样的千层面问题。他们的解决方案是regression=True在 Lasagne 上使用 Nolearn 进行设置。

有谁知道如何在千层面中设置相同的变量(因为我不想使用 Nolearn)?除此之外,有没有人解释为什么需要发生这种情况?

0 投票
1 回答
375 浏览

python - 使用千层面进行输出分类

使用 Lasagne/Theano 获取输出分类

我正在将我的代码从纯 Theano 迁移到 Lasagne。我从教程中获得了这个特定的代码,以获得具有特定数据的预测结果,然后我将生成一个 csv 文件发送给 kaggle。但是对于千层面,它不起作用。我已经尝试了几件事,但它们都给出了错误。

如果有人能帮我找出问题所在,我会很高兴!

我在这里粘贴了整个代码:http: //pastebin.com/e7ry3280

代码在以 开头的行上失败ppm = theano.function...

TypeError:无法将类型 TensorType(float32, 3D)(变量 Subtensor{int64:int64:}.0)转换为类型 TensorType(float32, 4D)。您可以尝试手动将 Subtensor{int64:int64:}.0 转换为 TensorType(float32, 4D)。

我只是想将测试数据输入到 CNN 并将结果保存到 CSV 文件中。我该怎么做?我知道我必须使用小批量,因为整个测试数据不适合 GPU。

0 投票
1 回答
1790 浏览

python - 在 virtualenv 中使用 CUDA 服务 Theano

由于缺乏 root 权限,我在 Ubuntu 14.04 的 python3 virtualenv 中安装了 Theano 和 Lasagne。

ImportError: dnn not available运行一些代码,我得到一个/usr/local/cuda-6.5/targets/x86_64-linux/include/cudnn.h.

根据theano 文档,我设置了 environment variable CUDA_ROOT=/usr/local/cuda-6.5,这会产生一个额外的错误:

ERROR (theano.sandbox.cuda): Failed to compile cuda_ndarray.cu: libcublas.so.6.5: cannot open shared object file: No such file or directory

有没有办法将此 CUDA 库包含到 virtualenv 中?

0 投票
0 回答
552 浏览

neural-network - 无法使此自动编码器网络正常运行(使用卷积层和 maxpool 层)

自编码器网络似乎比普通的分类器 MLP 网络要复杂得多。在使用Lasagne进行了几次尝试之后,我在重建输出中得到的所有结果都类似于MNIST数据库的所有图像的模糊平均,而不区分输入数字的实际含义。

我选择的网络结构是以下级联层:

  1. 输入层 (28x28)
  2. 2D 卷积层,滤波器大小 7x7
  3. 最大池化层,大小 3x3,步幅 2x2
  4. 密集(全连接)扁平化层,10 个单元(这是瓶颈)
  5. 密集(全连接)层,121 个单元
  6. 将图层重塑为 11x11
  7. 2D 卷积层,滤波器大小 3x3
  8. 2D 放大层因子 2
  9. 2D 卷积层,滤波器大小 3x3
  10. 2D 放大层因子 2
  11. 2D 卷积层,滤波器大小 5x5
  12. 特征最大池化(从 31x28x28 到 28x28)

所有 2D 卷积层都具有未绑定的偏差、sigmoid 激活和 31 个过滤器。

所有全连接层都有 sigmoid 激活。

使用的损失函数是平方误差,更新函数是adagrad。学习块的长度是 100 个样本,乘以 1000 个 epoch。

为了完整起见,以下是我使用的代码:

关于如何改进这个网络以获得功能合理的自动编码器的任何想法?

0 投票
1 回答
447 浏览

python - 烤宽面条,MLP 零输出

当我尝试学习一些简单的 MLP 时,我得到了奇怪的结果,并且在从所有东西中剥离代码之后,除了必要的东西并缩小它之后,我仍然得到奇怪的结果。

代码

我希望网络能够学习 'values' 变量中给出的值,并且经常这样做,但同样经常它会留下一些输出节点为零和巨大的损失。

样本输出

为什么会这样?

0 投票
1 回答
539 浏览

python - 千层面 mlp 目标超出范围

您好我正在尝试修改 mnist 示例以将其与我的数据集匹配。我只尝试使用 mlp 示例,它给出了一个奇怪的错误。

Tha 数据集是一个 2100 行 17 列的矩阵,输出应该是 16 个可能的类之一。该错误似乎发生在培训的第二阶段。模型构建正确(确认日志信息)。

这是错误日志:

ValueError:y_i 值超出范围

应用导致错误的节点:

CrossentropySoftmaxArgmax1HotWithBias(Dot22.0, b, 目标)

拓扑排序指数:33

输入类型:[TensorType(float64, matrix), TensorType(float64, vector), >TensorType(int32, vector)]

输入形状:[(100, 17), (17,), (100,)]

输入步幅:[(136, 8), (8,), (4,)]

输入值:['未显示','未显示','未显示']

输出客户端:[[Sum{acc_dtype=float64}(CrossentropySoftmaxArgmax1HotWithBias.0)], [CrossentropySoftmax1HotWithBiasDx(Assert{msg=' smand dydo not have the same shape.'}.0, CrossentropySoftmaxArgmax1HotWithBias.1, targets)], []]

提示:在禁用大多数 Theano 优化的情况下重新运行可以让您回溯该节点的创建时间。这可以通过 > 设置 Theano 标志 'optimizer=fast_compile' 来完成。如果这不起作用,>Theano 优化可以用 'optimizer=None' 禁用。提示:使用 Theano 标志 'exception_verbosity=high' 作为此应用节点的调试打印和存储映射占用空间。

这是代码:

0 投票
1 回答
875 浏览

python - 千层面一维卷积误差

我正在尝试使用 Lasagne 构建一个 CNN,并且我有 119 个特征变量。我能够使用 Lasagne 成功构建 MLP,但是当我尝试使用以下代码添加卷积层(使用 1D 卷积)时,出现错误。难道我做错了什么?Lasagne 中的一维卷积是否经过测试?

文件“/Users/adityanagarajan/anaconda/lib/python2.7/site-packages/lasagne/layers/dense.py”,第 63 行,在 __init__ super(DenseLayer, self).__init__(incoming, **kwargs) 文件中/Users/adityanagarajan/anaconda/lib/python2.7/site-packages/lasagne/layers/base.py”,第 35 行,在 __init__ self.input_shape = incoming.output_shape 文件“/Users/adityanagarajan/anaconda/lib/python2 .7/site-packages/lasagne/layers/base.py”,第 49 行,在 output_shape 返回 self.get_output_shape_for(self.input_shape) 文件“/Users/adityanagarajan/anaconda/lib/python2.7/site-packages/lasagne /layers/conv.py",第 237 行,在 get_output_shape_for output_length = conv_output_length(input_shape[2], IndexError: tuple index out of range

0 投票
1 回答
737 浏览

python - 烤宽面条 - 意外的关键字错误

我正在尝试在 Python 中学习机器学习 - 并且想运行 lasagne / nolearn 包。我已经安装了所有软件包 - 并且正在使用下面的脚本(来自http://semantive.com/deep-learning-examples/),它给出了以下错误。如果有人知道如何解决此错误,请告诉我。

该脚本仅在其中一个千层面模块中给出了初始错误:

随后 - pad 参数周围有一个错误:

编码

0 投票
2 回答
942 浏览

python - 安装 nolearn(python 机器学习)导致错误

我正在尝试安装 nolearn,一个 python 机器学习库(基于 theano 和 lasagne),并且收到一个不寻常的错误(注意:该命令是安装 nolearn 作为安装文档的第一步):

命令:

输出:

我已经尝试了很多事情,包括安装 freetype 以及重新安装 matplotlib(都基于另一个 stackexchange 帖子),但不幸的是它仍然不起作用(显示了上面的错误)。

任何帮助表示赞赏!

我的配置如下:

  • 在 MAC OSX (Yosemite) 上运行
  • 在 ANACONDA 环境中运行
  • 使用 conda 作为环境管理器
0 投票
2 回答
417 浏览

python - Lasagne dropoutlayer 没有有效利用 GPU

我正在将 theano 和 lasagne 用于 DNN 语音增强项目。我使用的前馈网络与 lasagne 文档 (/github.com/Lasagne/Lasagne/blob/master/examples/mnist.py) 中的 mnist 示例非常相似。这个网络使用了几个 dropout 层。我在 Nvidia Titan X GPU 上训练我的网络。但是,当我不使用 dropout 时,我的 GPU 利用率约为 60%,一个 epoch 大约需要 60 秒,但当我使用 dropout 时,我的 GPU 利用率下降到 8%,每个 epoch 大约需要 600 秒。这与辍学率设置为 20% 或 0.1% 无关。

最初我认为这是由于用于生成 dropout 掩码的随机数生成器 (RNG) 没有在 GPU 上运行。但是,在代码(https://github.com/Lasagne/Lasagne/blob/master/lasagne/layers/noise.py)中,似乎使用了 rng_mrg,它应该基于此链接在 GPU 上运行:http ://deeplearning.net/software/theano/tutorial/examples.html#other-implementations

运行 theano profiler 显示“theano.sandbox.rng_mrg.mrg_uniform”占用了 86.7% 的执行时间,我不明白。

如果有人知道是什么杀死了我的 GPU 利用率,我将不胜感激。