问题标签 [tensorflow-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 投票
0 回答
69 浏览

tensorflow - 为什么使用 Tensorflow 的非标准 VGG 实现?

Tensorflow .slim 库实现了 vgg,但用卷积层替换了全连接层。代码位于:

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/slim/python/slim/nets/vgg.py

例如,fc8 层实现为:

这看起来是一个非常不同的操作,权重要少得多。这是什么原因?

0 投票
1 回答
1175 浏览

tensorflow - TensorFlow Object Detection 在同一模型检查点的两次评估中得到不同的结果

我是 tensorflow 的新手,目前正在研究对象检测 API。

我选择 ssd_resnet50_fpn 开始并从 tensorflow 模型动物园下载预训练模型,以使用我自己的数据集进行迁移学习,只有 1 个班级(人)。训练配置是在 pipeline.config 中定义的,该配置是从预训练模型的同一包中的配置修改而来的,我使用旧版 train.py 脚本训练了模型。

训练过程很好,损失按预期减少,并且在进行评估时(通过旧版 eval.py)导出了带有边界框的评估图像。推理很好,那些导出的图像按预期工作。

但是,我发现了一些奇怪的东西,我在同一个模型检查点上得到了不同的评估结果。当我使用相同的参数执行 eval.py 两次时,我发现来自推理的有界框在同一张图像上是不同的。

这是eval.py(coco_detection_metrics)做出的评估结果

第一次

第二次

由于我对mAP不是很了解,但两个结果略有不同。

这是评估期间导出的图像之一,左侧是第一次评估,右侧是第二次评估。

评估期间导出的图像

似乎在推理过程中模型权重发生了变化,我该如何找出问题所在?有没有我错过的配置?

我将 tensorflow 1.10.1 与 python 3.5.2 和来自https://github.com/tensorflow/models的克隆对象检测 API 一起使用,无需更改。

这是我的 pipeline.config:

感谢您的任何建议

0 投票
1 回答
319 浏览

tensorflow - 从 Fast-RCNN 获取特征向量

我正在尝试识别和分组相似的图像,我遵循了本教程:https ://douglasduhaime.com/posts/identifying-similar-images-with-tensorflow.html 。

问题是我使用的是faster_rcnn_resnet_101,我发现fast-rcnn中的特征向量在SecondStageBoxPredictor之后被丢弃了。我使用https://gist.github.com/markdtw/02ece6b90e75832bd44787c03a664e8d在被丢弃之前获取向量。

feat_avg = graph.get_tensor_by_name('SecondStageBoxPredictor/AvgPool:0')

但是,当我尝试保存矢量时出现错误:

我打印了提取的特征向量来查看结果:

我是 TensorFlow 和 CV 的新手,我想做的是提取特征向量,然后使用 TSNE 聚类。我提取的特征向量到底有什么问题

0 投票
1 回答
626 浏览

tensorflow - 将模型优化器用于 tensorflow slim 模型

我的目标是使用英特尔 OpenVINO 优化器推断 tensorflow slim 模型。使用开放的 vino 文档幻灯片进行推理,使用tf slim 文档进行模型训练。

这是一个多类分类问题。我从头开始训练了 tf slim mobilnet_v2 模型(使用 sript train_image_classifier.py)。在测试集上对训练模型的评估给出了相对较好的结果(使用脚本 eval_image_classifier.py)

评估/准确度[0.8017]评估/召回_5[0.9993]

但是,没有保存单个.ckpt文件(即使在 train_image_classifier.py 运行结束时有类似“model.ckpt is saved to checkpoint_dir”之类的消息),而是有 3 个文件(.ckpt-180000.data-00000-of-00001, .ckpt-180000.index, .ckpt-180000.meta)。

OpenVINO 模型优化器需要一个检查点文件。

根据文档,我使用以下参数调用mo_tf.py :

它给出了错误(如果通过 --input_checkpoint D:/model/model.ckpt 则相同):

错误信息很清楚,磁盘上没有这样的文件。但据我所知,大多数 tf 实用程序在后台将 .ckpt-????.meta 转换为 .ckpt。

试图打电话:

原因:

对我来说,将图形转换为 OpenVINO 中间表示的方式并不重要,只需要达到该结果即可。

非常感谢。

编辑

我设法在 tf slim 模型的冻结图上运行 OpenVINO 模型优化器。但是我仍然不知道为什么我之前的尝试(基于文档)失败了。

0 投票
0 回答
282 浏览

python - 运行 CNN 模型 tensorflow 时出现“TypeError:预期的二进制或 unicode 字符串”

我正在尝试训练一个简单CNN model的图像分类方法。我正在尝试对来自 5 个不同类别的图像进行分类。但是在训练时我遇到了这个错误

TypeError:预期的二进制或 unicode 字符串,得到

详细的错误报告可以在这里找到

数据目录结构

data2/train包含 5 个目录,每个类对应 17 个不同分辨率的图像

data2/test包含 5 个目录,对应于每个类有 7 个不同分辨率的图像

完整的代码可以从这里访问

0 投票
1 回答
128 浏览

tensorflow - 如何在 TF:Slim + TF:deeplab 中对预处理前后的图像进行目视检查

我使用tensorflow https://github.com/tensorflow/models/tree/master/research/deeplab我想应用我自己的数据增强

TF:deeplab使用slim作为通用学习框架。

deeplab核心 preprocess_utils 中有 deeplabs 自己的预处理增强。

我想要的只是手动(用我自己的肉眼)在预处理前后查看图像,以获得视觉反馈

我已经尝试获取张量 -> 图像 -> imshow 但它需要会话。在这一点上,我首先想问专家这是否可能,甚至是一个提示......

我直接在代码中插入的每个函数都只被调用一次......即使由于它正在预处理而以某种方式触发所有图像......

最好的jeahinator

0 投票
1 回答
47 浏览

python - 对 tensorflow 对象执行操作时出现 TypeError

以下是代码的简化版本,我在行时遇到错误res = input - var

变量类型

错误

我该如何解决它,任何建议都会有所帮助。

0 投票
0 回答
79 浏览

tensorflow - 为什么将会话参数 is_trainning 设置为 false 到 batchNorm 层时,Tensorflow 分割网络返回空数据?

我正在使用神经网络使用 Tensorflow 进行图像分割。如果slim.batch_norm层的is_traning参数设置为 True ,

则训练阶段和推理运行正常。但是,当我使用is_training作为 false 运行会话时,这意味着(据我所知)只是通过网络推断/转发数据,结果分割图像数据为空。我相信它与 batchNorm 层有关,但我已经对此失去了理智,我就是无法让它工作。


在 TensorFlow 中使用基于 Semantic Segmentation Suite的代码。以下是有效和失败的简化版本。

训练效果很好,网络收敛了……如果我总是将占位符net_training保持为 True,那么一切都很好。

但是我是否调用了 sess.run(model,...net_training: False),正如您在上面的代码中看到的那样,在测试一些图像时输出结果为空。

我做错了什么伙计们?
任何帮助将不胜感激。感谢您的时间。

0 投票
0 回答
357 浏览

keras - 用 tf.contrib.slim 编写的 tf.keras 等效代码块

我正在尝试在 tf.keras 中重新实现研究论文代码,在 init 块中它被写为:

我没有在 normalizer_fn=slim.batch_norm 的 tf.keras.layer.Conv2D 参数中找到等效项。如何在 keras 中实现这一点?

我试过了:

这是否与上述 tf.contrib.slim 代码等效。由于 tf.contrib.slim 的文档有限,我真的很困惑。

0 投票
1 回答
149 浏览

python - 如何在 TF Slim 中限制 GPU 内存使用?

在使用 TF Slim 的 train_image_classifier.py 进行训练时,我想告诉 Slim 只分配它需要的 GPU 内存,而不是分配所有内存。

如果我使用的是直接 TF 而不是 Slim,我可以这样说:

甚至只是为了限制 GPU 内存使用:

我怎样才能告诉 Slim 相同的事情?

我的理解失败是 Slim 似乎使用它自己的循环,我找不到有关配置循环的细节的文档。所以,即使有人可以向我指出优秀的 Slim 文档,那也很棒。

提前致谢!