python中编写config文件并及时更新的方法

 更新时间:2023年02月28日 08:56:16   作者:Rilkean heart  
在pytorch或者其他深度学习框架中,有许多超参数需要调整,包括learning_rate,training_data_path等,因此编写一个config文件统一存放这些参数,方便调用/查看/修改还是很有必要,这篇文章主要介绍了python中一种编写config文件并及时更新的方法,需要的朋友可以参考下

0. Intro

  • 在pytorch或者其他深度学习框架中,有许多超参数需要调整,包括learning_ratetraining_data_path等,因此编写一个config文件统一存放这些参数,方便调用/查看/修改还是很有必要的。下面是我使用过的一种很简单的方式,不是很优雅,小模型下初步的微调已经够用,希望也对你有所帮助,有更好更pro的方式欢迎大家留言~
  • 我这里的目录结构:
  • MLP
  • mlp.ipynb: 用于training等
  • config.py: 存放超参数、路径
  • data
  • targets:targets data path
  • train:training data path

1. config.py

这个.py文件实际上是一个class,大概如下:

class DefaultConfig(object):

    # dataset划分
    batch_size = 40
    train_pct = 0.7
    vali_pct = 0.2
    test_pct = 0.1
    
    #learning rate
    learning_rate = 1e-3
    
    # Training data
    train_path = r"../data/train"
    target_path_metric = r"../data/targets"

2. 调用以及更新

写成class之后,在mlp.ipynb中调用只需要引用一下就完事了:

import config  # import进来
reload(config)  ################## 注意这里必须reload!!
from config import DefaultConfig	# 引入class

opt = DefaultConfig()		# 实例config对象

# 这里名字最好保持和clas内部一致,方便检查
batch_size = opt.batch_size
train_pct = opt.train_pct
vali_pct = opt.vali_pct
test_pct = opt.test_pct

注意,很可能当我们改动config.py之后,外部文件的参数不会及时更新,所以加入reload语句是一个很好的习惯

import config  # import进来
reload(config)  ################## 注意这里必须reload!!

到此这篇关于python中一种编写config文件并及时更新的方法的文章就介绍到这了,更多相关python编写config文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Python批量压缩tif文件操作步骤

    使用Python批量压缩tif文件操作步骤

    Tif文件是栅格数据最常用的一种格式。图像数据区以位图的方式进行数据的表示。因此Tif文件可以进行压缩,常用的压缩方式有LZW、RAW、RLE、CCITT等
    2021-09-09
  • Python方法中self和parent参数用法详解

    Python方法中self和parent参数用法详解

    大家好!今天我们来聊一个 Python 中常见但可能让人困惑的话题:方法参数里的 self 和 parent,在这篇博客中,我会分三个章节逐步讲解它们的含义、作用和实际应用,带你彻底搞懂它们,需要的朋友可以参考下
    2025-04-04
  • 20行python代码实现人脸识别

    20行python代码实现人脸识别

    这篇文章主要介绍了python人脸识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Python3 伪装浏览器的方法示例

    Python3 伪装浏览器的方法示例

    本篇文章主要介绍了Python3 伪装浏览器的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)

    Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)

    这篇文章主要介绍了Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位),需要的朋友可以参考下
    2018-02-02
  • 使用python读取CSV文件时遇到编码问题解决方案

    使用python读取CSV文件时遇到编码问题解决方案

    这篇文章主要介绍了用python读取CSV文件时遇到编码问题,本文给大家分享最优解决方案,通过使用csvkit,它使用自动检测适当的编码和解码,需要的朋友可以参考下
    2023-08-08
  • Python爬虫实战案例之爬取喜马拉雅音频数据详解

    Python爬虫实战案例之爬取喜马拉雅音频数据详解

    这篇文章主要介绍了Python爬虫实战案例之取喜马拉雅音频数据详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 详解Python Qt的窗体开发的基本操作

    详解Python Qt的窗体开发的基本操作

    这篇文章主要介绍了详解Python Qt的窗体开发的基本操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 快速掌握python权限功能设计实战指南

    快速掌握python权限功能设计实战指南

    在处理权限控制时,装饰器能帮助我们以一种统一且简洁的方式管理不同用户对系统资源的访问权限,本文将通过几个简单的示例逐步展示如何利用Python装饰器实现从基础到复杂的权限控制功能
    2024-01-01
  • 如何用python批量发送工资条邮件

    如何用python批量发送工资条邮件

    大家好,本篇文章主要讲的是如何用python批量发送工资条邮件,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01

最新评论