问题标签 [keras]
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 - Keras - 没有名为“pool”的模块
我已bleeding edge theano
按以下顺序安装了 , 和以下软件包:
gfortran:
OpenBLAS:
Anaconda,先下载Anaconda3-2.4.1-Linux-x86_64.sh,然后:
然后,pydot(更新后):
我克隆并安装了 Theano:
我从windows
to搬来linux
并很高兴安装了 theano。
我运行了一个小脚本,以验证它确实工作正常。
所以,它是有效的,可能是一个证明一点的微不足道的例子。
之后,来keras
然后我切换到keras的examples目录,输入
我收到以下错误:
现在,到底是什么......我错过了一些包裹吗?
我认为这不是问题,keras
而是问题theano
。
我继续尝试了一个肮脏的技巧,pip install pool
然后重新运行上面的示例,但我得到了错误:
如果需要,我也可以提供堆栈跟踪。
我一直在努力奋斗theano
,急切地想要开始……在装置的全部能量耗尽之前,
machine-learning - 如何使用腌制文件作为 keras 的数据集
我已经为数字分类构建了自己的数据集,它与 lisa lab 开发的卷积网络模型(这里)配合得很好。我想可视化权重,我想通过 keras 来实现。
Keras 文档尝试像这样加载 mnist 数据:
但我希望我的腌制数据集加载而不是 mnist 默认数据。用于 keras 的 mnist 模块在哪里加载它的数据集?而且,我怎样才能传递我自己的数据集而不是使用来自 keras 的 mnist 模块?
提前致谢。
machine-learning - 如何使用 Keras 进行预测?
我正在使用 model.predict() 逐批进行预测。
通过这样做,我发现 Keras 似乎在批次的基础上对输入进行了标准化,这意味着如果我将结果组合起来,它们将变得毫无意义,因为它们没有一起标准化,并且批次之间的概率差异很大。
那么我应该怎么做才能解决这个问题呢?由于数据集太大,无法将所有数据加载到一个批次中。我是否应该以性能为代价每次传递一个样本?
machine-learning - Keras 中的序列标记
我正在研究句子标签问题。我自己完成了嵌入和填充,我的输入看起来像:
对于句子中的每个单词,我想预测四个类中的一个,所以我想要的输出应该如下所示:
我的简单网络架构是:
它在训练时显示大约 95%,但是当我尝试使用训练有素的模型预测新句子时,结果真的很糟糕。看起来模型刚刚学习了一些关于第一个单词的类,并且每次都显示出来。我认为问题可以是:
自己写的padding(句尾零向量),会不会让学习变差?
我应该尝试学习不同长度的句子,没有填充(如果是的话,你能帮我如何在 Keras 中训练这种模型吗?)
错误的学习目标,但我尝试了均方误差、二元交叉熵等,它没有改变。
我认为带有
TimeDistributedDense
andsoftmax
的东西我已经知道它是如何工作的,但仍然不是 100% 确定。
我很高兴看到有关此问题的任何提示或帮助,谢谢!
python - 如何堆叠 LSTM 层以对语音文件进行分类
我一直在尝试实现一个基于 LSTM 的分类器来对离散语音进行分类。我用 13 mfcc 创建了特征向量。对于给定的文件,具有 [99, 13] 的 2D 向量。在遵循 mnist_irnn 示例之后,我可以设置单层 RNN 来分类我的语音文件。但现在我想向网络添加更多层。因此,我一直在尝试用两个 LSTM 层和 softmax 层作为输出层来实现网络。在这里浏览了许多帖子后,我可以按如下方式设置网络,在模型构建期间它不会抛出任何异常。
我一直在不同的点尝试不同的价值观。(目前我一直在尝试使用小样本,因此值非常小)但是,现在它在训练期间抛出异常。一些尺寸不匹配。
我想知道我在这里做错了什么。我整天都在浏览代码,但我仍然无法找出尺寸不匹配的原因。
此外,如果有人能解释 output_dim 的含义,我将非常感激。(当我们在给定层中有n个节点时,是单个节点输出的向量的形状吗?它应该等于下一层的节点数吗?)
python - 双向 LSTM (BLSTM) 的训练、测试和验证集
当涉及到正常的人工神经网络或任何标准机器学习技术时,我了解训练、测试和验证集应该是什么(概念上和经验法则比率)。但是,对于双向 LSTM (BLSTM) 网络,如何拆分数据让我感到困惑。
我正在尝试改进对由监测的健康值组成的个体受试者数据的预测。在最简单的情况下,对于每个受试者,都有一个长时间的值序列(>20k 值),并且该时间序列的连续部分根据受试者当前的健康状况从一组类别中标记出来。对于 BLSTM,网络同时对所有向前和向后的数据进行训练。那么问题是,如何为一个主题拆分时间序列?
- 我不能只取最后 2,000 个值(例如),因为它们可能都属于一个类别。
- 而且我不能随机分割时间序列,因为这样学习和测试阶段都将由不连贯的块组成。
最后,每个主题(据我所知)都有略微不同(但相似)的特征。那么,也许,因为我有成千上万的科目,我是否会在一些科目上进行训练、在一些科目上进行测试并在其他科目上进行验证?但是,由于存在学科间差异,如果我只考虑一个学科开始,我将如何设置测试?
python - 在 theano 中定义函数的正确方法是什么?
背景:
通常我会用'x = fmatrix()'之类的输入定义一个theano函数,但是,在修改keras(一个基于theano的深度学习库)以使其与CTC成本一起工作时,我注意到一个非常奇怪的问题:如果一个输入成本函数的声明为
代替
训练过程会收敛得更快。
一个简化的问题:
上面的整个代码都很大。所以我尝试将问题简化如下:说一个用于计算 Levenshtein 编辑距离的函数
然后我定义了两个函数 f1 和 f2 像:
使用 f1 和 f2 计算时,结果不同:
f1 给出了正确的结果,但 f2 没有。
所以我的问题是:定义 theano 函数的正确方法是什么?而且,f2到底出了什么问题?
更新:
我正在使用版本 0.8.0.dev0 的 theano。我刚刚尝试了 theano 0.7.0,f1 和 f2 都给出了正确的结果。也许这是theano的错误?
Update_1st 2016 年 1 月 27 日:
根据@lamblin 对此问题的解释(https://github.com/Theano/Theano/issues/3925#issuecomment-175088918),这实际上是theano的一个错误,并且已在最新(1- 26-2016) 版本。为方便起见,这里引用了lamblin的解释:
第一种方式是最自然的方式,但理论上两者应该是等价的。x3 和 x4 被创建为“alloc”操作的输出,其输入将是常量 3,而不是像 x1 和 x2 这样的自由输入,但这无关紧要,因为您将 [x3, x4] 作为输入传递给theano.function,它应该在那里切割计算图。
我的猜测是 scan 过早地优化,相信 x3 或 x4 保证始终为常数 0,并且在为它们提供值时进行了一些证明不正确的简化。那将是扫描中的一个实际错误。”
2016 年 1 月 27 日第二次更新:
不幸的是,该错误尚未完全修复。在背景部分中我提到如果将成本函数的一个输入声明为 tensor.zeros() 收敛过程会快得多,我找到了原因:当输入声明为 tensor.zeros() 时,成本函数给出了结果不正确,尽管神秘地这有助于收敛。我在这里管理了一个简化的问题重现演示(https://github.com/daweileng/TheanoDebug),运行 ctc_bench.py,你可以看到结果。
keras - Theano 慢跑
我在 Keras(带有 Theano 后端)中实现了一个 9 层卷积神经网络,并从另一个网络转换了预训练的权重。但是,虽然在 C 中实现的原始网络中只需要不到 1 秒的时间,但 Theano 需要大约 10 秒来处理单个图像。
我在 3 GB Quadro K4000 上运行并安装cuda-repo-rhel7-7.5
了cudnn-7.0-linux-x64-v3.0
. 我做错什么了吗?
python - 在 Keras 中拟合模型时,批量大小和 epoch 数应该有多大?
我正在训练 970 个样本并验证 243 个样本。
在 Keras 中拟合模型以优化 val_acc 时,批量大小和 epoch 数应该有多大?是否有任何基于数据输入大小的经验法则?
python - 如何在 Keras 中记录有关模型预期性能的数据?
我构建了一个脚本,将我的最佳模型保存到文件系统中,并且我希望它还将有关模型预期性能的数据记录到不同的文本文件中。
当前代码:
我目前将我最好的模型保存为 HDF5 文件。有没有办法使用 Keras 在不同的文本文件中记录保存在 HDF5 文件中的最佳模型的性能?
编辑:有没有办法在这里使用它http://keras.io/callbacks/?