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"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2012-01-29 C#获取cpu序列号,硬盘ID,网卡MAC地址