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

tensorflow - 使用 tensorfow.slim.learning 进行多 GPU 训练

tensorflow.contrib.slim 中的新学习模块看起来很有前途: https ://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/slim/python/slim/learning.py 我正在尝试弄清楚如何在我只有一个工作节点但上面有多个 GPU 的配置上使用这个新模块重现 CIFAR 10 多 GPU 示例(或 ImageNet 示例)。

0 投票
1 回答
1302 浏览

tensorflow - 关于 tf.contrib.slim 数据准备文档

我花了很多时间来了解如何准备我的数据以输入 Slim Net。但我仍然无法安静地理解如何准备我的训练数据。有没有更详细的处理训练数据的方法,比如 Caffe ImageNet 教程:http ://caffe.berkeleyvision.org/gathered/examples/imagenet.html

0 投票
1 回答
4847 浏览

tensorflow - 如何在 TensorFlow-Slim 中使用正则化?

我想在我的代码中使用正则化。我使用 slim 来创建 conv2d,如下所示:

如何为此添加正则化?以及如何使用它来规范我的损失?

0 投票
3 回答
5302 浏览

tensorflow - 带有 is_training True 和 False 的 Tensorflow (tf-slim) 模型

我想在训练集(is_training=True)和验证集(is_training=False)上运行给定的模型,特别是如何dropout应用。现在,预建模型公开了一个参数is_training,该参数在构建网络时传递给该dropout层。问题是,如果我用不同的值调用该方法两次is_training,我将得到两个不共享权重的不同网络(我认为?)。如何让两个网络共享相同的权重,以便我可以运行我在验证集上训练过的网络?

0 投票
1 回答
676 浏览

tensorflow - 打印 Tensorflow (tf-slim) 模型的文本表示

有没有办法按照nolearn 提供的方式打印 tf-slim 模型的文本表示:

编辑:

我可以使用这样的东西来打印给定层的信息:

我需要完成表格,以某种方式爬行或走上“层堆栈”(即从给定层到传入/输入层)。

0 投票
2 回答
1485 浏览

tensorflow - slim.learning.train 的两个训练操作(TensorFlow、TF-Slim)

一些架构需要两个或更多的训练操作(例如,在 GAN 中,您需要训练生成器和判别器)。如何使用 TF-Slim 训练功能实现这一目标?据我所见, slim.learning.train 只需要一个训练操作。

0 投票
3 回答
5726 浏览

tensorflow - 如何在 tf-slim 中使用evaluation_loop和train_loop

我正在尝试实现一些不同的模型并在 CIFAR-10 上训练它们,我想使用 TF-slim 来做到这一点。看起来 TF-slim 有两个在训练期间很有用的主要循环:train_loop 和 evaluation_loop。

我的问题是:使用这些循环的规范方法是什么?作为后续行动:是否可以使用 train_loop 提前停止?

目前我有一个模型,我的训练文件 train.py 看起来像这样

到目前为止真是太棒了——我的模型都很好地训练和收敛。train_log_dir我可以从所有指标都朝着正确方向发展的事件中看到这一点。朝着正确的方向前进让我很开心。

但我想检查验证集上的指标是否也在改进。我不知道有什么方法可以很好地与训练循环配合使用 TF-slim,所以我创建了第二个名为的文件eval.py,其中包含我的评估循环。

问题:

1) 我目前有这个用于评估循环的模型占用了整个 GPU,但它很少被使用。我认为有更好的方法来分配资源。如果我可以使用相同的评估循环来监控多个不同模型的进度(多个目录中的检查点),那就太好了。这样的事情可能吗?

2)评估和培训之间没有反馈。我正在训练大量模型,并且希望使用提前停止来停止未学习或未收敛的模型。有没有办法做到这一点?理想情况下使用来自验证集的信息,但如果它必须仅基于训练数据,也可以。

3)我的工作流程全错了吗,我应该以不同的方式构建它吗?从文档中不清楚如何将评估与培训结合使用。

更新 ~~似乎从 TF r0.11 开始,我在调用slim.evaluation.evaluation_loop. 它只是有时会发生(对我来说,当我将我的工作分派到集群时)。它发生在sv.managed_session--specifically prepare_or_wait_for_session.~~ 这只是由于评估循环(张量流的第二个实例)试图使用 GPU,而 GPU 已经被第一个实例征用。

0 投票
1 回答
6309 浏览

tensorflow - TFSlim - 为 VGG16 加载保存的检查点时出现问题

(1) 我试图通过将预训练的权重加载到除该层之外的所有层来使用 TFSlim 微调 VGG-16 网络fc8。我通过使用 TF-SLIm 函数实现了这一点,如下所示:

只要我不更改num_classesVGG16 模型,这工作正常。我想做的是将num_classes1000 更改为 200。我的印象是,如果我通过定义一个新vgg16-modified类来替换fc8200 输出来进行此修改,(以及variables_to_restore = slim.get_variables_to_restore(exclude=['fc8']) 一切都会好起来的) . 然而,张量流抱怨尺寸不匹配:

那么,如何真正做到这一点呢?TFSlim 的文档非常不完整,并且在 Github 上散布着几个版本 - 所以在那里没有得到太多帮助。

0 投票
0 回答
1204 浏览

tensorflow - 无法冻结 inception v1 (tf-slim) 图

slim walkthrough notebook成功运行所有示例后,我想冻结图表。为了做到这一点,我运行了以下内容(从原始笔记本复制):

上面的代码在 /tmp/inception_finetuned 文件夹中生成了以下文件:

  • 检查点
  • 模型.ckpt-0.meta
  • events.out.tfevents.1478081437.Nikos-MacBook-Pro.local
  • model.ckpt-2 图.pbtxt
  • 模型.ckpt-2.meta 模型.ckpt-0

然后,为了冻结图形,我运行了以下命令:

但是,该命令产生了以下错误:

然后我尝试使用不同的优化器:

并得到以下错误:

同样,如果我重新训练运行以下命令的模型:

并尝试冻结图表,获取与相关的错误

global_step

有谁知道为什么会出现上述错误以及如何解决它们?如果有人设法冻结了 inception v1 (tf-slim) 图,我将不胜感激任何可能解决问题的建议。

0 投票
1 回答
420 浏览

tensorflow - Tensorflow Slim:不同版本的意义

我正在尝试使用 tf slim 库在 inception-v3 模型之上构建模型

tf slim 库使用一个版本' import tensorflow.contrib.slim as slim'

而 inception 模型使用“ from inception.slim import slim

这两个版本都有一些共同的和一些不同的文件集,比如layer.py不存在于 inception.slim 等

  1. 拥有两个版本的库有什么意义?
  2. 两个库的应用有区别吗
  3. inception.slim 包含具有不推荐使用的函数的文件,如tf.op_scopetf.variable_op_scope