• google absl.flags库替换操作实践教程


    google absl.flags库替换操作实践教程

    绪论:

    google在object detection(包括tensorflow和其他模块)中大量absl.flags。用此方法,可以不用修改源代码,即可直接方便的读取命令行参数,相当于py进行了一定程度的定制。

    但此方法有两个显著的缺点:

    1. 不兼容windows。测试中表明,路径分隔符 / 和 \ 可能混用,而且不能正确解析,导致文件无法打开。

    2. 无调试功能,更无断点。只能通过大量的print或者log来反馈信息,极为低效。

    思路:改为标准的py,而并非命令行调用。

    步骤:

    1.注释

    #from absl.flags import FLAGS

    2. 定义类

    class FLAGS:

    pass

    3. 可通过以下命令查看当前工作路径:

    import os

    dir=os.getcwd()

    print("dir",dir)

    测试表明,在vs中直接运行py文件是,当前工作路径是项目文件夹。

    4. 注释掉flags.DEFINE_

    例如:

    #flags.DEFINE_string('data_dir', './data/voc2012_raw/VOCdevkit/VOC2012/',

    # 'path to raw PASCAL VOC dataset')

    #flags.DEFINE_enum('split', 'train', [

    # 'train', 'val'], 'specify train or val spit')

    #flags.DEFINE_string('output_file', './data/voc2012_train.tfrecord', 'outpot dataset')

    #flags.DEFINE_string('classes', './data/voc2012.names', 'classes file')

    5. 定义FLAGS成员

    FLAGS.data_dir="./data/voc2012_raw/VOCdevkit/VOC2012"

    FLAGS.split="train"

    FLAGS.output_file="./data/voc2012_train.tfrecord"

    FLAGS.classes="./data/voc2012.names"

  • 相关阅读:
    对MFC文档、视图、框架的理解
    MFC中快速将CVIew转换成CScrollView
    MFC中的一个错误
    单文档中视图与文档的相互
    python函数
    python模块介绍和引入
    python面向对象和面向过程
    python数据类型2
    python数据类型
    python无法使用input功能
  • 原文地址:https://www.cnblogs.com/xiexiaokui/p/12239406.html
Copyright © 2020-2023  润新知