问题标签 [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 回答
702 浏览

python - TensorFlow:针对当前模型中的损失进行预训练的前向传递

我正在尝试使用在此处找到的 tensorflow 中实现的预训练 FaceNet 模型以便对当前模型的输出运行前向传递,从而在当前模型上产生新的损失。我不想在 FaceNet 模型中训练权重,所以我会tf.stop_gradient()在某个时候利用它。

为了在我当前的图表中添加前向传递,我正在导入整个模型结构,network = importlib.import_module(models.inception_resnet_v1))或多或少遵循链接中的预训练网络的训练方案。因此,在我当前的模型结构中,我添加了如下内容:

然后我通过查看生成数据的 L2 和通过 facenet 推理传递的真实数据来添加我的新损失函数network.inference()

然后在训练中我打电话

但是,我得到了很多这样的输出

我只找到了一种在会话中导入训练模型和调用张量的方法。我需要使用类似的东西直接添加到我的模型结构中network.inference(data,...)。我确信我遗漏了一些明显的东西,但我找不到任何这样的例子。我猜我的问题是:

  1. 我正在导入错误的模型文件或
  2. 我没有指定network需要恢复的特定变量

关于如何解决这个问题的任何想法?

澄清:

  1. 我正在使用版本 tf 1.0
  2. 我正在使用我下载的 ckpt 文件

事实证明,我需要指定网络中需要恢复的特定变量。

Saver 需要指定 var 以指示要恢复的权重。否则,我认为默认情况下会尝试为要训练的模型找到所有可训练的变量权重,但我只需要恢复一个模型。

0 投票
0 回答
87 浏览

machine-learning - TypeError: RunCppShapeInference() 正好需要 5 个参数(给定 6 个)

我收到此错误 TypeError: RunCppShapeInference() 恰好需要 5 个参数(给定 6 个)

在运行预训练的 vgg16 网络时。谁能告诉我是什么问题。

如果名称== "": img = cv2.resize(cv2.imread('glass2.jpg'), (224, 224))

创建模型时出现此错误 model = VGG_16('vgg16_weights.h5')

0 投票
1 回答
608 浏览

tensorflow - 初始添加新层

我想用 1003 个类重新训练初始模型,其中前 1000 个类与 imagenet(初始模型)相同。所以我采用了初始模型并提取了最终的层权重并添加了 3 列。我弹出了最后一层,创建了另一个包含 1003 个类的层,并且我改变了权重,因为前 1000 个类的权重与 inception 相同,但在训练时,准确度从 0 开始,这是我没想到的。出了什么问题?

这是我的代码

0 投票
2 回答
1841 浏览

machine-learning - 高分辨率图像分类

通常像 VGG16 / Inception 等预训练的网络以低于 500px 的低分辨率工作。

是否可以在预训练的VGG16 / Inception的第一层之前添加一个(或两个)高分辨率卷积层,以使网络能够消费高分辨率图片?

据我所知 - 第一层最难训练,需要大量数据和资源来训练它。

我想知道是否可以冻结预训练网络并仅在平均 GPU 卡和大约 3000 个示例上训练新附加的高分辨率层?能在几个小时内完成吗?

此外,如果您知道如何使用高分辨率图像进行图像分类的任何示例,请分享链接。

附言

通常的缩小方法的问题在于,在我们的例子中,微小的裂缝或微小的污垢点等微小的细节非常重要,它们在较低分辨率的图像上会丢失。

0 投票
3 回答
2279 浏览

optimization - TensorFlow 加载预训练模型使用不同的优化器

我想加载一个预训练模型(由 AdadeltaOptimizer 优化)并继续使用 SGD(GradientDescentOptimizer)进行训练。模型使用tensorlayer API保存和加载:

保存模型:

负载模型:

如果我继续使用 adadelta 进行训练,训练损失(交叉熵)看起来很正常(从加载模型的接近值开始)。但是,如果我将优化器更改为 SGD,训练损失将与新初始化的模型一样大。

model-xxx.npztl.files.save_npz. 它仅将所有模型参数保存为 ndarray。我不确定优化器或学习率是如何在这里涉及的。

0 投票
0 回答
224 浏览

deep-learning - VGG 19 微调模型能否超越 Inception -V3 微调模型?

我正在使用预先训练和微调的模型进行细胞分类。任何迁移学习模型以前都没有看到这些图像。在这个过程中,我发现微调的 VGG19 模型优于微调的 Inception-V3 模式,尽管这两个模型都是在 ImageNet 数据上训练的。造成这种差异的原因是什么?是因为模型架构吗?

0 投票
1 回答
116 浏览

tensorflow - 开放图像预训练模型的图形文件在哪里?

我需要预训练的 openimages 数据集的图形文件(.pb 文件)。下载模型后只有3个文件

在哪里可以找到 .pb 文件?

0 投票
1 回答
1658 浏览

python-2.7 - 使用 theano 后端将 Alexnet 权重加载到 keras 模型中

我正在使用预训练模型,例如 Alexnet,在这种情况下,也会出现相同的错误。

我从这里下载了 alexnet_weights--> https://github.com/heuritech/convnets-keras

然后我像这样尝试

从 keras.models 导入 load_model

base_model=load_model('alexnet_weights.h5')

我结束了

ValueError:在配置文件中找不到模型。

请帮我摆脱它。

0 投票
2 回答
1714 浏览

tensorflow - 如何在 tensorflow attention_ocr 上运行预训练模型?

我已经设法在我的数据上训练attention_ocr,我现在正在尝试进行推理运行(tensorflow 版本 1.2.1)。

我根据 git README 中提到的内容使用以下代码来使用预训练模型,但我总是得到一个重复字符列表,每次运行都会发生变化(如 [38,38,38...] ) . 这显然是错误的,因为根据训练期间对测试集的评估,我的字符准确率应该在 90% 以上!

以前有人试过吗?或者有人可以为我提供一些修复它的提示吗?

0 投票
1 回答
319 浏览

tensorflow - 如何为新类别重新训练 Inception 的最后一层

我在TF Retrain Inception上使用了再训练示例进行 inception,但如果我尝试对图像进行分类,则会出现错误。我使用了以下代码 - 分类代码是错误的还是我的内存分配有问题?

错误信息: