讓Git來幫助你優化模型

2021-08-31 09:24:27 字數 1352 閱讀 1988

git 作為乙個強大的版本控制工具,無論是從事什麼工作我覺得都應該了解掌握。本文分享乙個筆者在工作中遇到的問題,並用git強行解決,減輕了不少的工作量。

從事一下算(tiao)法(can)工作,避免不了嘗試各種引數,各種tricks。此處就會有矛盾,當你有個新想法想加入到你的模型中,但是這個新的想法又會影響你其他超引數的值。比如說:目前使用dropout作為正則化手段,你的較優引數配置如下:這是caffe中的deploy檔案

假設這組引數能夠使得模型達到不錯的效果,此時你又想試試bn的效果如何,此刻你有三種方式去改引數

1、 直接在原始檔裡修改,更改net檔案的配置,然後再慢慢除錯其他的超引數。然後發現效果不如之前的好,想要改回去,記性不好的你可能懵逼,我上個學習率設定的多少?

2、 直接拷貝乙份,然後你又有其他的新trick想加入到模型中,此時你就會拷貝n份

3、 使用git 來控制,這裡不使用發布版本的方式,因為你每次反悔可能都需要回退版本,而我們新的trick 跟我們的其他模型配置都是並行,不是一種序列工作,所以這裡採用 git中的分支,來管理其他模型配置檔案。

首先提交本次記錄,否則的你來回切換分支會導致之前在工作區的內容被清空,或者切換失敗。

首先初始化乙個git 庫

把配置檔案新增到暫存區

提交本次修改 注釋寫為 dropout model

現在建立乙個想要使用bn正則化的模型分支

切換到bn分支,去快樂的調參吧。

跟上次相比,使用bn後,學習率設定為0.05效果最好,但是還是不如上個模型好

果斷切換到原來的模型

現在以前的配置又回來了

如果你覺得bn沒什麼用,沒有優化的潛力了,那就刪掉它

現在我們分支裡面只有乙個主分支了

Git幫助文件

git是乙個常用的 管理工具。由於自身剛接觸這個工具,因此根據git的幫助文件以及自己所學的知識整理了這篇文章以便更快熟悉git的操作。本文會隨著本人對git的不斷熟悉而更新。以下為各種情況下常用的git命令。將儲存庫轉殖到新的目錄中。假設要更改的專案僅存在於伺服器中,可以在本地開啟git命令列,g...

git操作幫助手冊

用命令列建立乙個新的git倉庫 echo sd readme.md git init git add readme.md git commit m first commit git remote add origin git github.com yankunli sd.git git push u...

使用mock模組來幫助python測試

相比較於unittest,nose這類測試類庫,mock給我的感覺是完全不一樣的。剛開始看mock是因為openstack中的測試用到了它,翻閱其文件時候完全不清楚他是幹嘛的。直到看到了 這篇文章,才發現mock可以解決我很多實際的問題。這裡小秦就記錄下mock的實際使用場景的乙個例子,方便和我之前...