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

tensorflow - 如何在 tensorflow 中的自定义操作/层之后添加 slim.batch_norm?

我有一个旨在构建架构的功能

所以,我的功能是

我对吗?我可以is_training像上面的函数那样设置吗?如果没有,你能帮我解决吗?

0 投票
2 回答
409 浏览

tensorflow - 张量流中的混淆矩阵顺序

我有 6 个类,我在 Tensorflow 中使用 tf-slim 来获得混淆矩阵,例如

我的问题是上表的混淆矩阵顺序是什么?如果我说列代表预测标签,而行代表真实标签,对吗?一些参考在对面说。

0 投票
1 回答
390 浏览

performance - Keras/Tf-slim 和原生 Tensorflow 的性能比较?

我有一个网络,我正在选择要实现的框架:Keras、Tf-Slim 或 Tensorflow。

我的问题是,当我们使用 Keras/Tf-slim 而不是原生 Tensorflow 时,性能(准确度)会降低吗?我发现当我们使用 Keras 时,时间可能会更短(Native TF vs Keras TF 性能比较),但是性能呢?

0 投票
1 回答
344 浏览

tensorflow - Tf-slim 中的 variables_to_train 标志

我正在使用 TF-Slim 从预训练模型微调我的模型。使用的时候create_train_op发现它有一个参数是variables_to_train。在某些教程中,它使用如下标志:

但是在官方的TF-Slim中,并没有使用

那么,使用和不使用有什么不同variables_to_train呢?

0 投票
0 回答
220 浏览

python - tf_debug 真的支持 slim 吗?

我写了以下代码:

运行代码时,它报告:

即使它可以启动 tf 调试器,当试图打印一个张量的值时,即 pt 命令,它也报告了错误:

处理命令时出错:“print_tensor”异常。KeyError /device:CPU:0

tf_debug 有没有可能真正支持 slim?如何解决?如果没有,在使用 tf.contrib.slim.learning.train 时,还有其他方法可以调试或打印张量的值吗?

0 投票
0 回答
507 浏览

tensorflow - Inception_v3 微调:运行模型失败:未找到:FeedInputs:找不到提要输出输入

我正在尝试微调 inception_v3 模型以减少自定义类的数量。我按照示例脚本finetune_inception_v3_on_flowers.sh重新训练模型。重新训练脚本生成的 .data、.meta 和 .index 文件列表。我还可以使用 freeze_graph 实用程序从这些检查点文件中生成 .pb 文件。

我使用以下命令冻结图形

在我尝试使用 label_image 实用程序测试我的模型之前,一切似乎都很好。重新训练的模型似乎没有输入层,label_image 实用程序给了我以下错误,

summarise_graph 输出确认相同,它的输出是,

我遇到了类似的问题,但我不太清楚建议的解决方案。我对 ML 和 tensorflow 非常陌生,我也无法对原始问题发表评论。我不确定在哪里可以添加输入层,以便可以在生成的 pb 文件上运行 label_image。非常感谢任何帮助或指示。谢谢你。

0 投票
1 回答
2456 浏览

tensorflow - 在“slim.learning.train()”期间如何运行验证循环

我正在查看此答案以在训练期间运行评估指标:

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

似乎压倒一切train_step_fn=train_step_fn是合理的方法。但我想运行一个验证循环,而不是评估。我的图表是这样的:

我想添加类似这样的内容,以针对网络的当前权重进行小批量验证循环

但我得到一个错误=Graph is finalized and cannot be modified.

从概念上讲,我不确定应该如何添加它。training循环需要网络的梯度、丢失和权重更新,但循环validation跳过了所有这些。Graph is finalized and cannot be modified.如果我尝试修改图表或XXX is not defined使用if is_training: else:方法,我会不断变化

0 投票
0 回答
338 浏览

python - 使用 TF-Slim NASNet 模型重现 CIFAR-10 的结果

我想使用https://github.com/tensorflow/models/tree/master/research/slim中的 TF-Slim 实现在 CIFAR-10 上重现 NASNet 模型的结果以用于某些基准测试。为了从头开始训练这个模型,我train_image_classifier.py按照脚本注释(第 31-37 行)中的说明在原始代码中添加了以下几行/nets/nasnet/models.py

在第 247 行之后

在第 536 行之后

下载 CIFAR-10 数据并将其转换为 TFRecord 格式后,我运行:

似乎即使在 600 个 epoch(= 937500 步)之后训练仍在继续,尽管由于余弦衰减,由于学习率在 600 个 epoch 后变为 0,因此参数没有更新。运行评估脚本:

我得到以下结果:

因此,一次运行的测试误差为 4.23%,这与Learning Transferable Architectures for Scalable Image Recognition中提供的任何结果都不对应。这里有什么我遗漏的东西,阻止我匹配论文结果吗?

0 投票
1 回答
379 浏览

tensorflow - 为什么我必须从 `tf.train.batch()` 重塑 `inputs` 才能与 `slim.fully_connected() 一起使用?

为什么我会收到此错误slim.fully_connected()

ValueError: Input 0 of layer fc1 is incompatible with the layer: : expected min_ndim=2, found ndim=1. Full shape received: [32]

我的输入Tensor("batch:0", shape=(32,), dtype=float32)来自tf.train.batch()

如果我重塑输入(32,1)它的工作正常。

苗条演练中的示例似乎在没有明确重塑之后就可以工作load_batch()

0 投票
2 回答
638 浏览

python - 如何在 Tf SLIM 中加载保存的检查点

我正在使用 TF-slim 来训练我自己的数据集。根据教程,在finetune_inception_v1_on_flowers.sh中,我将检查点路径设置为./inception_resnet_v2.ckpt,并在另一个文件夹中获取了很多新的检查点,最新的文件是model.ckpt-332331.data-00000-of -00001,model.ckpt-332331.index,model.ckpt-332331.meta。

现在我想将学习率更改为微调最新的检查点,但我不知道如何在finetune_inception_v1_on_flowers.sh 中加载它们,因为有3个文件而不是一个。

NotFoundError(请参阅上面的回溯):检查点中未找到 Key InceptionResnetV2/AuxLogits/Conv2d_1b_1x1/weights/Adam [[Node: save/RestoreV2_4 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/任务:0/cpu:0"](_recv_save/Const_0,保存/RestoreV2_4/tensor_names,保存/RestoreV2_4/shape_and_slices)]]

其次,我从日志目录中删除了文件,然后错误是:

DataLossError(有关回溯,请参见上文):无法打开表文件 /media/re/7A308F7E308F405D/xsj/checkpoints/model.ckpt-332331.data-00000-of-00001:数据丢失:不是 sstable(坏幻数):也许您的文件是不同的文件格式,您需要使用不同的还原操作符?[[节点:save/RestoreV2_5 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_recv_save/Const_0, save/RestoreV2_5/tensor_names, save/恢复V2_5/shape_and_slices)]]

谁能帮我解决这个问题?非常感谢!