问题标签 [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.
tensorflow - 将行聚合到 tensorflow 变量中
我有一个 tf.Variable 张量,它应该作为结果聚合器工作。
这个想法是我将使用批量数据对图执行操作,并且结果应该作为新行附加到我的结果变量中。
因为一开始变量应该是空的,所以我这样初始化它:
然后,我所做的是沿轴 0 连接新行(作为新行):
最后,我重新分配变量:
但是,当所有这些都运行时,我收到以下错误:
你们能帮我找出我做错的明显事情吗?
谢谢!
tensorflow - Tensorflow SLIM:特征提取
我想使用 Tensorflow 提取一个苗条的 Inception v4 的特征,几个小时后试图找出问题所在,这就是我。
我收到以下错误:
当我不将代码分解为函数时,一切似乎都在工作。有人能看到我在这里做错了吗?
非常感谢!
tensorflow - 寻找跨多个 GPU 训练的 tf slim 代码示例
我正在寻找实现跨多个 GPU 训练的 tf slim 代码示例。
具体来说:1)如何在多个 GPU 之间分配工作负载?2)在变量共享/范围方面我需要注意什么吗?3)我需要做些什么来从检查点恢复变量吗?
我在 Stack Overflow 和 github 上搜索了示例,但似乎找不到任何示例(只是更多问题)。但是,如果这已经在某个地方得到了回答,我深表歉意 - 如果您指出我正确的方向,我将不胜感激。
谢谢大家!
python - 无法在 Google Cloud 中训练我的 TensorFlow 检测器模型
我正在尝试根据 Tensorflow 示例和这篇文章训练我自己的检测器模型。我确实成功地在 Macbook Pro 上进行了本地培训。问题是我没有 GPU 并且在 CPU 上执行它太慢(每次迭代大约 25 秒)。
这样,我尝试按照教程在 Google Cloud ML Engine 上运行,但无法使其正常运行。
我的文件夹结构如下所述:
我从本地培训更改为 Google Cloud 培训的步骤是:
- 在谷歌云存储中创建一个存储桶,并复制我的本地文件夹结构和文件;
- 编辑我的
pipeline.config
文件并将所有路径从 更改Users/dev/detector/
为gcc://bucketname/
; - 使用教程中提供的默认配置创建一个 YAML 文件;
跑
gcloud ml-engine 作业提交训练 object_detection_
date +%s
\ --job-dir=gs://bucketname/models/train \ --packages dist/object_detection-0.1.tar.gz,slim/dist/slim-0.1.tar.gz \ --module-name object_detection.train \ --region us-east1 \ --config /Users/dev/detector/training/cloud.yml \ -- \ --train_dir=gs://bucketname/models/train \ - -pipeline_config_path=gs://bucketname/data/pipeline.config
这样做会给我来自 MLUnits 的以下错误消息:
副本 ps 0 以非零状态 1 退出。终止原因:错误。回溯(最后一次调用):文件“/usr/lib/python2.7/runpy.py”,第 162 行,在 _run_module_as_main “__main__”,fname,loader,pkg_name)文件“/usr/lib/python2.7/ runpy.py”,第 72 行,在 run_globals 文件中的 _run_code 执行代码“/root/.local/lib/python2.7/site-packages/object_detection/train.py”,第 49 行,从 object_detection 导入培训师文件“/ root/.local/lib/python2.7/site-packages/object_detection/trainer.py”,第 27 行,从 object_detection.builders import preprocessor_builder 文件“/root/.local/lib/python2.7/site-packages/ object_detection/builders/preprocessor_builder.py”,第 21 行,在 from object_detection.protos import preprocessor_pb2 文件“/root/.local/lib/python2.
提前致谢。
tensorflow - 嵌套参数范围
我需要帮助来理解 TensorFlow 中的这个嵌套参数范围:
我所理解的是,外部级别的范围适用于函数
内层作用域是做什么的?
tensorflow - 排除 slim.assign_from_checkpoint 搜索 Momentum 变量
我正在尝试使用Momentum Optimizer微调 vgg_16模型。为此,我使用了这里的预训练模型。
在微调之前,我从模型中分配变量值如下,
请注意,我不排除vgg_16/*/*/Momentum
变量。因此我收到一个错误,
正如预期的那样。
我的问题是在排除列表中包含所有 Momentum 变量非常麻烦(示例)。有没有更聪明的方法来排除动量变量?
这很重要,因为对于 resnet 等大型模型,手动输入排除项是不可能的。
先感谢您!
tensorflow - Tensorflow slim 评估循环,如何计算检查点的准确性?替代流式指标?
我正在使用slim.evaluation.evaluation_loop
一个单独的过程来评估我训练的模型。为了获得我使用的指标更新操作streaming metrics
。我的代码看起来像,
我的问题是,在使用 时streaming metrics
,Tensorflow 会不断累积指标。这意味着更早的检查点准确性也被考虑在内。如果我们需要评估一个特定的检查点,这是不对的。
在这个解释的设置中,有没有办法在每个时代之后重置评估精度?
streaming_metrics
或者,除了解决这个问题,还有其他度量计算方法吗?
先感谢您!
tensorflow - 在同一台机器上运行训练和评估的最佳实践是什么?
我想做的事?
我只有一台机器。
我想定期评估模式。
我现在有什么?
使用占位符。假设我通过提供训练数据运行 1000 步训练。然后我输入验证数据集进行评估。把它放在一个循环中。
但正如谷歌所建议的那样,占位符并不是长期训练的好方法。
所以,我使用 slim 数据集来输入数据。现在,该模型与训练数据集绑定,如下所示:
我必须构建另一个与验证数据集绑定的模型(在另一个图中)。
有没有更好的方法来做到这一点?
python - 解释张量板图
我还是新手,tensorflow
我正试图了解在我的模型训练进行时发生的细节。简而言之,我正在使用经过预训练的slim
模型对ImageNet
我finetuning
的数据集进行处理。以下是从 tensorboard 中提取的 2 个独立模型的一些图:
到目前为止,这两个模型在验证集上的结果都很差(平均 Az(ROC 曲线下的面积)= 0.7Model_1
和 0.79 Model_2
)。我对这些图的解释是,小批量的权重没有变化。只是小批量的偏差会发生变化,这可能是问题所在。但我不知道在哪里可以验证这一点。这是我能想到的唯一解释,但考虑到我仍然是新手,这可能是错误的。你能和我分享你的想法吗?如果需要,请毫不犹豫地要求更多地块。
编辑: 正如您在下面的图中看到的那样,权重似乎几乎没有随着时间的推移而变化。这适用于两个网络的所有其他权重。这使我认为某处存在问题,但不知道如何解释。
EDIT2: 这些模型首先在 ImageNet 上训练,这些图是在我的数据集上微调它们的结果。我正在使用一个包含 19 个类的数据集,其中包含大约 800000 张图像。我正在做一个多标签分类问题,我使用 sigmoid_crossentropy 作为损失函数。班级高度不平衡。在下表中,我们显示了 2 个子集(训练、验证)中每个类的存在百分比:
超参数的值:
关于层的稀疏性,以下是两个网络的层稀疏性的一些示例:
EDITED3:这是两个模型的损失图: