问题标签 [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.
tensorflow - 是否可以在苗条训练期间显示分类错误和连续错误?
我不仅想观察应该在训练期间优化的连续错误,还想观察训练期间另一个不可区分的指标(如 top1 或 top5 分类错误)。可能吗?
例子:
我需要的只是重新定义train_step_fn并传递给[train_op, another_loss]的slim.learning.train数组
python - 使用 tf.slim 进行多 GPU 训练比单 GPU 需要更多时间
我正在使用 tf.slim 的train_image_classifier.py脚本在 CIFAR10 数据集上微调 ResNet50:
对于 3k 步,在单个 GPU(Tesla M40)上运行大约需要 3000 万,而在 4 个 GPU 上运行需要 50+ 百万。(两种情况下的准确度相似:~75% 和~78%)。
我知道多 GPU 设置延迟的一个可能原因是加载图像,但在 tf.slim 的情况下,它使用 CPU。关于可能是什么问题的任何想法?谢谢!
python - 两个张量流初始模型“inception_v3_2016_08_28.tar.gz”和“classify_image_graph_def.pb”有什么区别?
我已经尝试了两种用于转移学习的 tensorflow 模型。模型是
- inception_v3_2016_08_28.tar.gz - 来自tensorflow-models
- classify_image_graph_def.pb - 附带 tensorflow image_retraining 代码。
但我得到的结果完全不同。第二个模型比第一个模型表现得更好。是预期的吗?第一个模型的准确率为 57%,而第二个模型的准确率为 80%。
第一个模型是检查点文件。对于迁移学习,我已将检查点文件转换为 protobuf 文件。然后使用 tensorflow 附带的 python 代码 retrain.py 进行再训练。以下代码用于将检查点文件转换为 protobuf 文件。
tensorflow - TensorFlow-Slim 多 GPU 训练
我正在使用 TensorFlow-Slim。我的目标是在多 GPU 模式下运行给定的标准脚本(位于 /models/slim/scripts)。我已经测试了finetune_resnet_v1_50_on_flowers.sh 脚本(克隆于 2017 年 4 月 12 日)。我刚刚在培训部分的末尾添加了 --num_clones=2 (灵感来自 /slim/deployment/model_deploy_test.py 和以前的 StackOverflow 答案):
来自部署/model_deploy_test.py 的代码:
我有一个警告(“忽略设备规范”):
GPU 运行正常(内存使用和 GPU 利用率),但与单个 GPU 训练相比,训练速度并不快。
此问题可能与:https ://github.com/tensorflow/tensorflow/issues/8061
我很高兴收到您对此问题的回答、意见或具体建议。
CUDA版本:发布8.0、V8.0.53
TensorFlow 从二进制安装,经过测试的版本:1.0.1 和 1.1.0rc
GPU:英伟达 Tesla P100 (SXM2)
python - TF-Slim:计算精度
我正在使用 TensorFlow-Slim,并在 eval_image_classifier.py(位于 /models/slim/)中添加了一些代码行,用于计算 TP、TN、FP 和 FN。但是,计算精度 = (TP + TN) / (TP + FP + FN + TN) 不等于 slim.metrics.streaming_accuracy(predictions, labels) 给出的精度。
我已经从这里更改了标准代码:
...对此:
输出:
我已经测试了finetune_resnet_v1_50_on_flowers.sh 脚本(位于/models/slim/scripts),没有进行任何更改(克隆于2017 年4 月12 日)。
我找不到我的错误。我很高兴收到您对此问题的回答、意见或具体建议。
CUDA版本:发布8.0、V8.0.53
TensorFlow 从二进制安装,经过测试的版本:1.0.1 和 1.1.0rc1
GPU:英伟达 Tesla P100 (SXM2)
python - 不知道为什么我的 tensforflow 的 build_image_data.py 脚本不起作用
我正在尝试将一组 jpg 图像转换为 TFRecord,以便在 Tensorflow 中与 CNN 一起使用。我正在使用来自此处的脚本 build_image_data.py:
https://github.com/tensorflow/models/blob/master/inception/inception/data/build_image_data.py
我创建了一个验证目录和一个训练目录,以及一个带有适当标签的 labels.txt 文件。我使用 jupyter notebook 运行脚本(我也尝试过通过命令行),并将 tf.app.flags.DEFINE_string 参数更改为适当的目录/文件名。当我运行它时,我收到以下错误:
有什么线索吗?我从包含我的验证和培训文件夹的同一目录运行脚本。谢谢。
编辑:尝试使用完整路径,但仍然出现相同的错误。这是代码的相关部分,我确定这是我的一些简单错误。
tensorflow - 使用预训练的 ResNet V2 模型创建 Slim 分类器
我正在尝试创建一个图像分类器,该分类器利用 slim 文档中提供的预训练 ResNet V2 模型。
这是到目前为止的代码:
问题是我不断收到此错误:
所以似乎 TF/Slim 无法找到任何变量,当我打电话时,这一点很清楚:
因为它输出一个空数组。
如何使用预训练模型?
tensorflow - 如何使用不同的可训练变量从 Inception-3 检查点恢复训练
我有一个非常常见的用例,即冻结 Inception 的底层并只训练前两层,之后我降低学习率并微调整个 Inception 模型。
这是我运行第一部分的代码
它运行正常,然后是我运行第二部分的代码
请注意,在第二部分中,我没有将任何内容传递给create_train_op
'svariables_to_train
参数。然后显示此错误
我怀疑它正在寻找不存在的 InceptionV3/Conv2d_4a_3x3 层的 RMSProp 变量,因为我没有在前一个检查点训练该层。我不确定如何实现我想要的,因为我在文档中看不到有关如何执行此操作的示例。
python - II 如何用现有模型的值初始化 slim.conv2d() 中的权重
我slim.conv2d
用来设置 VGG-net
如果我想初始化现有 VGG 模型的变量conv1
或conv2
来自现有 VGG 模型的变量。
我该怎么做?
tensorflow - TF-slim : FIFOQueue 已关闭且元素不足(请求 1,当前大小 0)
我试图使用 slim 来制作我自己的数据集并读入它。当我试图读入它时,我收到以下错误:
raise type(e)(node_def, op, message) tensorflow.python.framework.errors_impl.OutOfRangeError: FIFOQueue '_2_parallel_read/common_queue' is closed and has enough elements (requested 1, current size 0) [[Node: parallel_read/common_queue_Dequeue = QueueDequeueV2component_types=[DT_STRING, DT_STRING], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"]] [[Node: case/If_2/DecodePng/_117 = _Recvclient_terminated=false , recv_device="/job:localhost/replica:0/task:0/gpu:0", send_device="/job:localhost/replica:0/task:0/cpu:0", send_device_incarnation=1, tensor_name=" edge_12_case/If_2/DecodePng", tensor_type=DT_UINT8, _device="/job:localhost/replica:0/task:0/gpu:0"]]
由操作 u'parallel_read/common_queue_Dequeue' 引起,定义在:
OutOfRangeError(参见上面的回溯):FIFOQueue '_2_parallel_read/common_queue' 已关闭且元素不足(请求 1,当前大小 0)[[节点:parallel_read/common_queue_Dequeue = QueueDequeueV2component_types=[DT_STRING,DT_STRING],timeout_ms=-1,_device ="/job:localhost/replica:0/task:0/cpu:0"]] [[节点:case/If_2/DecodePng/_117 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task :0/gpu:0", send_device="/job:localhost/replica:0/task:0/cpu:0", send_device_incarnation=1, tensor_name="edge_12_case/If_2/DecodePng", tensor_type=DT_UINT8, _device=" /job:localhost/replica:0/task:0/gpu:0"]]
正如我所想的那样,Fifo 队列似乎是空的(未填充)......
有人知道 slim 的哪个部分负责填充 FiFO 吗?这是我尝试的代码: