问题标签 [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.
python - Keras:ResourceExhaustedError(有关回溯,请参见上文):分配具有形状的张量时出现 OOM [26671,32,32,64]
我在 tensorflow 后端(Keras 2.1 版)上使用 Keras 训练我的网络,我尝试了许多互联网上可用的东西,但没有找到任何解决方案。
到目前为止,这是我的模型,我使用的是 Python3。
型号总结:
我正在根据批量大小发送图像。这是我的生成器功能:
终端错误日志:
请检查此链接以获取完整错误:终端输出
谁能帮助我,我在这里做错了什么?
提前致谢
python-3.x - 如何将类从 predict_classes() 映射到各自的 jpeg 文件?
我正在使用来自目录的流来获取图像并创建一个生成器,然后我在 predict_generator 中使用它来预测概率和类别。问题是,当我预测两者时,标签会被打乱,尽管我没有在任何地方使用 shuffle 参数。如何将正确的类分配给正确的标签?以下是我的完整代码:
代码
类的输出
文件名的输出
python-3.x - 加快在 Keras 中加载模型?
有没有办法加快在 Keras 中加载模型的速度?我正在使用迁移学习的初始模型。根据我的经验,加载模型似乎需要 13 秒。
我想将一些模型加载到智能手机上。使用TensorFlow作为后端。
输出
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 中解决问题并不能解决我的问题,但我仍然想知道。
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
r - 在 R 中使用 keras 2.0 时出错
我正在尝试复制 Siraj 的代码以预测 R 中的股票价格(https://github.com/llSourcell/How-to-Predict-Stock-Prices-Easily-Demo)。
这是我的代码:
最后一行返回错误:
在原始代码中,Siraj 使用LSTM 层input_dim
和output_dim
参数,但layer_lstm()
R 中的函数不包含此参数。我发现它在 Keras 2 中已贬值,我应该使用units
and input_shape
,但我尝试了input_shape = c(1L)
, input_shape = c(NULL, 1L)
, input_shape = c("None", 1L)
...,但它不起作用。
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 似乎不再存在。
非常感谢任何帮助!
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() 一起工作的任何意见?
python - 什么时候在keras的源代码中调用Layer.build()?
keras 中 Layer 类的每个派生类都有build()
定义。
build()
是我们为 keras 层分配权重的地方。
什么时候在内部调用这个函数?我找不到任何可能调用它的代码
在topology.py:580__call_()
的 Layer 类中,我们调用但它只会在. 这总是设置的,只有当 self.built 为 True 时才会调用它。self.build()
self.built = True
self.build()
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?