问题标签 [tf-slim]

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 投票
1 回答
639 浏览

tensorflow - 使用预训练 (Tensorflow) CNN 对图像进行分类

我已经在自己的数据集上训练了 alexnet_v2,现在想在另一个应用程序中使用它。这应该很简单,我已经尝试以多种方式实现它,但是要么我遇到无法解决的错误,要么(在下面的代码的情况下)它无限期地挂起。

理想情况下,我希望在 C++ 中使用它(但是 C++ API 似乎不可靠,或者至少在很多地方都有过时的文档,所以 python 是可以接受的),我想对大量图像进行分类(例如:提供该程序包含 80 张动物图像,并返回其中是否有一只猫)。

我是否使用下面的代码以正确的方式解决这个问题?如果是这样,我该如何解决。

如果没有,有没有更好的方法的工作示例?

非常感谢。

编辑:以粗体添加行后,程序不再挂起。但是我收到一个占位符错误:

InvalidArgumentError:您必须使用 dtype 字符串 [[Node: Placeholder = Placeholderdtype=DT_STRING, shape=[], _device="/job:localhost/replica:0/task:0/cpu:0 为占位符张量“Placeholder”提供一个值"]]

我已经仔细检查了拼写,据我所知,我输入正确。怎么了?

0 投票
1 回答
920 浏览

tensorflow - TF-Slim:(不合理?)内存不足

我正在尝试运行 TF SLIM 中的教程之一,您可以在其中使用 Inception-V3 (~104Mb) 微调花数据集。GPU 有大约 2Gb 的内存。当我的批量大小超过 8 时,我会收到一个错误,因为 GPU 内存不足。事实上,我似乎收到了几条消息,每条看起来像:

现在,很可能是我的 GPU 没有足够大的 RAM。但是,2GB 似乎足以加载 ~100Mb 模型。此外,使用 Caffe,我可以毫无问题地微调 Alexnet (~400Mb)。此外,我还尝试允许 GPU 增长(根据我对使用系统 RAM 的理解)

但这似乎没有帮助。

你知道如果

a) 我做错了 b) GPU 不够大 c) TF Slim 通过构建太多内存消耗

?

谢谢,

0 投票
1 回答
2677 浏览

tensorflow - tf.contrib.slim.get_variables_to_restore() 不返回值

运行以下代码 tf.contrib.slim.get_variables_to_restore() return empty value [] for all_vars,然后在调用 tf.train.Saver 时导致失败。详细错误消息如下所示。

我错过了什么吗?

0 投票
0 回答
401 浏览

tensorflow - 在仅具有 CPU 的多台机器上使用 tensorflow slim 训练 Inception V3

我正在尝试使用 tf-slim 库来使用多台没有 GPU 的机器来训练 Inception V3。

我正在关注这里给出的教程:https ://github.com/tensorflow/models/tree/master/slim 。我可以使用仅一台 CPU 的机器进行训练,但我正在尝试弄清楚如何使用多台机器进行训练。它在页面中提到:

此过程可能需要几天时间,具体取决于您的硬件设置。为方便起见,我们提供了一种在多个 GPU 和/或多个 CPU 上同步或异步训练模型的方法。有关详细信息,请参阅 model_deploy

我不知道如何使用model_deploy来训练使用多台机器,也找不到任何示例。

如何使用model_deploy来训练使用多台机器?

提前致谢!

0 投票
1 回答
966 浏览

tensorflow - 在 Tensorflow 中重用层权重

我正在使用 tf.slim 来实现自动编码器。我与以下架构完全卷积:

它必须是完全卷积的,我不能进行池化(更大问题的限制)。我想使用捆绑的重量,所以

(所以第一个解码器层的权重是最后一个编码器层的权重,转置)。

如果我以常规方式重用权重 tfslim 让您重用它们,即reuse = True 然后只提供您想要重用的层的范围名称,我会遇到大小问题:

如果您不转置先前模型的权重,这是有道理的。有谁知道我如何转换这些权重?

PS:我知道这是非常抽象和挥手的,但我正在使用自定义 api,在 tfslim 之上,所以我不能在这里发布代码示例。

0 投票
0 回答
1409 浏览

tensorflow - slim.conv2d 似乎不尊重重用标志

如果我理解variable_scope正确,那么下面的代码应该会引发错误:

因为reuse设置为True. 但是,事实并非如此。我也试过:

只是为了确定,它也没有抛出错误。

最后,我预计以下代码会引发错误,因为reuse设置为False

但是,它也没有抛出错误,它只创建了一组权重和偏差。

我是否误解了 的预期行为reuse

0 投票
1 回答
4314 浏览

python - 使用预训练的 Inception_v4 模型

https://github.com/tensorflow/models/tree/master/slim

这为 Inception v1-4 预训练模型的检查点提供了下载链接。但是,tar.gz 仅包含 .ckpt 文件。

在使用 Inception v3 2012 [此链接]的教程中,tar.gz 包含用于分类的 .pb 和 .pbtxt 文件。

如何仅使用 .ckpt 文件生成相应的 .pb 和 .pbtxt 文件?或者是否有任何使用 .ckpt 文件进行分类的替代方法?

0 投票
1 回答
882 浏览

python - InceptionV4 和 V2 在“花数据集”上的准确率低于 InceptionV1

我正在使用以下代码在 InceptionV1 上训练花卉数据集。此处提供此代码

我使用以下代码评估了模型,得到了 58.34% 的准确率

除了配置检查点和训练目录外,我只是将代码中的“V1”替换为“V2”和“V4”,并训练了模型。

首先,对于所有 100 次迭代,“V2”和“V4”的训练损失始终保持在 4% 左右。其次,“V2”和“V4”的评估准确率都在 25% 左右

我是 TF 的新手,所以这里肯定缺少一些东西,我做错了什么?

0 投票
1 回答
1053 浏览

tensorflow - 如何训练 inception v3 模型进行多标签分类?

我正在尝试建立一个模型来检测图像中的多个属性。

我正在使用预训练的 inception V3 模型。我知道我们必须将最终的 softmax 层更改为 sigmoid。

我正在按如下方式加载模型:

现在如何将 softmax 层更改为 sigmoid?

0 投票
2 回答
1336 浏览

tensorflow - 如何在 TF-Slim 的 eval_image_classifier.py 中获取错误分类的文件?

我正在使用 TF-Slim 附带的脚本来验证我的训练模型。它工作正常,但我想获得错误分类文件的列表。

该脚本使用https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/slim/python/slim/evaluation.py但即使在那里我也找不到打印错误分类文件的任何选项。

我怎样才能做到这一点?