2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Tämä artikkeli on Shanghain tekoälylaboratorion isännöimän kolmannen laajamittaisen malliharjoitusleirin muistiinpanot.Opetusohjelman alkuperäinen linkki。
Rekisteröityäksesi etsi "The Third Scholar Model Practice Camp" WeChatissa.
Tämä muistiinpano on henkilökohtaisesti merkitty muistiinpano, jota on muokattu alkuperäisen opetusohjelman perusteella.
😀Hello大家好,欢迎来到Scholar iso malliKäytännön leiri, tässä on käytännön leirin valmistelema peruskurssi opiskelijoille, jotka osallistuvat käytännön leirille ensimmäistä kertaa, sekä eri alojen opiskelijoille, joilla ei ole perustietoja LinuxistaInternStudio kehityskone, ja hallitse joitakin perusasioitaLinuxin tuntemus , jotta kaikilla ei ole aavistustakaan, mistä aloittaa seuraavilla kursseilla. Toivon, että siitä on apua kaikille. Olemme laatineet sinulle tasotehtäviä täällä Kun suoritat vaaditut tasotehtävät ja kirjaudut sisään, saat nykyisen tason laskentatehopalkinnon.aloitetaan!
InternStudio 是大模型时代下的云端算力平台。基于 InternLM 组织下的诸多算法库支持,为开发者提供开箱即用的大语言模型微调环境、工具、数据集,并完美兼容 🤗 HugginFace 开源生态。
Jos haluat tietää lisää InternStudiosta, voit tarkistaa seuraavat asiakirjat: InternStudio
https://studio.intern-ai.org.cn/
Avaa ensin yllä oleva linkki siirtyäksesi InternStudioon Kirjautumisen jälkeen siirryt automaattisesti konsolin käyttöliittymään alla olevan kuvan mukaisesti:
Kerron teille kutakin sarjanumeroa vastaavien sivujen toiminnot:
Yllä oleva on lyhyt esittely InternStudio-alustaan. Katsotaanpa kuinka luodaan kehityskone. Menemme kotisivulle ja napsautamme ".Luo kehityskone”
Täällä valitsemme luomisenhenkilökohtaisen kehityksen kone, nimettytestata,CudaVersio on 12.2,Resurssien kohdentaminenValitse 10 % ja oletuskesto on hyvä.
Kun luominen on valmis, sisäänKehityskoneNäet juuri luomasi kehityskoneen käyttöliittymässä napsauttamalla.
Kehityskoneeseen siirtymisen jälkeen näet kehityskoneen pääsivun. Kehityskoneessa on kolme tilaa:JupyterLab, pääte ja VScode
sisään:
Esittelimme ylläInternStudio-alusta, ja kuinka luodaan kehityskone Tässä osiossa haluamme ymmärtää mitäSSH、Miksi käyttää etäyhteyttä, Kuinka käyttää SSH:taetäyhteysKehityskone, mikä onPorttikartoitusja miten edetäPorttikartoitus。
SSHKoko nimi on Secure Shell, joka on käännetty kiinaksi suojatukseksiverkon suojausprotokolla , toteuttaa suojatun pääsyn ja tiedostonsiirron sekä muut palvelut salaus- ja todennusmekanismien avulla. SSH-protokolla tarjoaa suojattuja verkkopalveluita turvattomassa verkkoympäristössä salaamalla ja todentamalla verkkotiedot.
SSH on (C/S-arkkitehtuuri).palvelinjaasiakasSuojatun SSH-kanavan muodostamiseksi molempien osapuolten on ensin muodostettava TCP-yhteys, neuvoteltava sitten versionumero ja erilaiset käytetyt algoritmit ja luotava samaistuntoavain käytetään myöhempään symmetriseen salaukseen. Kun käyttäjätunnistus on suoritettu, molemmat osapuolet voivat muodostaa istunnon tiedonvaihtoa varten.
Sitten seuraavissa harjoituksissa teemmeMääritä SSH-avaimet, konfigurointiavain on niin, että meidän ei tarvitse syöttää salasanaa toistuvasti, kun muodostamme yhteyden kehityskoneeseen etäyhteyden kautta,Miksi muodostaa etäyhteys??
Etäyhteyden etuna on, että jos käytät etätoimistoa, voit muodostaa etäyhteyden kehityskoneeseen SSH:n kautta, jotta voit kehittää paikallisesti. Ja jos sinun on suoritettava paikallista koodia, mutta sinulla ei ole ympäristöä, etäyhteys on erittäin tarpeellinen.
Ensin käytämme SSH-etäyhteyden salasanan syöttötapaa. Myöhemmin puhumme salasanattoman kirjautumisen määrittämisestä.
Kun kehityskoneen luominen on valmis, meidän on avattava tietokoneemme powerShell-pääte ja käytettäväWin+R Käytä pikanäppäintä avataksesi suoritusruudun, syötä powerShell ja avaa powerShell-pääte. (Jos käytät Linux- tai Mac-käyttöjärjestelmää, seuraavat vaiheet ovat samat)
Palaamme kehityskonealustalle ja astumme sisäänKehityskoneEtsi sivulta luomamme kehityskone ja napsautaSSH-yhteys。
sitten kopioidaKirjautumiskomento, 37367 tässä on kehityskoneen käyttämä SSH-portti Yleensä porttia 22 käytetään ilman tätä porttinumeroa, ja jokaisen portti on erilainen, joten jos muodostat yhteyden kehityskoneeseen. , sinun on tarkistettava, onko portti väärä.
Liitä kopioitu komento powershelliin ja paina Enter. Tässä meidän on syötettävä salasana sisäänkirjautumiskomennon alle ja liitettävä se terminaaliin.Huomaa, että salasanan kopioimisen jälkeen liitä se hiiren oikealla painikkeella. Joidenkin tietokoneiden liittämisen pikanäppäin onshift+ins
, tähän liitettyä salasanaa ei näytetä, tämä on normaalia.
Paina lopuksi Enter ja seuraava sisältö tulee näkyviin, mikä osoittaa onnistumisen:
Kun olemme muodostaneet yhteyden kehityskoneeseen, voimme käyttäähostname
Voit tarkastella kehityskoneen nimeä käyttämälläuname -a
Voit tarkastella kehityskoneen ytimen tietoja käyttämällälsb_release -a
Voit tarkastella kehityskoneen versiotietoja käyttämällänvidia-smi
Tarkista GPU-tiedot. Puhumme näistä komennoista myöhemmin.exit
Se siitä.
Mutta kun kehitämme ja opimme, salasanan syöttäminen etänä on hankalaa. Voimme asettaa SSH-avaimen ohittamaan salasanan syöttämisenssh-keygenkomento avaimen luomiseksi
SSH-avain on turvallinen ja kätevä kirjautumisen todennusmenetelmä, jota käytetään SSH-protokollan todentamiseen ja salattuun viestintään.
ssh-keygenTukee sekä RSA- että DSA-todennusavaimia.
Yleisesti käytettyjä parametreja ovat:
Tässä käytämme RSA-algoritmia avaimen luomiseen, komento on:
ssh-keygen -t rsa
Komennon syöttämisen jälkeenSyötä sisään kokonaanSiinä kaikki, tässä oleva avain luodaan oletusarvoisesti sisään~/.ssh/
hakemiston alla,~
Se tarkoittaa kotihakemistoa, jos se on windows, se onC:Users{your_username}
.Voidaan käyttää powerShellissäGet-Content
Komento näyttää luodun avaimen, jota voidaan käyttää, jos se on Linux-käyttöjärjestelmäcat
Tilaus.
Sitten palaamme kehityskonealustalle ja napsautamme aloitussivulla ConfigurationSSH-avainja napsauta sittenLisää julkinen SSH-avain,
Kopioi juuri luomasi avain ja liitä se julkisen avaimen ruutuun. Lopuksi napsauta Lisää nyt, ja SSH-avain on määritetty.
Kun olet luonut SSH-avaimen, käynnistä uudelleenterminaaliKun muodostat etäyhteyden, salasanan syöttäminen ohitetaan.
Tietysti voit käyttää myös SSH-etäyhteysohjelmistoja, kuten:Windterm, Xterminal odota. Tässä käytämme VScodea etäyhteyden muodostamiseen VScoden käytön etuna on, että se on koodieditori, joka on erittäin kätevä koodin muokkaamiseen ja muihin toimintoihin.
Jos haluamme muodostaa etäyhteyden VScodessa, meidän on asennettava myös joukko laajennuksia. Voit etsiä verkosta kuinka asentaa VScode. (Kehityskoneen vscode ei voi etsiä tätä laajennusta, mutta paikallinen vscode voi etsiä)
Jos olet asentanut VScoden, voit napsauttaa vasemmalla olevaa laajennussivua ja kirjoittaa hakukenttään "SSH". Ensimmäinen on asennettava laajennus. Napsauta vain "Asenna".
Kun olet asentanut laajennuksen, napsauta sivupalkissa olevaa etäyhteyskuvaketta, napsauta "+" -painiketta SSH:ssa ja lisää sisäänkirjautumiskomento kehityskoneen SSH-yhteydelle.
Kopioimme sisäänkirjautumiskomennon, liitämme komennon ponnahdusikkunaan ja paina lopuksi Enter:
Oletusasetustiedosto on tietysti myös muokattavissa. Seuraava on määritystiedoston sisältö: (Tämä sisältää kaikki etäyhteystiedot.)
Host ssh.intern-ai.org.cn #主机ip也可以是域名
HostName ssh.intern-ai.org.cn #主机名
Port 37367 #主机的SSH端口
User root #登录SSH使用的用户
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
Jos haluat lisätä joitain seuraavista kokoonpanovaihtoehdoista manuaalisesti, sinun on muokattava vastaavia osia yllä olevan muodon mukaisesti.
Jos *
StrictHostKeyChecking
no
jaUserKnownHostsFile
*/dev/null
Poista ponnahdusikkuna, joka avautuu sormenjälkitarkistusta varten:
StrictHostKeyChecking no
Osoittaa, että isäntäavaimen tiukka tarkistus on poistettu käytöstä. Tämä tarkoittaa, että muodostettaessa yhteyttä uuteen SSH-palvelimeen, palvelimen isäntäavainta ei tarkasteta tarkasti, mikä voi aiheuttaa tietyn tietoturvariskin.
UserKnownHostsFile /dev/null
Se asettaa käyttäjän tunteman isäntäavaintiedoston arvoon /dev/null, mikä käytännössä jättää huomioimatta tunnettujen isäntäavaimien tallentamisen ja käytön.Yleisessä tietoturvakäytännössä ei kuitenkaan ole suositeltavaa poistaa mielivaltaisesti tiukkaa isäntäavaimen tarkistusta.
Napsauta sitten "Yhdistä" oikeaan alakulmaan avautuvassa kehoteikkunassa muodostaaksesi etäyhteyden kehityskoneeseen.
Kun etäyhteys on muodostettu, voit valita avattavan kansion, jota voidaan kutsua myös työhakemistoksi. Voit valita kehityskoneen kansion tai paikallisen kansion.pilvilevy。
Kun muodostat etäyhteyden seuraavan kerran, sinun ei tarvitse syöttää sisäänkirjautumiskomentoja ja muita tietoja Sinun tarvitsee vain avata vscode-etäyhteys nähdäksesi ensimmäisen yhteyden kehityskoneen tiedotroot
Se tarkoittaa, että kun muodostamme ensimmäisen yhteyden kehityskoneeseen, käytämme/root
Työlista.
Ja alla olevassa kuvassa->
Ilmaisee, että sinun on valittava työhakemisto uudelleen kehityskoneeseen siirtymisen jälkeen:
Ja alla olevassa kuvassa->
Ilmaisee siirtymistä viimeisen kehityskoneen valitsemaan työhakemistoon:
Joka kerta valittu työhakemisto näkyy kehityskonetietojen alla: (tässä on lagentille lisätyöhakemisto)
Seuraavaksi esittelemme milloinPorttikartoitus。
Porttikartoitus Se on verkkotekniikka, joka voi yhdistää minkä tahansa ulkoisen verkon portin vastaavaan sisäisen verkon porttiin sisäisen verkon ja ulkoisen verkon välisen viestinnän toteuttamiseksi. Porttikartoituksen avulla intranetissä olevia palveluita tai sovelluksia voidaan käyttää ulkoisesta verkosta kätevän tiedonsiirron saavuttamiseksi verkon yli.
Joten miksi meidän on suoritettava porttikartoitus, kun käytämme kehityskonetta?
Koska seuraavilla kursseilla teemme mallejaweb_demo Käyttöönottokäytännössä tämän prosessin aikana kohtaat todennäköisesti verkkokäyttöliittymän epätäydellisen latauksen ongelman.Tämä johtuu siitä, että käytettäessä web_demoa kehityskoneen Web IDE:ssä, kehityskoneen http/https-palvelun suora käyttö voi kohdata välityspalvelinongelmia.ui resurssejaEi ladattu kokonaan.
Joten ratkaistaksemme tämän ongelman, meidän on porttikarttattava yhteys, jossa on web_demo, jaUlkoiset verkkolinkit on kartoitettu paikalliseen isäntään , käytämme paikallista yhteyttä tämän välityspalvelinongelman ratkaisemiseen. Harjoitellaan nyt.
Ymmärretään ensin, kuinka kehityskoneen porttikartoitus toimii kaavion perusteella:
Alla on käytännön vaiheita. Ymmärrä ensin, kuinka porttikartoitus tehdään.
ssh -p 37367 [email protected] -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
Yllä oleva on porttikartoituskomento Suorita tämä komento porttikartoituksen suorittamiseksi.
Henkilökohtainen PC muodostaa etäyhteyden kehityskoneen ainoaan avoimeen porttiin 37367 (tämä mainitaan SSH:n aikana, ja jokaisen kehityskoneen avoimet portit ovat erilaiset) ja asettaa tunneliasetukset. Paljastettu satama toimii välitysasemana liikenteen välittämiselle.
-C
: Ota pakkaus käyttöön vähentääksesi siirrettävien tietojen määrää.-N
: Ei suorita etäkäskyjä, vain muodostaa tunneleita.-g
: Salli etäisäntien muodostaa yhteys paikallisesti edelleenlähetettyihin portteihin.Kun tämä SSH-komento suoritetaan henkilökohtaisessa PC:ssä, SSH-asiakas kuuntelee paikallisen koneen porttia 7860.
Kaikki paikalliseen porttiin 7860 lähetetty liikenne välitetään SSH-tunnelin kautta etäpalvelimen 127.0.0.1-osoitteen porttiin 7860.
Tämä tarkoittaa, että vaikka tämä kehityskoneen portti ei olisi suoraan alttiina ulkoiselle verkolle, voimme turvallisesti käyttää etäpalvelimen palveluita tämän tunnelin kautta. .
Menemme edelleen kehityskoneen käyttöliittymään, etsimme kehityskoneemme ja napsautammeRäätälöidyt palvelut, kopioi ensimmäinen komento,
ssh -p 37367 [email protected] -CNg -L {本地机器_PORT}:127.0.0.1:{开发机_PORT} -o StrictHostKeyChecking=no
Esitellään hänelle komennon kunkin osan merkitys:
-p 37367
: Määrittää SSH-yhteyden portin numeroon 37367, joka mainittiin aiemmin.[email protected]
: Osoittaa käytettäväksi root
Käyttäjätunnus muodostaa yhteydenssh.intern-ai.org.cn
tämä isäntä.-CNg
:
-C
Yleensä käytetään kompressoinnin mahdollistamiseen.-N
Ilmaisee, että etäkäskyjä ei suoriteta, mutta vain yhteydet muodostetaan portin edelleenlähetystä varten jne.-g
Salli etäisäntien muodostaa yhteys paikallisesti edelleenlähetettyihin portteihin.-L {本地机器_PORT}:127.0.0.1:{开发机_PORT}
: Tällä asetetaan paikallinen portin edelleenlähetys välittämään paikallisen koneen määritetty portti (by {本地机器_PORT}
edustaa) välitetty etäisännälle (tässä esim.ssh.intern-ai.org.cn
)/ 127.0.0.1
(eli paikallissilmukka-osoite) ja määritetty kehityskoneen portti (määrittää{开发机_PORT}
ilmaista).-o StrictHostKeyChecking=no
: Poista tiukka isäntäavaimen tarkistus käytöstä välttääksesi tuntemattomista isäntäavaimista johtuvat kehotteet tai virheet, kun muodostat yhteyden ensimmäisen kerran.Kun suoritat web-demoa, voit käyttää tätä komentoa porttikartoituksen suorittamiseen, esimerkiksi:
Luomme hello_world.py-tiedoston (klikkaa hiiren oikealla painikkeella kehityskoneen käyttöliittymää luodaksesi tiedoston ja muutamme nimeksi hello_world.py) ja täytämme tiedostoon seuraavan sisällön:
import socket
import re
import gradio as gr
# 获取主机名
def get_hostname():
hostname = socket.gethostname()
match = re.search(r'-(d+)$', hostname)
name = match.group(1)
return name
# 创建 Gradio 界面
with gr.Blocks(gr.themes.Soft()) as demo:
html_code = f"""
<p align="center">
<a href="https://intern-ai.org.cn/home">
<img src="https://intern-ai.org.cn/assets/headerLogo-4ea34f23.svg" alt="Logo" width="20%" style="border-radius: 5px;">
</a>
</p>
<h1 style="text-align: center;">☁️ Welcome {get_hostname()} user, welcome to the ShuSheng LLM Practical Camp Course!</h1>
<h2 style="text-align: center;">😀 Let’s go on a journey through ShuSheng Island together.</h2>
<p align="center">
<a href="https://github.com/InternLM/Tutorial/blob/camp3">
<img src="https://oss.lingkongstudy.com.cn/blog/202406301604074.jpg" alt="Logo" width="20%" style="border-radius: 5px;">
</a>
</p>
"""
gr.Markdown(html_code)
demo.launch()
Muista muokkauksen jälkeenctrl+s
Tallentaa
Ennen kuin suoritat koodin, sinun on käytettäväpip install gradio==4.29.0
Komento asentaa seuraavat riippuvuuspaketit (kopioi ja liitä komento päätteeseen) ja suorita sitten yksi Web IDE:n päätteessäpython hello_world.py
Tilaus
Jos porttikartoitusta ei suoriteta, sitä ei voi käyttää paikallisella IP-osoitteella.
Voin syöttää tämän powerShelliin seuraavalla komennolla:
ssh -p 37367 [email protected] -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
Tämä edustaa menestystä. (Ilmoitus: Tämä komento ei palauta mitään sisältöä, mikä tarkoittaa, että porttikartoitus on käynnissä, ja sitten näet web-käyttöliittymän avaamalla yhteyden verkkosivulla)
Tietenkin, jos käytämme erilaisia verkkokäyttöliittymiä, meidän on syötettävä toistuvasti komentoja, mikä on erittäin hankalaa, ja meidän on käytettävä VScodea.Olemme kytkeneet kehityskoneen etänä SSH:n kautta. Meidän ei tarvitse määrittää sitä manuaalisesti.Herätkää terminaali, porttivaihtoehdot löytyvät terminaalin oikealta puolelta:
Täällä voit tarkastella porttikartoitustietoja. Jos haluat muokata porttia, voit muokata portin numeroa porttisarakkeessa.
Tässä osassa opastan sinut ymmärtämään joitain Linuxin puolia.Perustoiminnot , ja käytä joitain työkaluja. Jotta jokainen voi ratkaista sen itse, jos kohtaat ongelmia, voit myös kommentoida täällä, niin vastaan sinulle ajoissa.
koska käytämmeKehityskoneharvoin käytettyviranomaishallinto , joten emme esittele sitä. (Seuraavat toiminnot suoritetaan VScode-päätteellä)
Linuxissa yleisiä tiedostonhallintatoimintoja ovat:
touch
komento luo tyhjän tiedoston.mkdir
Tilaus.cd
Tilaus.pwd
Tilaus.cat
Näytä suoraan tiedoston koko sisältö,more
jaless
Voidaan katsoa sivuilla.vi
taivim
Odota editoria.cp
Tilaus.ln
Tilaus.mv
Tilaus.rm
Tilaus.rmdir
(Vain tyhjiä hakemistoja voidaan poistaa) tai rm -r
(Ei-tyhjät hakemistot voidaan poistaa).find
Tilaus.ls
komento, kuten käyttämällä ls -l
Tarkastele yksityiskohtaisia tietoja hakemistossa olevista tiedostoista.sed
Tilaus.Tässä on useita komentoja, joita käytämme kurssilla:
Voimme käyttää kosketusta tiedostojen luomiseen nopeasti, joten meidän ei tarvitse napsauttaa manuaalisesti luodaksemme niitä.Haluamme esimerkiksi luoda ademo.py
asiakirja:
Samalla tavalla, jos haluat luoda tiedoston nimeltätest
Hakemisto:
Tämä komento on yleisimmin käytetty komento Ennen kuin käytät sitä, sinun on selitettävä hakemistorakenne opiskelijoille, joilla ei ole tietokonetaitoja, ja piirrettävä kuva, jonka kaikki ymmärtävät:
Se, mitä käytämme nyt, onroot
hakemistoon, joka on myös pääkäyttäjän kotihakemisto.~
, linux-käyttöjärjestelmässä/
Edustaa juurihakemistoa Juuri luomassamme hakemistossa on monia hakemistoja ja tiedostojaroot
hakemistoon, mukaan lukien.
Edustaa nykyistä hakemistoa,..
Edustettu ylätason hakemisto.Jos nyt menisin sisääntest
hakemistoon ja palaa sitten siihenroot
Hakemisto, voimme tehdä tämän:
voimme käyttääpwd
Komento tarkastella nykyistä hakemistoa: Tämä helpottaa meidän määrittää, missä hakemistossa olemme tällä hetkellä.
cat
Komento voi tarkastella tiedoston sisältöä ja lisää komentoja voidaan käyttää--help
Näytä komento:
Voimme käyttää sitä, kun tarvitsemme muokata tiedostojavi
taivim
-komento, kun siirryt tiedoston muokkaamiseen, on kolme tilaa:
Siirry käytettäväksi muokkaustilaani
, vimin mukavuus on, että voit tehdä yksinkertaisia tiedostomuokkauksia terminaalissa.
**cp
**Komentoa käytetään usein seuraavilla kursseilla. Sitä käytetään tiedoston tai hakemiston kopioimiseen toiseen hakemistoon.
cp 源文件 目标文件
cp -r 源目录 目标目录
Mutta jos haluamme käyttää mallia, tämä toiminto vie paljon levytilaa, joten käytämme yleensäln
komento, tämä on sama kuin Windowsin pikakuvake. Linuxissa on kahdenlaisia linkkejä:kova linkki(kova linkki) kanssapehmeä linkki (symbolinen linkki), kova linkki tarkoittaa, että tiedostolla voi olla useita nimiä, kun taas pehmeä linkki luo erityisen tiedoston, jonka sisältö osoittaa toisen tiedoston sijaintiin. Kovia linkkejä on samassa tiedostojärjestelmässä, mutta pehmeät linkit voivat kattaa eri tiedostojärjestelmiä.
Siksi käytämme yleensä pehmeitä yhteyksiä Sen yleiset käyttötavat ovat seuraavat:
ln [参数][源文件或目录][目标文件或目录]
Parametrit ovat seuraavat:
mv
komento jarm
Komentoja käytetään samalla tavalla, muttamv
Sitä käytetään tiedostojen tai hakemistojen siirtämiseen, ja se voidaan myös nimetä uudelleen.rm
Komentoa käytetään tiedostojen tai hakemistojen poistamiseen.
Yleisesti käytetyt menetelmät ovat seuraavat:
Yleisesti käytetyt parametrit:
-i
: Interaktiivinen tila, kysy ennen päällekirjoittamista.-f
: Voiman peitto.-u
: Siirrä vain, jos lähdetiedosto on kohdetiedostoa uudempi.Käyttöesimerkki:
mv file1.txt dir1/
: siirrä tiedosto file1.txt
Siirrä hakemistoondir1
keskellä.
mv file1.txt file2.txt
: siirrä tiedosto file1.txt
Nimeä uudelleen muotoonfile2.txt
。
rm-komento:
Yleisesti käytetyt parametrit:
-i
: Interaktiivinen tila, kysy ennen poistamista.-f
: Pakotettu poisto, ei-olemassa olevat tiedostot huomioimatta, ilman vahvistuskehotetta.-r
: Poistaa rekursiivisesti hakemiston ja sen sisällön.Käyttöesimerkki:
rm file.txt
:Poista tiedostot file.txt
。rm -r dir1/
: Poista hakemistoja rekursiivisesti dir1
ja kaikki sen sisältö.Hakemiston poistamiskomentoa voidaan myös käyttäärmdir
。
find
Komento on tehokas tiedostojen hakutyökalu Linux-järjestelmässä. Se voi etsiä tiedostoja tai hakemistoja, jotka täyttävät ehdot määritetystä hakemistosta ja sen alihakemistoista, ja suorittaa vastaavia toimintoja.
Seuraava onfind
Jotkut komennon yleiset käyttötavat:
-name
vaihtoehto etsiä tiedostoja tiedostonimen mukaan. Esimerkiksi,find /path/to/directory -name "file.txt"
etsii määritetystä hakemistosta ja sen alihakemistoistafile.txt
asiakirja.-type
vaihtoehto etsiä tiedostoja tiedostotyypin mukaan. Esimerkiksi,find /path/to/directory -type f
Kaikki tavalliset tiedostot määritetystä hakemistosta ja sen alihakemistoista löytyvät.-size
mahdollisuus etsiä tiedostoja tiedostokoon mukaan. Esimerkiksi,find /path/to/directory -size +100M
Löytää yli 100 Mt tiedostot määritetystä hakemistosta ja sen alihakemistoista.-mtime
、-atime
tai-ctime
Asetukset etsivät tiedostoja niiden muokkausajan, käyttöajan tai tilanmuutosajan perusteella. Esimerkiksi,find /path/to/directory -mtime -7
Löytää määritetystä hakemistosta ja sen alihakemistoista tiedostot, joita on muokattu 7 päivän kuluessa.-perm
vaihtoehto etsiä tiedostoja tiedostooikeuksien perusteella. Esimerkiksi,find /path/to/directory -perm 755
Löytää tiedostot, joilla on lupa 755 määritetystä hakemistosta ja sen alihakemistoista.-user
tai-group
Valinnat etsivät tiedostot omistajan tai ryhmän mukaan. Esimerkiksi,find /path/to/directory -user username
Hakee määritetystä hakemistosta ja sen käyttäjälle kuuluvista alihakemistoistausername
asiakirja.-exec
Optiot voivat suorittaa vastaavia toimintoja löydetyille tiedostoille. Esimerkiksi,find /path/to/directory -name "*.txt" -exec rm {} ;
poistaa kaikki löydetyt, jotka päättyvät.txt
tiedosto lopussa.ls
Komentoa voidaan käyttää listaamaan hakemiston sisältö sekäyksityiskohdat。
Yleisesti käytetyt parametrit ja käyttötavat ovat seuraavat:
-a
: Näytä kaikki tiedostot ja hakemistot, mukaan lukien piilotetut tiedostot (muiden kuin.
tiedosto tai hakemisto, joka alkaa kirjaimella .).-l
: Näyttää yksityiskohtaiset tiedot pitkässä muodossa, mukaan lukien tiedostojen käyttöoikeudet, omistaja, koko, muokkausaika jne.-h
:ja-l
Käytetään yhdessä näyttämään tiedostokoko ihmisen luettavalla tavalla (esim.K
、M
、G
odota).-R
: Listaa alihakemistojen sisältö rekursiivisesti.-t
: Näytä tiedostojen muokkausajan järjestyksessä. ,sed
Komento on stream-editori, jota käytetään pääasiassa tekstinkäsittelyyn. Sitä käytetään usein monimutkaisten tiedostotoimintojen käsittelyssä.sed
Yleisesti käytetyt parametrit ja komentojen käyttöesimerkit ovat seuraavat:
-e<script>
tai--expression=<script>
: Määritä komentosarjat suoraan komentorivillä tekstinkäsittelyä varten.-f<script文件>
tai--file=<script文件>
: Lue skripti määritetystä komentosarjatiedostosta tekstinkäsittelyä varten.-n
tai--quiet
tai--silent
: Tulosta vain skriptin käsittelemät tulostetulokset, äläkä tulosta täsmäämättömiä rivejä.a
: Lisää määritetty tekstimerkkijono nykyisen rivin seuraavalle riville.c
: Korvaa määritetyn rivialueen määritetyllä tekstimerkkijonolla.d
: Poista määritetty rivi.i
: Lisää määritetty tekstimerkkijono nykyisen rivin edelliselle riville.p
: Tulosta valitut rivit.yleensä kanssa-n
Käytettäessä yhdessä parametrien kanssa vain vastaavat rivit tulostetaan.s
: Käytä säännöllisiä lausekkeita tekstin korvaamiseen. Esimerkiksi,s/old/new/g
Korvaa kaikki "InternLM" sanalla "InternLM yyds".käytetään esimerkissäecho
komento, tämä on sama kuin pythonissaprint
Sama, käytetään sisällön tulostamiseen, käytä tässä putkimerkkiä>
Tulosta InternLM tiedostoon Yleisesti käytettyjä putkimerkkejä ovat<
ja|
voimme käyttää esimerkiksigrep
Komento tarkastella asennettuja osia pythonissaos
Kenttäpaketti:
grep
On tehokas tekstihakutyökalu. Yleisesti käytetyt parametrit ovat seuraavat:
-i
: Hae kirjainkoosta riippumatta.-v
: Kääntää vastaavuuden, eli näyttää täsmäämättömät rivit.-n
: Näytä rivinumero.-c
: Laske vastaavien rivien määrä.Prosessien hallintaKomennot ovat tärkeitä työkaluja järjestelmän valvontaan ja prosessien hallintaan Yleisesti käytettyjä prosessinhallintakomentoja ovat seuraavat:
Kehityskoneessa on myös erityinen komentonvidia-smi
, joka on NVIDIA System Management Interface -käyttöliittymän komentorivityökalu, jota käytetään NVIDIA GPU -laitteiden valvontaan ja hallintaan. Se tarjoaa nopean tavan tarkastella tietoja, kuten grafiikkasuorittimen tila, käyttö, lämpötila, muistin käyttö, virrankulutus ja GPU:ssa käynnissä olevat prosessit.
Seuraavassa on esimerkkejä kunkin komennon käytöstä:
ps
: Listaa nykyisen järjestelmän prosessit. Erilaisia prosessitietoja voidaan näyttää eri vaihtoehdoilla, kuten:ps aux # 显示系统所有进程的详细信息
top
: Näytä dynaamisesti prosessien tila järjestelmässä. Se päivittää prosessiluettelon reaaliajassa ja näyttää prosessit, joissa on eniten suorittimen ja muistin käyttöä.top # 启动top命令,动态显示进程信息
pstree
: Näyttää parhaillaan käynnissä olevat prosessit ja niiden ylä-lapsi-suhteet puukaavion muodossa. pstree # 显示进程树
pgrep
: Etsi kriteerit vastaavat prosessit. Voit etsiä prosesseja prosessin nimen, käyttäjän ja muiden ehtojen perusteella.pgrep -u username # 查找特定用户的所有进程
nice
: Muuta prosessin prioriteettia.nice
Mitä pienempi arvo, sitä korkeampi prosessin prioriteetti.nice -n 10 long-running-command # 以较低优先级运行一个长时间运行的命令
jobs
: Näyttää luettelon nykyisen pääteistunnon töistä, mukaan lukien taustalla käynnissä olevat prosessit. jobs # 列出当前会话的后台作业
bg
jafg
:bg
Aseta keskeytetty prosessi toimimaan taustalla,fg
Tuo taustaprosessi takaisin etualalle.bg # 将最近一个挂起的作业放到后台运行
fg # 将后台作业调到前台运行
kill
: Lähetä signaali määritetylle prosessille, jota käytetään yleensä lopettamaan prosessi. kill PID # 杀死指定的进程ID
Ilmoitus,kill
Komento lähetetään oletuksenaSIGTERM
Signaali, jota voidaan käyttää, jos prosessi ei vastaa-9
käyttääSIGKILL
Signaali tappaa prosessin voimakkaasti:
kill -9 PID # 强制杀死进程
SIGTERM
Signaalin päättäminen (Signal Termination) on standardisignaali, jota käytetään Unix- ja Unix-tyyppisissä käyttöjärjestelmissä prosessin lopettamisen pyytämiseen. Tämä signaali lähetetään yleensä, kun järjestelmä tai käyttäjä haluaa sulkea prosessin sulavasti.jaSIGKILL
Signaalit ovat erilaisia,SIGTERM
Prosessi voi siepata ja käsitellä signaaleja, jolloin prosessi puhdistuu ennen poistumista. (internetistä)
Seuraava on nvidia-smi
Joitakin komentojen peruskäyttöä:
nvidia-smi
nvidia-smi -l 1
Tämä komento päivittää tilatiedot 1 sekunnin välein.
nvidia-smi -h
nvidia-smi pmon
nvidia-smi --id=0 --ex_pid=12345
Tämä lopettaa väkisin prosessin, jonka PID 12345 on GPU ID 0.
nvidia-smi -pm 1
nvidia-smi -i 0 -pm 1
Ensimmäinen komento asettaa kaikki GPU:t suorituskykytilaan, toinen komento kohdistuu vain GPU:hun, jonka tunnus on 0.
nvidia-smi --id=0 -r
Tämä käynnistää uudelleen GPU:n tunnuksella 0.
nvidia-smi -h
Seuraavassa on johdatus GPU-tietoihin kuvan kautta:
Tässä on työkaluTMUX
,TMUX
on päätemultiplekseri. Sen avulla on helppo vaihtaa useiden päätteiden välillä, irrottaa ne (tämä ei tapa terminaaleja, ne jatkavat toimintaansa taustalla) ja yhdistävät ne uudelleen muihin liittimiin. Miksi ottaa tämä työkalu käyttöön?Koska se tehdään myöhemminXtuner
Mallin hienosäätö kestää kauanTmux
Se voi ratkaista tilanteen, jossa ohjelma lopetetaan ja keskeytetään. Näin asennat ja käytät sitä.
Koska kehityskone käyttää ubuntu-käyttöjärjestelmää, voit käyttäälsb_release -a
Komento tarkastella ubuntu-järjestelmätietoja:
ja sitten käyttääapt install tmux
tmuxin asennuskomento Voit käyttää sitä asennuksen jälkeen.tmux
Voit käyttää tmux-komentoa. Jos haluat poistua tmuxista, voit käyttää ".Ctrl+d"pikanäppäin.
Kehityskoneessa vain /root-polun alla olevat tiedostot tallennetaan jatkuvasti Muille poluille asennetut ohjelmistot nollataan uudelleenkäynnistyksen jälkeen.
Tarkat käyttötavat ovat nähtävissä osoitteessa:
https://www.ruanyifeng.com/blog/2019/10/tmux.html
Conda on avoimen lähdekoodin pakettien hallinta- ja ympäristönhallintajärjestelmä, joka toimii Windowsissa, macOS:ssä ja Linuxissa. Se asentaa, suorittaa ja päivittää nopeasti ohjelmistopaketteja ja niiden riippuvuuksia. Condan avulla voit helposti luoda, tallentaa, ladata ja vaihtaa erilaisia ympäristöjä paikallisella koneellasi.
Asennettu jo kehityskoneeseenconda
, voimme käyttää sitä suoraan, ja kehityskoneessa on myös sisäänrakennettu sellainenconda
Tilausstudio-conda
, esittelemme allaconda
Peruskäyttö jastudio-conda
Kuinka käyttää ja esitellästudio-conda
Miten se saavutetaan.
Esittelemme sen seuraavissa osissa:
voimme käyttääconda --version
nähdäksesi nykyisen kehityskoneenconda
versiotiedot:
kun haluamme käyttääconda
Se on erittäin hidasta pakettia asennettaessa. Voimme asettaa kotimaisen peilauksen asennusnopeuden parantamiseksi.
#设置清华镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
Mutta yleensä käytämmepip
Asennamme paketin, esittelemme sen myöhemminpip
jaconda
ero.
Jos haluamme nähdä condan kokoonpanotiedot, voimme käyttääconda config --show
-komento, jos se on kehityskoneen oletusasetus, se palauttaa: (osa tiedoista)
Nämä kokoonpanot ovat mukanaConda
Ympäristön konfigurointi vaikuttaa ohjelmistopakettien asennuksen, päivitysten, ympäristönhallinnan ja muiden toimintojen menetelmiin ja tuloksiin.
Tämä osa onconda
中非常重要的一部分,掌握了这一部分大家就可以将开发环境玩转到飞起了😀。
voimme käyttääconda create -n name python``=3.10
Luo virtuaalinen ympäristö, mikä tarkoittaa, että luodaan virtuaalinen ympäristö Python-versiolla 3.10 ja nimellä.Luomisen jälkeen voit.conda
hakemiston allaenvs
Löytyy hakemistosta.
Kun python-versiota ei ole määritetty, uusimpaan python-versioon perustuva virtuaaliympäristö luodaan automaattisesti. Samalla voimme asentaa tarvittavat paketit virtuaaliympäristön luomisen yhteydessä:conda create -n name numpy matplotlib python=3.10
(Mutta en suosittele käyttämään sitä tällä tavalla)
Yleiset parametrit virtuaaliympäristön luomiseksi ovat seuraavat:
Jos haluamme nähdä, mitä virtuaalisia ympäristöjä meillä on, voimme käyttää seuraavaa komentoa:
conda env list
conda info -e
conda info --envs
Samalla voimme nähdä myös hakemiston, jossa ympäristö sijaitsee.
Kun olemme luoneet virtuaaliympäristön, jota voimme käyttääconda activate name
komento virtuaaliympäristön aktivoimiseksi, kuinka tarkistaa, onko vaihto onnistunut?Se on helppoa, katso vain(base)
Tuleeko siitä luodun virtuaaliympäristön nimi.
Jos haluat poistua virtuaaliympäristöstä, voit käyttää:
conda activate
conda deactivate
Molemmat komennot palaavatbase
ympäristö, koskabase
Se on condan perusympäristö, jos tarkkailet,base
Ympäristöhakemisto on korkeammalla tasolla kuin muut virtuaaliympäristön hakemistot.
Jos haluat poistaa virtuaaliympäristön, voit käyttääconda remove --name name --all
, jos poistat vain yhden tai joitakin paketteja virtuaaliympäristössä, voit käyttääconda remove --name name package_name
Virtuaaliympäristön vienti on erittäin tarpeellista tietylle ympäristölle, koska joidenkin ohjelmistopakettien riippuvuudet ovat erittäin monimutkaisia, ja on hankalaa luoda ja määrittää se itse. ja voit myös jakaa määritykset muiden kanssa.
#获得环境中的所有配置
conda env export --name myenv > myenv.yml
#重新还原环境
conda env create -f myenv.yml
Esimerkiksi teemmextuner0.1.17
Virtuaalinen ympäristö viedään ja määritystiedot ovat seuraavat:
Nämä sisältävätympäristön nimi、Virtuaaliympäristöpakettien online-varaston sijaintijaVirtuaaliympäristön riippuvuudet . Myöhemmin käytämme kehittyneitä käyttötapoja palauttaaksemme virtuaaliympäristön nopeasti.
Tässä osassa esittelemme joitainconda
japip
Joitakin eroja:
Pyörä Se on Python-asennuspaketin muoto.
Se on esikäännetty binäärijakelumuoto, joka on samanlainen kuin condassa käännetyt binaarit.
Wheel-muodon tärkeimmät edut ovat:
- Nopea asennus: Koska se on esikäännetty, käännösprosessia, kuten lähdekoodin asennusta, ei tarvitse käydä läpi asennuksen aikana, mikä säästää aikaa.
- Johdonmukaisuus: varmistaa, että asennustulokset ovat yhdenmukaisia eri järjestelmissä ja ympäristöissä.
Jos esimerkiksi haluat asentaa suuren Python-kirjaston, Wheel-muodon käyttäminen voi välttää asennusongelmat, jotka johtuvat eroista eri koneiden käännösympäristöissä. Lisäksi niissä järjestelmissä, joissa ei ole käännösympäristöä tai joilla on heikot käännösominaisuudet, Wheel-muoto voi tehdä asennusprosessista sujuvamman.
Tämä osa on laajennettu osa, koska tämä osa on mielestäni erittäin mielenkiintoinen ja erittäin käytännöllinen, joten jos olet kiinnostunut, voit oppia sen.
Esittelemme ensinstudio-conda
, joka on kehityskoneen sisäänrakennettu komento ja se toteutetaan Shell-komentosarjan kautta. Mikä on Shell-skripti?
Shell-käsikirjoitus Tekstitiedosto, joka sisältää sarjan komentoja, jotka on järjestetty tiettyyn järjestykseen tehtävien automatisoimiseksi Unix/Linux tai vastaavassa käyttöjärjestelmäympäristössä.
Shell-skriptit kirjoitetaan yleensä Shell-kielellä. Yleiset Shell-kielet, kuten Bash, Sh, jne. ovat aiemmin käyttöönottamamme peruskomennot, jotka kuuluvat Shell-kieleen.
Siinä on seuraavat tärkeät ominaisuudet:
Ettästudio-conda
Se on osa automaatiota. Kehityskoneemme pääkäyttäjän bash-ympäristön määritystiedosto on.bashrc
, mutta itse asiassa pääasetustiedosto on/share/.aide/config/bashrc
, tähän tiedostoon on kirjoitettu joitain komentoja, joiden avulla voimme suorittaa joitain toimintoja nopeammin, kuten:
export no_proxy='localhost,127.0.0.1,0.0.0.0,172.18.47.140'
export PATH=/root/.local/bin:$PATH
export HF_ENDPOINT='https://hf-mirror.com'
alias studio-conda="/share/install_conda_env.sh"
alias studio-smi="/share/studio-smi"
export
käytetään ympäristömuuttujien asettamiseen.alias
on kopioida sh-tiedosto muuttujaksi. Tämä voidaan suorittaa päätteessä Ourstudio-conda
Se siitä.
tässästudio-smi
Sitä käytetään virtuaalimuistin käytön tarkistamiseen Avattaessa/share/studio-smi
Tiedoston voi nähdä:
#!/bin/bash
if command -v vgpu-smi &> /dev/null
then
echo "Running studio-smi by vgpu-smi"
vgpu-smi
else
echo "Running studio-smi by nvidia-smi"
nvidia-smi
fi
Tätä komentosarjaa käytetään tarkistamaan, onko olemassa a vgpu-smi
komento, jos se on olemassa, se suoritetaanvgpu-smi
näyttää virtuaalisen GPU:n (vGPU) tilatiedot, jos sitä ei ole, se toimiinvidia-smi
näyttääksesi NVIDIA GPU:n tilatiedot. Kuten alla:
nvidia-smi
on työkalu fyysisten NVIDIA GPU -laitteiden valvontaan ja hallintaanvgpu-smi
Suunniteltu valvomaan ja hallitsemaan NVIDIA vGPU -tekniikan avulla virtualisoituja GPU-resursseja.
katsomme/share/install_conda_env.sh
Tiedoston sisältö on seuraava:
#!/bin/bash
# clone internlm-base conda env to user's conda env
# created by xj on 01.07.2024
# modifed by xj on 01.19.2024 to fix bug of conda env clone
# modified by ljy on 01.26.2024 to extend
XTUNER_UPDATE_DATE=`cat /share/repos/UPDATE | grep xtuner |awk -F= '{print $2}'`
HOME_DIR=/root
CONDA_HOME=$HOME_DIR/.conda
SHARE_CONDA_HOME=/share/conda_envs
SHARE_HOME=/share
list() {
cat <<-EOF
预设环境 描述
internlm-base pytorch:2.0.1, pytorch-cuda:11.7
xtuner Xtuner(源码安装: main $(echo -e "033[4mhttps://github.com/InternLM/xtuner/tree/main033[0m"), 更新日期:$XTUNER_UPDATE_DATE)
pytorch-2.1.2 pytorch:2.1.2, pytorch-cuda:11.8
EOF
}
help() {
cat <<-EOF
说明: 用于快速clone预设的conda环境
使用:
1. studio-conda env -l/list 打印预设的conda环境列表
2. studio-conda <target-conda-name> 快速clone: 默认拷贝internlm-base conda环境
3. studio-conda -t <target-conda-name> -o <origin-conda-name> 将预设的conda环境拷贝到指定的conda环境
EOF
}
clone() {
source=$1
target=$2
if [[ -z "$source" || -z "$target" ]]; then
echo -e "033[31m 输入不符合规范 033[0m"
help
exit 1
fi
if [ ! -d "${SHARE_CONDA_HOME}/$source" ]; then
echo -e "033[34m 指定的预设环境: $source不存在033[0m"
list
exit 1
fi
if [ -d "${CONDA_HOME}/envs/$target" ]; then
echo -e "033[34m 指定conda环境的目录: ${CONDA_HOME}/envs/$target已存在, 将清空原目录安装 033[0m"
wait_echo&
wait_pid=$!
rm -rf "${CONDA_HOME}/envs/$target"
kill $wait_pid
fi
echo -e "033[34m [1/2] 开始安装conda环境: <$target>. 033[0m"
sleep 3
tar --skip-old-files -xzvf /share/pkgs.tar.gz -C ${CONDA_HOME}
wait_echo&
wait_pid=$!
conda create -n $target --clone ${SHARE_CONDA_HOME}/${source}
if [ $? -ne 0 ]; then
echo -e "033[31m 初始化conda环境: ${target}失败 033[0m"
exit 10
fi
kill $wait_pid
# for xtuner, re-install dependencies
case "$source" in
xtuner)
source_install_xtuner $target
;;
esac
echo -e "033[34m [2/2] 同步当前conda环境至jupyterlab kernel 033[0m"
lab add $target
source $CONDA_HOME/bin/activate $target
cd $HOME_DIR
echo -e "033[32m conda环境: $target安装成功! 033[0m"
echo """
============================================
ALL DONE!
============================================
"""
}
······
dispatch $@
yksi heistä*list
*()
Odota, se on kaikkistudio-conda
toiminto, joka voi toteuttaa tiettyjä toimintoja, esimerkiksi voimme käyttäästudio-conda env list
Voit tarkastella oletusympäristöä seuraavasti:
sisään*clone
*()
Toiminnon päätehtävä on kopioida ympäristö, mutta se voidaan kopioida vain oletusympäristöstä Pääkoodi on itse asiassa:
tar --skip-old-files -xzvf /share/pkgs.tar.gz -C ${CONDA_HOME}
conda create -n $target --clone ${SHARE_CONDA_HOME}/${source}
Pura esiasetetun ympäristön pakattu paketti ja luo sitten virtuaalinen ympäristö kloonauksen avulla. Jotain logiikkaa on kuitenkin asetettu myös Shell-skriptiin, mutta se on vain harkinta, jos olet perehtynyt mihin tahansa ohjelmointikieleen Jos et ymmärrä sitä, se ei ole suuri ongelma.
Joten miten lisäämme oman luomamme ympäristömmestudio-conda
Entä keskimmäinen?
Ensimmäinen askel on luoda uusi conda-ympäristö hakemistoon /share/conda_envs
conda create -p /share/conda_envs/xxx python=3.1x
Toinen vaihe on kopioida tiedostot hakemistosta /root/.conda/pkgs paikalliselta koneelta kansioon /share/pkgs, pakata uudelleen ja korvata ne (tämä vaihe on tallentaa suuret julkiset paketit conda-luontiprosessin aikana toistuvien latausten välttämiseksi)
cp -r -n /root/.conda/pkgs/* /share/pkgs/
cd /share && tar -zcvf pkgs.tar.gz pkgs
Kolmas vaihe on päivittää luettelotoiminto tiedostossa install_conda_env.sh ja lisätä uusi conda-ympäristön kuvaus.
Yllä oleva on kehityskoneen oletusarvoisesti tarjoama menetelmä. Itse asiassa on olemassa toinen menetelmä, jota käytimme aiemminconda
Vietiinxtuner0.1.17
Voimme käyttää virtuaaliympäristöjen konfiguraatiotiedostojaconda env create -f xtuner0.1.17.yml
komento palauttaa virtuaaliympäristö.Kirjoitetaan yksinkertainen Shell-skripti tämän toiminnon toteuttamiseksi: Luommetest.sh
tiedostoon, kirjoita seuraava sisältö:
#!/bin/bash
# 定义导出环境的函数
export_env() {
local env_name=$1
echo "正在导出环境: $env_name"
# 导出环境到当前目录下的env_name.yml文件
conda env export -n "$env_name" > "$env_name.yml"
echo "环境导出完成。"
}
# 定义还原环境的函数
restore_env() {
local env_name=$1
echo "正在还原环境: $env_name"
# 从当前目录下的env_name.yml文件还原环境
conda env create -n "$env_name" -f "$env_name.yml"
echo "环境还原完成。"
}
# 检查是否有足够的参数
if [ $# -ne 2 ]; then
echo "使用方法: $0 <操作> <环境名>"
echo "操作可以是 'export' 或 'restore'"
exit 1
fi
# 根据参数执行操作
case "$1" in
export)
export_env "$2"
;;
restore)
restore_env "$2"
;;
*)
echo "未知操作: $1"
exit 1
;;
esac
Kun olemme luoneet Shell-skriptin, meidän on myönnettävä komentosarjalle käyttöoikeudet.chmod +x test.sh
, syötä sitten./test.sh restore xtuner0.1.17
Ja paina Enter palauttaaksesi virtuaaliympäristön.
Tämä ei kuitenkaan juurikaan eroa suorasta käytöstä, jos tätä toimintoa verrataan kehityskoneen toimintaan,studio-conda
Komentojen yhdistäminen on erittäin kätevää, mutta ympäristön kopiointimenetelmät ovat erilaisia.Siksi, jos haluat toteuttaa sen, sinun on tehtävä se/share/install_conda_env.sh
Tiedoston logiikkaa on muutettu.
Okei, tämä on kaikki tämän tason sisältö. Toivon, että yllä olevasta sisällöstä on hyötyä kaikille tulevaisuudessa, jos haluat lukea lisää Linuxista , se auttaa meitä oppimaan suurilla malleilla ei ole paljon vaikutusta, mutta jos opit Linuxin hyvin, se tekee suurten mallien oppimisesta erittäin sujuvaa. Lopuksi, älä unohda suorittaa aiemmin asettamamme tasoja!
Linkki blogiin:Linux
Suorita huolella! ! ! !Kaikki tiedot menetetään. Tämä on käytettävissä vain InternStudio-alustalla. Älä tee tätä omalla koneellasi.
rm -rf /root
, odotus kestää noin 10 minuuttialn -s /share /root/share
Jotta voit läpäistä tason tehtävän, sinun on otettava kuvakaappaukset avainvaiheissa:
tehtävän tiedot | Valmistukseen vaadittu aika | |
---|---|---|
Tehtävä | Viimeistele SSH-yhteys ja porttikartoitus ja suoritahello_world.py | 10 min |
Valinnainen tehtävä 1 | Suorita Linuxin peruskomennot kehityskoneella | 10 min |
Valinnainen tehtävä 2 | Käytä VSCODEa muodostaaksesi etäyhteyden kehityskoneeseen ja luodaksesi conda-ympäristön | 10 min |
Valinnainen tehtävä 3 | Luo ja suoritatest.sh asiakirja | 10 min |