python中編寫(xiě)config文件并及時(shí)更新的方法
0. Intro
- 在pytorch或者其他深度學(xué)習(xí)框架中,有許多超參數(shù)需要調(diào)整,包括
learning_rate,training_data_path等,因此編寫(xiě)一個(gè)config文件統(tǒng)一存放這些參數(shù),方便調(diào)用/查看/修改還是很有必要的。下面是我使用過(guò)的一種很簡(jiǎn)單的方式,不是很優(yōu)雅,小模型下初步的微調(diào)已經(jīng)夠用,希望也對(duì)你有所幫助,有更好更pro的方式歡迎大家留言~ - 我這里的目錄結(jié)構(gòu):
- MLP
mlp.ipynb: 用于training等config.py:存放超參數(shù)、路徑- data
targets:targets data pathtrain:training data path
1. config.py
這個(gè).py文件實(shí)際上是一個(gè)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. 調(diào)用以及更新
寫(xiě)成class之后,在mlp.ipynb中調(diào)用只需要引用一下就完事了:
import config # import進(jìn)來(lái) reload(config) ################## 注意這里必須reload?。? from config import DefaultConfig # 引入class opt = DefaultConfig() # 實(shí)例config對(duì)象 # 這里名字最好保持和clas內(nèi)部一致,方便檢查 batch_size = opt.batch_size train_pct = opt.train_pct vali_pct = opt.vali_pct test_pct = opt.test_pct
注意,很可能當(dāng)我們改動(dòng)config.py之后,外部文件的參數(shù)不會(huì)及時(shí)更新,所以加入reload語(yǔ)句是一個(gè)很好的習(xí)慣
import config # import進(jìn)來(lái) reload(config) ################## 注意這里必須reload??!
到此這篇關(guān)于python中一種編寫(xiě)config文件并及時(shí)更新的方法的文章就介紹到這了,更多相關(guān)python編寫(xiě)config文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python方法中self和parent參數(shù)用法詳解
大家好!今天我們來(lái)聊一個(gè) Python 中常見(jiàn)但可能讓人困惑的話題:方法參數(shù)里的 self 和 parent,在這篇博客中,我會(huì)分三個(gè)章節(jié)逐步講解它們的含義、作用和實(shí)際應(yīng)用,帶你徹底搞懂它們,需要的朋友可以參考下2025-04-04
20行python代碼實(shí)現(xiàn)人臉識(shí)別
這篇文章主要介紹了python人臉識(shí)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Windows下的Python 3.6.1的下載與安裝圖文詳解(適合32位和64位)
這篇文章主要介紹了Windows下的Python 3.6.1的下載與安裝圖文詳解(適合32位和64位),需要的朋友可以參考下2018-02-02
使用python讀取CSV文件時(shí)遇到編碼問(wèn)題解決方案
這篇文章主要介紹了用python讀取CSV文件時(shí)遇到編碼問(wèn)題,本文給大家分享最優(yōu)解決方案,通過(guò)使用csvkit,它使用自動(dòng)檢測(cè)適當(dāng)?shù)木幋a和解碼,需要的朋友可以參考下2023-08-08
Python爬蟲(chóng)實(shí)戰(zhàn)案例之爬取喜馬拉雅音頻數(shù)據(jù)詳解
這篇文章主要介紹了Python爬蟲(chóng)實(shí)戰(zhàn)案例之取喜馬拉雅音頻數(shù)據(jù)詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
詳解Python Qt的窗體開(kāi)發(fā)的基本操作
這篇文章主要介紹了詳解Python Qt的窗體開(kāi)發(fā)的基本操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
快速掌握python權(quán)限功能設(shè)計(jì)實(shí)戰(zhàn)指南
在處理權(quán)限控制時(shí),裝飾器能幫助我們以一種統(tǒng)一且簡(jiǎn)潔的方式管理不同用戶對(duì)系統(tǒng)資源的訪問(wèn)權(quán)限,本文將通過(guò)幾個(gè)簡(jiǎn)單的示例逐步展示如何利用Python裝飾器實(shí)現(xiàn)從基礎(chǔ)到復(fù)雜的權(quán)限控制功能2024-01-01

