【问题标题】:Tensorflow: Fine tune Inception modelTensorflow:微调 Inception 模型
【发布时间】:2017-02-22 08:06:06
【问题描述】:

这几天我都在按照这里的说明进行操作:https://github.com/tensorflow/models/tree/master/inception 用于微调初始模型。问题是我的数据集很大,因此将其转换为 TFRecords 格式会填满我的整个硬盘空间。有没有不使用这种格式的微调方法?谢谢!

【问题讨论】:

  • 我发现我唯一需要的是图像和标签,我可以在没有 TFRecords 格式的情况下获取它们,但是我没有强大的 GPU 来运行代码所以我不知道那是不是正确的。我们将不胜感激。
  • 嘿@chrisrn github 链接坏了

标签: python machine-learning tensorflow deep-learning


【解决方案1】:

微调与数据格式无关;你在那里很好。 TFRecords 提升训练和评分速度;它不应该影响所需的迭代或 epoch 的数量,也不应该影响最终的分类精度。

【讨论】:

  • 谢谢。我会看到在强大的 GPU 上运行我的代码的结果。
  • 我无法理解批次在训练期间的每次迭代中是如何变化的。我唯一得到的是扭曲是在一个批次上实现的。你能帮我吗?谢谢。
  • 数据摄取例程每次迭代都会更改批次(选择不同的输入文件)。这是框架为您所做的一部分。您可以对旋转进行一些控制:按照规范的原始顺序,或者打乱。无论如何,每个图像每个时期都会包含一次。你问的是这个吗?
  • 是的,但我无法准确理解批次更改。我看到在文件 image_processing.py 中有随机洗牌。它是从 batchnorm_updates 实现的吗?无论如何,我没有使用 TFR,所以我将图像和标签定义为占位符,并制作了一个函数来在每次迭代中获取随机批次,所以我认为这种技术是有效的。
  • 我还不熟悉 TF 内部结构,所以我不知道例程名称。我希望旋转在输入流中,而不是在我们更新批量标准化的地方。无论如何,如果测试准确度对您来说进展顺利,那么我希望您在“原始风味”图像集方面做得很好。它只会比 TFR 版本慢。
【解决方案2】:

您可以在不将数据转换为 tfrecord 的情况下训练任何模型。 Here 有一个很好的要点可以通过直接读取 jpg 文件来微调 VGG。您可以将超薄架构更改为 Inception 架构,您应该没问题!

在当前配置中,您的数据集必须分为训练和测试文件夹,类作为子文件夹。但是您可以将其更改为您想要的任何内容。

与使用 tfrecords 的代码相比,我没有发现代码速度有任何巨大差异。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    • 1970-01-01
    • 2016-11-20
    • 2018-09-03
    • 2019-01-22
    相关资源
    最近更新 更多