Pytorch?Conda環(huán)境pack打包遷移報錯的處理方案
Anaconda虛擬環(huán)境打包
實驗在本機上驗證成功,需要網(wǎng)高級設備上遷移,單張4090D,跑一個128k多模態(tài)大模型在一個數(shù)據(jù)集上推理加評測都花了兩個半小時,還是太費時間了,重任亟需交給8A100機。
從源電腦中遷移anaconda的環(huán)境到目標電腦,首先兩個電腦都安裝了anaconda才行,在此基礎上。
一、源電腦的環(huán)境打包
使用Anaconda Prompt操作
1.安裝conda-pack工具
conda install conda-pack
2.確定環(huán)境
conda env list
找到你想要打包環(huán)境名。比如我的環(huán)境名是VLM
3.打包環(huán)境
conda pack -n VLM -o VLM.tar.gz
4.將打包環(huán)境拷貝到U盤
Windows環(huán)境打包在當前目錄,如XX為用戶名,路徑為
C:/Users/XX/VLM.tar.gz
Linux同理
二、環(huán)境遷移到目標電腦上
①方法一
1.用Anaconda Prompt創(chuàng)建新環(huán)境,比如新環(huán)境是py310:
conda create -n py310 python=3.10
2.將U盤中的打包環(huán)境,拷貝在目標電腦的用戶名目錄:
C:/Users/XX/Py36.tar.gz
3.用Anaconda Prompt將打包環(huán)境,解壓到新環(huán)境路徑下:
tar -zxvf Py36.tar.gz -C E:\anaconda3\envs\py36\
4.激活新環(huán)境
conda activate py310
注意:如果失敗的話,試一下方法二:
②方法二
1.找到目標電腦的環(huán)境文件夾
環(huán)境的路徑為anaconda的所在目錄下的envs文件夾,如我的為:E:\anaconda3\envs,以下步驟都在這個路徑下進行操作。
2.將U盤中的打包環(huán)境,拷貝在環(huán)境文件夾envs內。
3.在環(huán)境路徑下使用cmd命令行,新建文件夾,命名為py36:
mkdir py36
或者手動新建文件夾
4.使用cmd命令行,將打包環(huán)境解壓到新環(huán)境中
tar -zxvf Py36.tar.gz -C ./py36
三、異常處理
pip install -e. 導致無法pack→忽略
報錯如下
Collecting packages... CondaPackError: Cannot pack an environment with editable packages installed (e.g. from `python setup.py develop` or `pip install -e`). Editable packages found: - /home/xxx
改用下面方式
conda pack -n VLM -o VLM.tar.gz --ignore-editable-packages
解壓縮使用
mkdir ~/ananconda/envs/pcdet-tmp tar -xf pcdet.tar.gz -C ~/ananconda/envs/pcdet-tmp cd ~/ananconda/envs/pcdet-tmp source ./bin/activate
管理的文件已經被刪除或者被覆蓋→壓縮成tar
CondaPackError: Files managed by conda were found to have been deleted/overwritten in the following packages: - charset-normalizer 2.0.4: - xxxx This is usually due to `pip` uninstalling or clobbering conda managed files, resulting in an inconsistent environment. Please check your environment for conda/pip conflicts using `conda list`, and fix the environment by ensuring only one version of each package is installed (conda preferred).
解決方案嘗試過利用WSL優(yōu)勢直接在Windows下對anaconda中環(huán)境env進行打包,然而報出巨量的依賴錯誤和命名錯誤
最后乖乖收手去Linux系統(tǒng)下打包壓縮嘗試是否可行
在Linux中,可以使用tar命令將文件或文件夾壓縮為.tar.gz格式。
tar 是用于打包文件的命令。
-c 表示創(chuàng)建一個新的歸檔文件。
-z 表示使用gzip壓縮。
-v 表示在歸檔時顯示詳細信息。
-f 后面跟著的是歸檔文件的名稱。
例如,想要壓縮anaconda中env下的名為VLM的文件夾,可以使用以下命令:
tar -czvf VLM.tar.gz VLM
注意
在Linux里去看位置,anaconda是不顯示完整文件目錄的,會直接不顯示有env文件夾,但是可以直接cd 進env去看
如果想壓縮單個文件,比如myfile.txt,可以使用:
tar -czvf myfile.tar.gz myfile.txt
這些命令將在當前目錄下創(chuàng)建.tar.gz文件,可以在需要的時候更改文件路徑或者指定輸出目錄。
壓縮成功
重新激活環(huán)境
3.第三步:激活環(huán)境
對于tar壓縮來講解壓執(zhí)行
tar -xzvf VLM.tar.gz
如果是.zip 拷貝到另外一個系統(tǒng)上并解壓到目錄下/xxxx/anaconda/envs/則為
unzip -d /xxxx/anaconda/envs/ pyenv.zip
注意!打包的虛擬環(huán)境記錄的是源環(huán)境的,新系統(tǒng)上的anaconda安裝路徑可能和源環(huán)境的不一樣,比如源環(huán)境是/xxxx/anaconda2023/,新系統(tǒng)上是/xxxx/anaconda/,此時需要先在新系統(tǒng)上新建一個和源環(huán)境anaconda安裝路徑一樣的空目錄,例如原路徑\wsl.localhost\Ubuntu\home\test\anaconda3\envs\VLM的
mkdir /xxxx/anaconda3/envs/
然后再建立軟鏈
ln -s /xxxx/anaconda/envs/pyenv /xxxx/anaconda3/envs/
將空目錄指向 實際anaconda路徑
然后激活環(huán)境 source activate /xxxx/anaconda/envs/VLM
希望能順順利利完成!
以上就是Pytorch Conda環(huán)境pack打包遷移報錯的處理方案的詳細內容,更多關于Conda pack打包遷移報錯的資料請關注腳本之家其它相關文章!
- PyTorch使用tensorboard的SummaryWriter報錯問題解決方案
- Pytorch backward報錯2次訪問計算圖需要retain_graph=True的情況詳解
- 分析PyTorch?Dataloader報錯ValueError:num_samples的另一種可能原因
- pytorch報錯問題:ValueError: num_samples should be a positive integer value, but got num_samples=0
- 解決遇到:PytorchStreamReader failed reading zip archive:failed finding central錯誤問題
相關文章
Python+pandas計算數(shù)據(jù)相關系數(shù)的實例
今天小編就為大家分享一篇Python+pandas計算數(shù)據(jù)相關系數(shù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07Python數(shù)學建模庫StatsModels統(tǒng)計回歸簡介初識
這篇文章主要為大家介紹了Python數(shù)學建模庫StatsModels統(tǒng)計回歸的基本概念,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝打擊多多進步2021-10-10