Teknologian jakaminen

[Pytorch] Conda ympäristöpakkauksen siirtovirheiden käsittely

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Anaconda virtuaaliympäristön pakkaus

Kokeilu varmistettiin onnistuneesti tällä koneella. Se on siirrettävä korkealuokkaisiin laitteisiin. Yhdellä 4090D:llä kesti kaksi ja puoli tuntia 128 000:n multimodaalisen mallin suorittamiseen päätelmien ja tietojen arvioimiseksi. Se oli edelleen liian aikaa vievä ja raskas tehtävä. Se on kiireesti luovutettava 8A100-koneelle.
Lisää kuvan kuvaus tähän

Anaconda-ympäristön siirtäminen lähdetietokoneesta kohdetietokoneeseen edellyttää, että molemmissa tietokoneissa on anaconda asennettuna.

1. Lähdetietokoneen ympäristöpakkaus

Käytä Anaconda Prompt -toimintoa

1. Asenna conda-pack-työkalu

conda install conda-pack
  • 1

Lisää kuvan kuvaus tähän

2. Määritä ympäristö

conda env list
  • 1

Lisää kuvan kuvaus tähän

Etsi sen ympäristön nimi, jonka haluat pakata. Esimerkiksi ympäristöni nimi on VLM

3. Pakkausympäristö

conda pack -n VLM -o VLM.tar.gz
  • 1

4. Kopioi pakkausympäristö USB-muistitikulle

Windows-ympäristö on pakattu nykyiseen hakemistoon. Esimerkiksi XX on käyttäjänimi ja polku
C:/Users/XX/VLM.tar.gz
Sama Linuxille

2. Siirrä ympäristö kohdetietokoneeseen

①Menetelmä 1
1. Luo uusi ympäristö Anaconda Promptin avulla, esimerkiksi uusi ympäristö on py310:

conda create -n py310 python=3.10
  • 1

2. Kopioi pakkausympäristö USB-muistitikulta kohdetietokoneen käyttäjätunnushakemistoon:
C:/Users/XX/Py36.tar.gz
3. Pura pakattu ympäristö uuteen ympäristöpolkuun Anaconda Promptin avulla:

tar -zxvf Py36.tar.gz -C E:anaconda3envspy36
  • 1

4. Aktivoi uusi ympäristö

conda activate py310
  • 1

Huomautus: Jos tämä epäonnistuu, kokeile tapaa kaksi:
②Menetelmä 2
1. Etsi kohdetietokoneen ympäristökansio
Ympäristön polku on envs-kansio hakemistossa, jossa anaconda sijaitsee. Esimerkiksi omani on: E: anaconda3envs Tämän polun alla suoritetaan seuraavat vaiheet.
2. Kopioi pakkausympäristö USB-muistitikulta ympäristökansioon envs.
3. Luo uusi kansio ympäristöpolun cmd-komentorivin avulla ja anna sille nimi py36:

mkdir py36
  • 1

Tai luo uusi kansio manuaalisesti
4. Pura pakkausympäristö uuteen ympäristöön cmd-komentorivin avulla

tar -zxvf Py36.tar.gz -C ./py36
  • 1

3. Poikkeuskäsittely

pip install -e Aiheuttaa epäonnistumisen pakkaamisessa→ohita

Virhe ilmoitetaan seuraavasti

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Käytä sen sijaan seuraavaa

conda pack -n VLM -o VLM.tar.gz --ignore-editable-packages
  • 1

Pura käyttämällä

mkdir ~/ananconda/envs/pcdet-tmp
tar -xf pcdet.tar.gz -C ~/ananconda/envs/pcdet-tmp
cd ~/ananconda/envs/pcdet-tmp
source ./bin/activate
  • 1
  • 2
  • 3
  • 4

Hallitut tiedostot on poistettu tai ylikirjoitettu → pakattu tar-muotoon

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).
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

Ratkaisu oli yrittää käyttää WSL:n etuja anacondan ympäristön pakkaamiseen suoraan Windowsin alle. Kuitenkin ilmoitettiin valtava määrä riippuvuus- ja nimeämisvirheitä.
Lisää kuvan kuvaus tähän
Lopulta luovutin ja kokeilin pakkausta ja pakkausta Linux-järjestelmän alla.
Linuxissa voit käyttää tar-komentoa pakataksesi tiedoston tai kansion .tar.gz-muotoon.
tar on komento, jota käytetään tiedostojen pakkaamiseen.
-c tarkoittaa uuden arkistotiedoston luomista.
-z tarkoittaa gzip-pakkauksen käyttöä.
-v osoittaa monisanaisten tietojen näyttämisen arkistoinnin aikana.
-f seuraa arkistotiedoston nimi.

Jos esimerkiksi haluat pakata VLM-nimisen kansion env:ssä anacondassa, voit käyttää seuraavaa komentoa:

tar -czvf VLM.tar.gz VLM
  • 1

Ilmoitus

在Linux里去看位置,anaconda是不显示完整文件目录的,会直接不显示有env文件夹,但是可以直接cd 进env去看
  • 1

Lisää kuvan kuvaus tähän

Jos haluat pakata yksittäisen tiedoston, kuten omatiedosto.txt, voit käyttää:

tar -czvf myfile.tar.gz myfile.txt
  • 1

Nämä komennot luovat .tar.gz-tiedoston nykyiseen hakemistoon. Voit muuttaa tiedoston polkua tai määrittää tuloshakemiston tarvittaessa.
Lisää kuvan kuvaus tähän
Pakkaus onnistui

Aktivoi ympäristö uudelleen

3. Vaihe 3: Aktivoi ympäristö
Tar-pakkaukseen, purkamiseen

tar -xzvf VLM.tar.gz
  • 1

Jos .zip kopioidaan toiseen järjestelmään ja puretaan hakemistoon /xxxx/anaconda/envs/, se

unzip -d /xxxx/anaconda/envs/  pyenv.zip
  • 1

Ilmoitus!Pakattu virtuaaliympäristö tallentaa lähdeympäristön. Anaconda-asennuspolku voi olla erilainen kuin lähdeympäristö. Esimerkiksi lähdeympäristö on /xxxx/anaconda/ tässä tapauksessa sinun on ensin luotava tyhjä hakemisto uuteen järjestelmään, joka on sama kuin lähdeympäristön anaconda-asennuspolku, kuten alkuperäinen polku wsl.localhostUbuntuhometestanaconda3envsVLM
mkdir /xxxx/anaconda3/envs/
Luo sitten pehmeä linkki
ln -s /xxxx/anaconda/envs/pyenv /xxxx/anaconda3/envs/
Osoita tyhjä hakemisto todelliseen anaconda-polkuun
Aktivoi sitten ympäristölähde aktivoi /xxxx/anaconda/envs/VLM

Toivottavasti se valmistuu sujuvasti!

No, jos siitä on sinulle hyötyä, kopioi se, ilmoita qwq, jos sen järjestäminen ja uudelleentulostaminen on vaikeaa!
Jos sinulla on parempia ehdotuksia tai kommentteja, lisää ne!
Nimeni on Qi Yunpeng (Qi Qí), ja pyrin jakamaan algoritmien ilon kaikkien kanssa!

Yksi kuva blogia kohden (1/1)↓
Lisää kuvan kuvaus tähän

Viite:
conda-pack siirtää virtuaaliympäristöjä
Offline-ympäristö conda virtuaaliympäristön varmuuskopiointi - conda pack -ongelma