问题标签 [pre-trained-model]

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 投票
0 回答
302 浏览

machine-learning - load_weights 失败:keras 中权重值的顺序发生了变化

这是我的网络。我加载了权重,然后微调了网络。建筑始终保持不变。但是当我在微调后加载权重(block5 和 fc 层可训练)时,权重值中的权重顺序发生了变化,因此加载权重失败。

微调前:

微调后权重不会加载,因此会出现错误:

由于某种原因,顺序发生了变化!

请帮忙,训练这个网络花了这么多天,我不能减掉这些重量。谢谢

0 投票
2 回答
1104 浏览

python - Bazel & Tensorflow:Inception v3 再训练:AttributeError:'int'对象属性'__doc__'是只读的

我目前正在按照本教程重新训练 Inception v3 神经网络的顶层: https://www.youtube.com/watch ?v=m2D02eZTB4s https://www.tensorflow.org/tutorials/image_retraining

我已经设置了一个运行 Ubuntu 14.04.5 LTS 64bit 的 VirtualBox

蟒蛇2.7.6

张量流 1.3.0

bazel 构建标签:0.5.3

但是,当我使用命令时

然后我的过程与教程不同。发生两个导入错误,通过安装软件包很容易解决。

安装autograd和enum后,再次尝试执行retrain命令时,出现如下错误:

文件“/home/tensorflow/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/ops/variable_scope.py”第191行如下:

现在我真的不想干预这段代码,因为它不是我编写的自定义代码。我怀疑还有另一个问题,但我完全不知道它可能是什么。我希望这里有人遇到过类似的问题和/或可以给我任何建议。

0 投票
1 回答
2775 浏览

python - ValueError:检查目标时出错:预期的 dense_2 有 4 个维度,但得到的数组形状为 (64, 50) (Keras)

在以这种方式使用 Keras 训练预训练模型时:

我有一个错误:

我尝试了其他损失,但这没有帮助。batchClasses 的形状为 (batchSize, NUMCLASSES) = (64, 50),我希望 Dense 的输出中有这种形状。

0 投票
0 回答
447 浏览

tensorflow - 在 KERAS(TF 后端)中更改预训练模型的输入形状

我正在将迁移学习与使用 KERAS 和 TensorFlow 后端的预训练模型一起使用。现在,我想改变它的输入形状,但我做不到。

以下是当前的形状:

我想要做的是改变input shape to (None, 112, 112, 112, 1).

我确实尝试更改 json 文件中的输入,但出现错误。

0 投票
1 回答
874 浏览

python - Keras InceptionV3 model.predict

代码:

错误:

我可以在实际图像上使用 model.predict,但最终在 tf.placeholders 或 tf.variables 上出现此错误 谁能帮我调试此错误?

0 投票
2 回答
2112 浏览

python - 在 KERAS 中加入/组合两种迁移学习模型

我们如何在 KERAS 中的 Transfer Leaning 中加入/组合两个模型?

我有两个模型:模型 1 = 我的模型模型 2 = 训练模型

我可以通过将模型 2 作为输入来组合这些模型,然后将其输出传递给模型 1,这是常规方式。

但是,我正在以其他方式进行操作。我想将模型 1 作为输入,然后将其输出传递给模型 2(即训练模型一)。

0 投票
0 回答
168 浏览

tensorflow - 官方 tensorflow 教程:使用迁移学习进行再训练中的输入管道 (retrain.py)

我想将迁移学习与 Google 的 Inception 网络一起用于图像识别问题。我正在使用 TensorFlow 示例源中的 retrain.py 来获取灵感,并按照Google 的官方教程进行操作。

然而,它的输入管道是“每一步从训练集中随机选择 10 张图像(其中 10 张是 batch_size),从缓存中找到它们的瓶颈,并将它们输入最后一层以获得预测。”

具体来说,在其代码retrain.py 中,将通过随机选择每个图像来检索 batch_size 图像。对于每个图像,找到其图像索引

其中MAX_NUM_IMAGES_PER_CLASS= 2^27 + 1,然后image_index将由标签的可用图像数量取模。

我的问题是:

1)为什么它必须创建这样的批次(随机到大量,然后修改每个类的长度)?为什么我们不随机到每个班级的长度)

2)如果我们为每次喂食选择一组随机的图像,我们是否会丢失大部分数据并接收到重复的喂食示例?为什么输入管道是正常排列的:我们有很多 epoch,每个 epoch 都是完整的数据并分为很多批次,然后我们将每个批次输入到我们的模型中?

非常感谢!!

参考

在 retrain.py 中train_bottleneckstrain_ground_truth(这些被输入到模型中)由get_random_distorted_bottlenecks. 在这个函数中,我们对每个图像进行循环,直到我们有足够的 batch_size 图像:找到一个随机标签,然后找到随机索引:

0 投票
0 回答
61 浏览

python - 在训练的 lstm 层和输出层之间插入和训练一个附加层

这是我想做的:

我想使用一些迁移学习技术来处理序列问题:首先使用 dataset_1 训练一个 lstm 模型,然后在输出层之前插入另一个 lstm 层,然后使用 dataset_2 只训练新添加的层,其他的变量层从第一个训练阶段导入并保持不变

这就是问题所在,现有的方法在恢复预训练模型时都需要权重/偏差的变量名。而且我想tf.contrib.rnn.MultiRNNCell(*)在我的代码中使用该功能。但是,该功能是一个黑匣子,无法获得具体的变量名称。我怎样才能实现这个想法?

0 投票
1 回答
718 浏览

machine-learning - Keras 预训练的 Xception 模型总是给出预测“sewing_machine”

我正在使用 Keras 预训练模型“Xception”进行图像识别。然而,无论我给 Xception 什么图片,预测总是:

预测:[[('n04179913', 'sewing_machine', 1.0), ('n15075141, Toilet_tissue', 0.0), ('n02317335',​​ 'starfish', 0.0), ('n02389026, sorrel', 0.0), (' n02364673', '几内亚猪', 0.0)]]

我的代码有什么问题吗?

我的代码是:

0 投票
1 回答
3494 浏览

tensorflow - 如何微调现有的 TensorFlow 对象检测模型以识别其他类?

感谢 Google 提供了一些带有 tensorflow API 的预训练模型

我想知道如何通过向模型添加新类来重新训练上述存储库中可用的预训练模型。例如,经过训练的 COCO 数据集模型有 90 个类别,我想在现有的类别中添加 1 或 2 个类别,从而得到一个 92 类别的对象检测模型。

本地运行由存储库提供,但它完全用新训练的类替换了那些预训练的类。在那里,只提到了 train 和 eval。

那么,有没有其他方法可以重新训练模型并得到 92 个类?