问题标签 [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.
image-processing - Keras model.pop() 不工作
我正在使用 Python 3.6.2 和 Tensorflow-gpu 1.3.0 运行 Keras 2.0.6。
为了对 Vgg16 模型进行微调,我在手动构建了一个 vgg16 架构并加载了权重之后运行了这段代码,但我还没有调用 compile():
当我检查 Tensorboard 中的图表时,我看到(检查附图的左上角)dense_3 连接到 dropout_2 但自身悬空。然后在它旁边我看到dense_4,也连接到dropout_2。
我尝试按照 joelthchao 在 2016 年 5 月 6 日的建议将 pop() 替换为下面的 pop_layer() 代码。不幸的是,Tensorboard 中显示的图表变得一团糟。
我知道有些东西不能正常工作,因为在 Kaggle 猫狗比赛中运行它时我的准确率很低,我徘徊在 90% 左右,而其他人在 Theanos 之上运行这段代码(它改编自 fast.ai)很容易得到 97%。也许我的准确性问题来自其他地方,但我仍然认为dense_3 不应该在那里晃来晃去,我想知道这是否可能是我的精度问题的根源。
我怎样才能绝对断开并删除dense_3?
请参阅下面的 model.summary() 在运行代码之前和之后为微调做准备。我们不再看到dense_3,但我们确实在张量板图中看到了它。
跑步前
运行后
python - Keras 网络永远无法分类最后一类
我一直在研究我的项目深度学习语言检测,这是一个具有这些层的网络,可以从 16 种编程语言中识别:
这是生成网络的代码:
所以我的最后一门语言课是 SQL,在测试阶段,它永远无法正确预测 SQL,并且得分为 0%。我认为这是由于 SQL 样本的质量很差(实际上它们很差),所以我删除了这门课,开始训练 15 个课。令我惊讶的是,现在 F# 文件的检测率为 0%,而 F# 是删除 SQL 后的最后一个类(即,最后一个位置为 1 其余位置为 0 的 one-hot-vector)。现在,如果一个在 16 上训练的网络用于对抗 15,它将达到 98.5% 的非常高的成功率。
我使用的代码非常简单,主要在defs.py和data_helper.py中可用
这是使用 16 个类对 16 个类进行测试的网络训练结果:
这是同一个网络(针对 16 个训练)针对 15 个类运行的结果:
有没有其他人看过这个?我怎样才能绕过它?
numpy - 特定形状的 Keras 初始化器
我制作了一个小型 keras 模型并使用以下代码获取模型的权重:
现在我想将权重初始化为使用 keras 初始化程序的相同形状,我使用以下代码:
我的做法对吗?如果它是错误的,那么请建议我解决方案,如果它是正确的,那么为什么我看不到重量,它显示:
machine-learning - 具有不同序列长度输入的循环神经网络 (RNN)
我有不同长度的输入文本,从几个字符到一百个单词,所以我决定为每个批次使用不同的MAX_LENGTH,而不是为所有批次固定MAX_LENGTH(对于较小的文本,显然更短的 MAX_LENGTH)。
谷歌搜索后,我在 Keras github 页面中看到了这个线程,它给出了以下解决方案:
序列应按长度分组,并在发送到 Keras 之前按该长度手动分段。
如果我使用这个技巧,我猜在训练时没有办法打乱数据,这可能会导致过度拟合。
我在 Kaggle 中看到了很多使用这个技巧的讨论。我想知道这个问题还有其他解决方案吗?
python - 关于 model_fn 的 Tensorflow 1.4 Keras 问题
我有一个模型函数,它接受特征、目标和模式,但是当我添加 tf.keras 层时,我目前得到的异常 pred 必须是张量、变量或 Python 布尔值。
但是,当我不使用 tf.keras 而是直接从 keras(即来自 keras.layers)运行相同的代码时,它正在工作。
代码 :
当我执行上面的脚本时,我得到一个异常 TypeError: pred must be a Tensor, a Variable, or a Python bool。
但是,当我在没有 tf.keras 的情况下直接使用 keras(来自 keras)时,它也可以正常工作。这里出了什么问题?
keras - 不应该 model.trainable=False 冻结模型下的权重吗?
我正在尝试冻结经过免费训练的 VGG16 层(下面的“conv_base”)并在它们之上添加新层以进行特征提取。我希望在模型拟合之前(ret1)/之后(ret2)从“conv_base”获得相同的预测结果,但事实并非如此。这是检查体重冻结的错误方法吗?
加载 VGG16 并设置为不可训练
模型拟合前的结果
在 VGG16 上添加层并编译模型
拟合模型
模型拟合后的结果
希望这是真的,但事实并非如此。
tensorflow - 无法在 Keras 中使用遵循 multi_gpu_model 的 model.save 保存模型
升级到 Keras 2.0.9 后,我一直在使用该multi_gpu_model
实用程序,但无法保存我的模型或最佳权重
我得到的错误是
TypeError:无法腌制模块对象
我怀疑访问模型对象存在一些问题。有解决这个问题的方法吗?
python - Keras 交叉验证精度在每个 epoch 后稳定在 (1/output_classes)
我目前正在尝试训练一个 DNN 用于具有大量扬声器的语音识别,每个扬声器都有自己的标签(output_classes = 扬声器总数)。我的数据库现在有 300 个发言者,Keras 模型摘要如下:
1240 (输入大小) --> 256 hidden --> 256 hidden --> 256 hidden (0.5 dropout) --> 256 (0.5 dropout) --> Softmax (300)
我分批提供数据(每个扬声器数据 = 一批)并使用以下优化器:
如下fit_generator
:
trainGen
我的生成器函数在哪里
训练时,交叉验证准确率始终稳定在 0.0033 即 1/300。不过,训练和交叉验证损失在每个 epoch 之后都在下降。有什么建议么?
tensorflow - Python Keras:一个层输出与输入完全相同的东西
我正在使用 Keras 构建网络。在这个过程中,我需要一个层,它接受一个 LSTM 输入,什么都不做,只是输出与输入完全相同。即如果LSTM的每个输入记录都像[[A_t1, A_t2, A_t3, A_t4, A_t5, A_t6]],我正在寻找一个层:
SomeIdentityLayer(x) 将[[A_t1, A_t2, A_t3, A_t4, A_t5, A_t6]]
作为输入和输出[[A_t1, A_t2, A_t3, A_t4, A_t5, A_t6]]
。Keras 中有这样的层/结构吗?谢谢!
python - Keras:合并/连接层:TypeError:__init__() 为参数“轴”获得了多个值
我创建了以下网络。这个想法是结合 和 的输出left
,right
然后发送到 LSTM 模型。
我试图连接左右输出,然后将新张量发送到 LSTM 模型。
但是,我收到以下错误:
知道我做错了什么吗?我可以添加一个Concatenate
图层作为模型的第一层吗?谢谢!