From d93f365861b84157a7312902316b1a73560fa9a4 Mon Sep 17 00:00:00 2001 From: deng Date: Thu, 16 Jan 2025 11:46:20 +0800 Subject: [PATCH] vault backup: 2025-01-16 11:46:20 --- 組織/EverfortuneAI/{Note} Nox.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/組織/EverfortuneAI/{Note} Nox.md b/組織/EverfortuneAI/{Note} Nox.md index 6410d25..109544f 100644 --- a/組織/EverfortuneAI/{Note} Nox.md +++ b/組織/EverfortuneAI/{Note} Nox.md @@ -23,6 +23,7 @@ tags: - 若想將測試結果輸出檔案(測試組合很多的時候很適合),可執行`nox --report [file_name].json` - 小知識,如果semantic version沒有給patch的話,則其為0(比方說我們要測試的numpy版本設為1.24,則其實際測試的版本為1.24.0) - 測試的環境會放在`.nox`裡(通常以python搭配套件名稱進行資料夾命名,若套件太多則會hash成短名稱),如果使用`reuse_venv`則nox會去重新使用這些環境檔進行測試,可節省重新建立環境的時間 + - 若無特殊需求,session的``venv_backend``建議使用預設的venv即可,較省空間 - 以下為*noxfile.py*範例程式碼(透過環境是否能順利通過單元測試來判別套件之間的匹配性) ```python @@ -48,6 +49,7 @@ def test_flexibility(session, numpy, scikit_learn): session.run('pytest', 'tests', '-v') ``` - Issues - 1. 在某些依賴套件組合下,load_model在進行reload測試時會報錯,原因是舊模型與新模型的記憶體位置相同導致AssertionError,但為何會有這樣的差異仍未知 - 2. 將nox的venv_backend設為conda,並開啟reuse_venv進行測試,測試一陣子後,會開始出現conda error,猜測原因是reuse的機制出問題,如果是新創造的conda env就沒問題(沒開啟reuse會很耗時,每次都得重建測試環境,目前一個環境的容量約5GB,安裝得花不少時間) - 3. 呈上,若把venv_backend改成預設的venv,在測試一段時間後仍會報錯,原因可能跟上述相同 \ No newline at end of file + 1. 在某些依賴套件組合下,load_model在進行reload測試時會報錯,原因是舊模型與新模型的記憶體位置相同導致AssertionError,詳細原因需調查 + 2. 將nox的venv_backend設為conda,並開啟reuse_venv進行測試,測試一陣子後,會開始出現conda error,猜測原因是reuse的機制出問題,如果是新創造的conda env就沒問題(沒開啟reuse會很耗時,目前一個環境的容量約5GB,安裝得花不少時間) + - 發現是conda的問題(可見github[討論串](https://github.com/conda/conda/issues/9794#issuecomment-884032662)),使用``conda clean -a``將套件暫存與快取清除就可以跑conda create了,詳細原因需調查 + 3. 呈上,若把venv_backend改成預設的venv,在測試一段時間後仍會報錯,原因可能跟上述相同(目前無法還原錯誤) \ No newline at end of file