问题标签 [keras-2]

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 投票
2 回答
5184 浏览

python - Keras:ResourceExhaustedError(有关回溯,请参见上文):分配具有形状的张量时出现 OOM [26671,32,32,64]

我在 tensorflow 后端(Keras 2.1 版)上使用 Keras 训练我的网络,我尝试了许多互联网上可用的东西,但没有找到任何解决方案。

到目前为止,这是我的模型,我使用的是 Python3。

型号总结:

我正在根据批量大小发送图像。这是我的生成器功能:

终端错误日志:

请检查此链接以获取完整错误:终端输出

谁能帮助我,我在这里做错了什么?

提前致谢

0 投票
1 回答
1055 浏览

python-3.x - 如何将类从 predict_classes() 映射到各自的 jpeg 文件?

我正在使用来自目录的流来获取图像并创建一个生成器,然后我在 predict_generator 中使用它来预测概率和类别。问题是,当我预测两者时,标签会被打乱,尽管我没有在任何地方使用 shuffle 参数。如何将正确的类分配给正确的标签?以下是我的完整代码:

代码

类的输出

文件名的输出

0 投票
1 回答
864 浏览

python-3.x - 加快在 Keras 中加载模型?

有没有办法加快在 Keras 中加载模型的速度?我正在使用迁移学习的初始模型。根据我的经验,加载模型似乎需要 13 秒。

我想将一些模型加载到智能手机上。使用TensorFlow作为后端。

输出

0 投票
1 回答
686 浏览

tensorflow - 仅在给定最后一个轴的索引的情况下,如何有效地掩盖张量流中的张量?

想象一下,我有一个形状张量,(batch_size, a, ... , c, d, e)其中 a, ... ,c,d,e 是定义的整数。例如(batch_size, 500, 3, 2, 2, 69)(batch_size, 2, 2)

我的问题是针对所有张量的,但让我们继续举例tensor1.get_shape() = (?, 500, 3, 2, 2, 69)

鉴于我有tensor2包含tensor2.get_shape() = (?, 500, 3, 2, 2, 14)最后一个轴的索引tensor1,我有两个问题:

1)我想从 构造一个tensor1形状(?, 500, 3, 2, 2, 69)的面具tensor2。例如,沿最后一个轴的可能行将tensor2[1,8,3,68,2,4,58,19,20,21,26,48,56,11],但由于tensor2是根据tensor1这些索引构造的,因此对于新输入有所不同。这些是必须保留的最后一个轴的索引tensor1。其他一切都必须被掩盖。

2)鉴于我有形状的掩码, (?, 500, 3, 2, 2, 69)tensor1如何在保持批量大小维度的同时屏蔽掉不需要的值?被屏蔽的张量应该有 shape (?, 500, 3, 2, 2, 14)

keras 或 numpy 中的答案也很简洁,虽然知道如何在 numpy 中解决问题并不能解决我的问题,但我仍然想知道。

0 投票
2 回答
10302 浏览

keras - 从预训练的 keras 模型中删除层会得到与原始模型相同的输出

在一些特征提取实验中,我注意到“model.pop()”功能没有按预期工作。对于像 vgg16 这样的预训练模型,在使用 'model.pop()' 后,model.summary() 显示该层已被删除(预期有 4096 个特征),但是在将图像传递给新模型时,结果相同作为原始模型的特征数(1000)。无论删除多少层,包括一个完全空的模型,它都会生成相同的输出。寻求您对可能是什么问题的指导。

1000

1000

谢谢!

在此处查看完整代码:https ://github.com/keras-team/keras/files/1592641/bug-feature-extraction.pdf

0 投票
0 回答
74 浏览

r - 在 R 中使用 keras 2.0 时出错

我正在尝试复制 Siraj 的代码以预测 R 中的股票价格(https://github.com/llSourcell/How-to-Predict-Stock-Prices-Easily-Demo)。

这是我的代码:

最后一行返回错误:

在原始代码中,Siraj 使用LSTM 层input_dimoutput_dim参数,但layer_lstm()R 中的函数不包含此参数。我发现它在 Keras 2 中已贬值,我应该使用unitsand input_shape,但我尝试了input_shape = c(1L), input_shape = c(NULL, 1L), input_shape = c("None", 1L)...,但它不起作用。

0 投票
1 回答
1506 浏览

callback - Keras 2.0.0:如何在回调函数“on_epoch_end()”中访问和修改训练数据?

我将 Keras 2.0.0 与 Theano 一起使用。

我想在每个时期之间更新训练数据。我可以使用 nb_epochs=1 在 for 循环中执行此操作,但使用 on_epoch_end 回调会更优雅。

这是我的暂定代码,基于 Keras 1 示例(博客文章):

不幸的是,self.model.training_data 似乎不再存在。

非常感谢任何帮助!

0 投票
1 回答
1465 浏览

deep-learning - 与 flow_from_directory() 相比,Keras 的 ImageDataGenerator.flow() 导致训练/验证精度非常低

我正在尝试训练一个非常简单的图像识别模型,没什么了不起的。当我使用图像重新缩放时,我的第一次尝试效果很好:

然后我简单地训练了模型:

这工作得非常好,并导致合理的准确性。然后我认为尝试平均减法可能是一个好主意,就像 VGG16 模型使用的那样。我没有手动进行,而是选择使用 ImageDataGenerator.fit()。但是,为此,您需要将训练图像作为 numpy 数组提供给它,所以我首先读取图像,转换它们,然后将它们输入其中:

然后,我以同样的方式训练模型,只是给它两个迭代器。训练完成后,即使经过 50 个 epoch,准确率也基本停留在 ~25%:

80/80 [==============================] - 77s 966ms/步 - 损失:12.0886 - acc: 0.2500 - val_loss :12.0886 - val_acc:0.2500

当我对上述模型进行预测时,它只正确分类了 4 个类别中的 1 个,其他 3 个类别的所有图像都被归类为第一类——显然 25% 的百分比与这个事实有关,我只是无法弄清楚我做错了什么。

我意识到我可以手动计算平均值,然后简单地为两个生成器设置它,或者我可以使用 ImageDataGenerator.fit() 然后仍然使用 flow_from_directory,但这会浪费已经处理的图像,我会这样做相同处理两次。

关于如何让它一直与 flow() 一起工作的任何意见?

0 投票
1 回答
523 浏览

python - 什么时候在keras的源代码中调用Layer.build()?

keras 中 Layer 类的每个派生类都有build()定义。

build()是我们为 keras 层分配权重的地方。

什么时候在内部调用这个函数?我找不到任何可能调用它的代码

topology.py:580__call_()的 Layer 类中,我们调用但它只会在. 这总是设置的,只有当 self.built 为 True 时才会调用它。self.build()self.built = Trueself.build()

0 投票
3 回答
5836 浏览

python - How to add variables to progress bar in Keras?

I'd like to monitor eg. the learning rate during training in Keras both in the progress bar and in Tensorboard. I figure there must be a way to specify which variables are logged, but there's no immediate clarification on this issue on the Keras website.

I guess it's got something to do with creating a custom Callback function, however, it should be possible to modify the already existing progress bar callback, no?