2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Articulus hic est notae tertiae magnae exemplar praxis castrorum pro scholaribus hosted a Shanghai Intelligentia Artificialis Laboratory est solum a singulis et docendis adiutoribus cum corrigendis congue sem.Tutorial original link。
Ad subcriptio, quaere "Tertium Scholaris Exemplar Exercitium Castra" in WeChat.
Nota haec nota personaliter annotata modificata ex originali tutorial.
😀Hello大家好,欢迎来到Scholaris magnae exemplarCastra practica, hic cursus fundamentalis praeparatur a castris practicis studentibus qui primum participent castra practica, et studentes ex variis industriis qui nullam habent scientiam fundamentalem LinuxInternStudio evolutionis machinaet magister quidam basicsLinux scientia ita ut omnes nihil sentiant ubi in sequentibus hisce cursus committitur. Munera aliqua in aequo paravimus tibi hic labores.Sit scriptor committitur!
InternStudio 是大模型时代下的云端算力平台。基于 InternLM 组织下的诸多算法库支持,为开发者提供开箱即用的大语言模型微调环境、工具、数据集,并完美兼容 🤗 HugginFace 开源生态。
Si plura scire vis de InternStudio, potes sequentia documenta inspicere: InternStudio
https://studio.intern-ai.org.cn/
Primum nexum superius aperi ut InternStudio ingrediaris. Post colligationem in sponte salies ad interfaciem consolatorium, ut in figura infra ostendetur.
Dicam tibi functiones paginarum singulis numerorum serialium respondens:
Haec brevis introductio ad InternStudio suggestum est. Videamus quomodo machinam evolutionis efficiat.Creare progressus machina”
Hic eligimus crearepersonali machina, nominetest,CudaVersio 12.2;Resource destinatioLego X% et default durationis est finis.
Post creationem completum estProgressio machinaVidere potes machinam evolutionis quae modo creata est in interface.
Post ingressus machinam evolutionis, videre potes primam paginam evolutionis machinae.JupyterLab, Terminatio et VScode
in:
Nos supra induximusInternStudio Platformac quomodo machinam evolutionis efficiatSSH、Quid utor remotis iunctio, Quomodo uti SSHremotis iunctioMachina progressio, quid est?Port Mappinget quomodoPort Mapping。
SSHPlenum nomen est Secure Testa, quod in Sinica translatum est sicut testa firmanetwork securitatem protocol , fac securam accessum ac file translationem ac alia officia per encryptionem et authenticas machinas. Protocollum SSH operas retis secures praebet in ambitu retis insecuris per encrypting et authenticas retis notitias.
SSH est (C/S architectura) byserveretclientisUt securam alveum SSH constituam, utraque pars nexum TCP constituendum primum opus est, deinde numerum versionis tractandum et algorithmorum variarum usum, eundemque generandum.sessionem clavis propter encryption symmetrica subsequent. Authenticatione peracta, utraque pars sessionem pro notitia commutationis constituere potest.
Deinde in subsequenti usu volumusConfigurare SSH claves, clavis configurationis est ut saepe tesseram ingredi non debeamus cum machinae evolutionis remotius coniungimus, deindeCur iungo remotius??
Commodum nexus remotae est quod, si remota officio uteris, remotius coniungere potes machinae evolutionis per SSH, ut localiter evolvere possis. Et si opus est ut aliquo codice loci currere et ambitum non habere, nexus remotior valde necessarius est.
Primum modum ingrediendi tesseram pro SSH nexu remoto utimur. Postea loquemur quomodo ad login liberum tesseram configurare debemus.
Peracta creatione machinae evolutionis, necesse est ut potentiae nostrae computatorii et usus terminatio aperiaturVincere+R Utere brevibus clavis ut capsam procursum aperias, powerShell intra, et potestatemShell terminalem aperi. (Si curris Linux vel Mac operandi ratio, vestigia sequentes idem sunt)
Redimus ad machinam evolutionis suggestum et intramusProgressio machinaInvenire machinam evolutionis in pagina et click creavimusSSH nexum。
tum effingoLogin imperium, 37367 hic est portus SSH usus machinae evolutionis. Fere portus 22 adhibetur. Sine portu isto numero, ad SSH coniungere non potes, et portus omnium diversus est, ergo si machinam evolutionis coniungas Si coniungere non potes. , reprehendo an portus erras.
Crustulum mandatum transcriptum in potestaria et premunt Intra.Nota quod, exscriptum tesseram, ius-click ad crustulum illudshift+ins
Tessera conglutinata hic non ostendetur, hoc normale est.
Demum torcular Intra et sequenti contenta apparet, successum indicans;
Postquam machinam evolutionis coniungimus, uti possumushostname
Apparatus progressus ad nomen videre, utereuname -a
Ut videre nuclei informationem machinae evolutionis, uterelsb_release -a
Ad informationem versionem machinae evolutionis inspicere, uterenvidia-smi
GPU informationes perscribe. De his mandatis postea loquemur. Si vis remotam connexionem exire, bis intrant.exit
Id est.
Sed cum enucleamus ac studemus, molestum est signum in omni tempore longinquo ingredissh-keygeniubes generare clavem
Clavis SSH tuta et opportuna methodus login authenticas est, adhibita ad authenticas et encryptas communicationis in protocollo SSH.
ssh-keygenTum RSA et DSA claves authenticas adiuvat.
Communiter parametri includit:
Hic utimur algorithmus RSA ad clavem generandam, praeceptum est;
ssh-keygen -t rsa
Post ingressus imperiumIntra omnem viamId est, clavis hic defalta generatur~/.ssh/
sub presul;~
Significat directorium domus, si fenestrae sunt, estC:Users{your_username}
.Potest in powerShellGet-Content
Mandatum videre clavem generatam, quae adhiberi potest si ratio operativa Linux estcat
Ordo.
Tunc revertamur ad suggestum evolutionis machinae et click configurationis in pagina protocollumSSH Key, tunc deprimeAdde SSH publica clavis,
Effingo clavem quam modo generatam et conglutinatam in arca publica clavis. Nomen automatice cognoscetur. Denique preme Add Nunc et SSH Clavis figura completa est.
Post expletum SSH Key creatio, sileoterminatioCum e longinquo connectens, gradus tesserae ingrediendi omittendus erit.
Utique, utaris coniunctionis SSH remotae uti potes, ut:Windterm、Xterminal manere. Hic utimur VScode ad remotam connexionem. Commodum utendi VScode est illud codicis editor, quod ad modificationem et alias operationes codicem accommodatissimum est.
Si in VScode remotius coniungere velimus, etiam statutum obturaculum-ins instituere debes. (vscode in machina evolutionis hoc obturaculum inquirere non potest, sed loci vscode potest)
Si VScode instituisti, deprime in pagina extensionis sinistrae et "SSH" in arca inquisitionis intrare.
Post obturaculum in insertis, preme nexum remotam iconem in parte laterali, preme "+" bullam in SSH, et adde mandatum login pro SSH connexione machinae evolutionis.
Mandatum login imitamur, deinde mandatum crustulum in fenestra pop-upi, ac tandem prelum Intra:
Lima configurationis defalta tenuis est. Utique, id quoque mos est.
Host ssh.intern-ai.org.cn #主机ip也可以是域名
HostName ssh.intern-ai.org.cn #主机名
Port 37367 #主机的SSH端口
User root #登录SSH使用的用户
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
Si vis aliquas optiones configurationis sequentis manuale addere, debes partes respondentes secundum formam superius mutare.
Si *
StrictHostKeyChecking
no
etUserKnownHostsFile
*/dev/null
Delere pop-up fenestram, quae pop sursum pro fingerprints verificationem:
StrictHostKeyChecking no
Significat strictam exercitum clavem reprimendorum debilitatum esse. Hoc significat quod cum novo SSH servo coniungens, clavem exercitus servi non stricte verificabitur, quod certum periculum securitatis inponere potest.
UserKnownHostsFile /dev/null
Hospes clavem limam usori /dev/nulli notam ponit, quae per se memoriam et usum clavium exercitus notarum notarum ignorat.Tamen, in usu securitatis generalis, non commendatur ad libitum inactivandi strictam exercitum clavem tenendo.
Deprime "Iungo" in fenestra prompta, quae pops sursum in angulo dextro inferiori, ut remote conectere cum machina evolutionis.
Post remotam connexionem peractam, folder ut aperias eligere potes, quod etiam directorium operarium vocari potes.nubes orbis。
Cum remotam connexionem proximo tempore feceris, mandata login aliaque informationes intrare non debes. Tantum opus est nexum remotum vscode aperire ad informationem machinae evolutionis primae nexus videndi, ut sequiturroot
Significat quod cum primum machinam evolutionis coniungimus, utimur/root
Opus album.
Et in pictura infra->
Indicat opus esse te reselectare directorium operationis postquam machinam evolutionis ingrediens:
Et in pictura infra->
Indicat ingrediens directorium laboris electum per ultimam machinam evolutionis:
Operatio directorium unumquodque tempus electum sub informatione machinae evolutionis ostendetur: (addita est operandi directorium pro lagent hic)
Deinde introducemus cumPort Mapping。
Port Mapping Res technologiae retis est quae portum quemlibet in retis extraneis ad portum correspondentem in retis internis describere potest ut communicationem inter retem internum et retem externam cognoscat. Per portum destinata, officia vel applicationes in intraneum possunt ab retis externi accedere ad communicationem convenientem trans retis consequendam.
Cur ergo opus est portum destinata efficere cum machina evolutionis utens?
Quia in sequentibus agemus exemplaweb_demo In praxi in instruere, in hoc processu, verisimile est tibi problema incompletae oneratione interretialis occurrere ui.Causa est, quia cum web_demo in evolutionis machina Web IDE currit, directe accessus ad http/https ministerium in machina evolutionis problemata procuratorem potest occurrere.ui opibusNon oneratus omnino.
Ad hanc igitur quaestionem solvendam, nexum currentem interretialem acNexus retis externi ad nostrum localem exercitum provisi sunt adhibemus nexum localem accessum ad solvendam hanc quaestionem procuratorem. Nunc id agamus.
Prius intellegamus quomodo machinae evolutionis operas mappings in schemate fundatae sint:
Gradus practici infra sunt.
ssh -p 37367 [email protected] -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
Praeceptum est mandatum mapping portum. Curre hoc praeceptum in exercitu ad portum destinata perficiendum.
PC personale remotius coniunget ad portum unicum expositum 37367 machinae evolutionis (hoc in SSH memoratur et portus expositus cuiuslibet machinae evolutionis differt), et optiones cuniculi pone. Portus expositi servit stationem transitivam ad mercaturam procuret.
-C
: Compressionem activare ad redigendum moles notitia transfertur.-N
: remota imperia non facit, cuniculos tantum instituit.-g
: Sinite remotas turmas coniungere portubus localiter transmissis.Cum hoc mandatum SSH exercetur in PC personale, client SSH audiet de portu 7860 machinae localis.
Quaelibet negotiatio ad portum localem 7860 mittenda ab SSH cuniculo ad portum 7860 mittenda in inscriptione servo remota 127.0.0.1.
Hoc significat, etiamsi hic portus evolutionis machinae retis externi non directe pateat, tuto accessum ad officia in remoto servo per hoc cuniculum posse. .
Adhuc ingredimur ad machinam evolutionis interfaciei, machinam nostram evolutionis invenimus, et deprimeCustom servicesimitare primum imperium;
ssh -p 37367 [email protected] -CNg -L {本地机器_PORT}:127.0.0.1:{开发机_PORT} -o StrictHostKeyChecking=no
Cuique parti praecepti significationem ei inducamus:
-p 37367
: portum designat pro SSH connexione ad 37367, de quo supra dictum est.[email protected]
: Indicat uti root
User identitatem coniungitssh.intern-ai.org.cn
hunc exercitum.-CNg
:
-C
Typice ad enable cogo.-N
Indicat, remotis mandatis non exsecutioni mandandis, sed tantum necessariis constitutis ad portum transmittuntur, etc.-g
Patitur remotas turmas coniungere ad portus localiter transmittantur.-L {本地机器_PORT}:127.0.0.1:{开发机_PORT}
: Hoc est constituere portum localem procuret ut certum portum machinae localis transmittat (per " {本地机器_PORT}
represents) remotum exercitum transmittere (here i.e.ssh.intern-ai.org.cn
)of* 127.0.0.1
(i.e. localis loopback oratio) et certa progressio machinae portum (definitum per "{开发机_PORT}
exprimere).-o StrictHostKeyChecking=no
: Clavem militiae stricte averte reprehendo ad vitandum suggerit vel errores ob claves hospes ignotae cum primum connectens.Cum demo interretialem curris, hoc praecepto uti potes ad portum destinata perficiendum, exempli gratia:
Fasciculum hello_world.py creamus (dextera-click in instrumento evolutionis machinae ad limam creandam et nomen ad hello_world.py mutandum) et sequenti tabella contentum imple:
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()
Memento post recenserectrl+s
salvare
Priusquam codicem currit, uti debespip install gradio==4.29.0
Mandatum ut sequentes fasciculi dependentiae instituantur (exemplar et crustulum mandatum in terminale), et deinde unum in termino Web IDE curruntpython hello_world.py
Ordo
Si portus tabularum faciendarum non est, adiri non potest IP localis usus.
Hoc intrare possum in powerShell utens mandato sequenti:
ssh -p 37367 [email protected] -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
Agitur de successu. (Notice: Hoc mandatum non refert aliqua contenta, quae significat portum mapping currere, et tunc videre potes per telam ui interfaciendi aperiendo nexum in pagina interreti)
Utique, si alia tela UIs currimus, mandata identidem ingredi debemus, quae valde molesta sunt, et VScode uti necesse est.Conteximus machinam evolutionis remote per SSH. VScode praebet automatae portum destinata. Non opus est ut manually configurare possimus.Excitare terminumportus bene reperiuntur a dextra terminali parte;
Hic portum tabularum informationum inspicere potes. Si portum mutare debes, numerum portum in columna mutare potes.
In hac parte tibi accipiam nonnulla de LinuxBasic res ac instrumentis uti. Ut quisque eam per se solvere possit cum difficultates amittas.
quia utimurProgressio machinararo usus estprocuratio auctoritatis sic non introducemus. (Sequentiae operationes omnes in VScode terminatio aguntur)
In Linux, commune fasciculi administratio operationum complectitur:
touch
imperium lima vacua creat.mkdir
Ordo.cd
Ordo.pwd
Ordo.cat
Directe totam tabellae contenta ostendunt,more
etless
In paginis videri potest.vi
or *vim
Expecta editorem.cp
Ordo.ln
Ordo.mv
Ordo.rm
Ordo.rmdir
(Tantum inanis directoria deleri possunt) vel rm -r
(Notationes vacua non deleri possunt).find
Ordo.ls
imperium, ut usura ls -l
Visum detailed informationem de files in indicem.sed
Ordo.Hic plura praecepta utemur in cursu;
Tactu uti possumus ad files cito creandos, ideo non habemus ut manually strepat ut eas creans.Exempli gratia, creare volumusdemo.py
documentum:
Eodem modo, si limam nominatam creare vistest
Directorium:
Hoc mandatum erit communissimum mandatum.
Quod utimur nunc estroot
directorium, quod est etiam directorium domus radicis usoris.~
In Linux operating ratio/
Repraesentat radicem directoriumroot
presul, in quo.
Repraesentat hodiernam directorium,..
Directorium parentis repraesentatum est.Si nunctest
et ad Directoryroot
Directorium hoc facere possumus:
uti possumuspwd
Mandatum ad videndum directorium hodiernam: Hoc facilius nobis est determinare utri directorio in praesenti sumus.
cat
Praeceptum tabellae videre potest, et plura mandata adhiberi possunt--help
Mandatum ad visum:
Ea uti possumus cum files recensere opus estvi
or *vim
impera, cum fasciculum in quamcumque emendum intras, tres sunt modi;
Intra recensere modus utendii
commoditas vim est ut modificationes simplices fasciculi in terminali facere possis.
**cp
**Praeceptum saepe adhibebitur in sequentibus.
cp 源文件 目标文件
cp -r 源目录 目标目录
Sed si exemplari uti velimus, haec operatio multum spatii orbis capiet, sic plerumque utimurln
impera, hoc idem quod fenestrae brevis. Duo sunt genera nexuum in Linux:difficile link(Durum link) cummollis link Vinculum durum significat fasciculum plura nomina habere posse, dum nexus nexus mollis specialem fasciculum generat, cuius contenta demonstrat locum alterius fasciculi. Nexus duros in eadem ratio lima exstant, sed nexus molles systemata fasciculi diversis spatiis intercludere possunt.
Ergo coniunctionibus mollibus plerumque utimur.
ln [参数][源文件或目录][目标文件或目录]
Parametri sunt:
mv
imperium and *rm
Simili modo imperata, sedmv
Solet lima vel directoria movere, et etiam nominari potest.rm
Praeceptum adhibetur lima vel directoria delere.
Communiter modi sunt hae:
Communiter parametri:
-i
: Lingva modus, roga ante overwriting.-f
: vi coverage.-u
: Move tantum si scapus fons recentior est quam fasciculus scopo.Exemplum usus:
mv file1.txt dir1/
: Movere tabella file1.txt
Movere Directorydir1
medium.
mv file1.txt file2.txt
: Movere tabella file1.txt
Rename tofile2.txt
。
rm imperium:
Communiter parametri:
-i
: Lingva modum, delendo prius roga.-f
: deletionem coactam, neglectis non existentibus files, sine admonitione confirmationis.-r
: Recursively delere directorium et contenta.Exemplum usus:
rm file.txt
: Delere Lima file.txt
。rm -r dir1/
: Recursively delere directoriis dir1
et omnibus suis contentis.Mandatum ad delere directorium etiam adhiberi potestrmdir
。
find
Praeceptum fasciculi validum instrumentum quaerendi in systemate Linux potest invenire lima vel directoria quae condiciones in certa directorio eiusque subdirectoria conveniant et operationes debitas perficiant.
Hoc estfind
Communes usus praecepti;
-name
optionem ad inveniendum lima nomen lima. Exempli gratiafind /path/to/directory -name "file.txt"
scrutabitur certa directoria et subdirectoria nominatafile.txt
documentum.-type
optionem ad inveniendum lima genus lima. Exempli gratiafind /path/to/directory -type f
Omnes tabulae ordinariae in directorio determinato eiusque subdirectoria invenientur.-size
optionem ad inveniendum fasciculos lima amplitudo. Exempli gratiafind /path/to/directory -size +100M
Lima maiora quam 100MB invenies in directorio definito eiusque subdirectoria.-mtime
、-atime
or *-ctime
Optiones tabellarum inveniunt secundum eorum modificationem tempus, accessum temporis, status mutationis tempus. Exempli gratiafind /path/to/directory -mtime -7
Tabularia invenies in directorio determinato eiusque subdirectoria quae intra 7 dies mutata sunt.-perm
optio inveniendi files fundatur in file permissiones. Exempli gratiafind /path/to/directory -perm 755
Tabularia cum licentia 755 invenies in directorio praefinito et subdirectoria.-user
or *-group
Optiones lima a domino suo vel coetui invenias. Exempli gratiafind /path/to/directory -user username
Investigabo determinatum directorium eiusque subdirectorias ad usoris pertinentesusername
documentum.-exec
Optiones operationes respondentes in files inventis facere possunt. Exempli gratiafind /path/to/directory -name "*.txt" -exec rm {} ;
delebo omnes inveni ending in.txt
lima in fine.ls
Praeceptum adhiberi potest ad contenta directorii recenseresingula。
Usitatius parametri et modi usus sunt haec:
-a
: Exhibe omnia documenta et directoria, inter fasciculos occultos (supra.
file seu directorium quod incipit cum.).-l
: detailed informationes ostendit in longa forma, inter quas permissiones fasciculi, possessoris, magnitudinis, temporis modificationis, etc.-h
:et-l
In compositione usus est ad magnitudinem tabellae exhibendam in modo humano-readabili (v.g.K
、M
、G
manere).-R
: Enumera contenta subdirectoria recursively.-t
: Exhibe ordinem file modificationis temporis. ,sed
Praeceptum rivus editor est, praesertim textus processus adhibitus. Saepe usus est cum incomprehensibilium lima operationum processus adhibebitur.sed
Usitatius parametri et usus praeceptorum exempla sunt haec:
-e<script>
or *--expression=<script>
: Specificare scripta directe in linea mandatorum pro textu processus.-f<script文件>
or *--file=<script文件>
: Lege scriptum ex certo scripto lima pro text processui.-n
or *--quiet
or *--silent
: Tantum imprimendi output proventus per scripturam processit, nec lineas singulares imprimes.a
: Adde chorda determinata textui ad lineam proximam lineae hodiernae.c
: Reponit certum range linearum cum certo textu filum.d
: Delere certo ordine.i
: Adde filum illud determinatum ad lineam praecedentem lineae hodiernae.p
: imprime lineae selectae.plerumque with-n
Adhibentur una cum parametris, lineis tantum congruentibus impressis.s
: Utere expressionibus regularibus ad textum repositum. Exempli gratias/old/new/g
Repone omnes "InternLM" cum "InternLM yyds".in exemplumecho
hoc idem est quod in Pythoneprint
Eadem, contenta imprimendi, tibia charactere hic utebantur>
Print InternLM ad fasciculum fasciculi<
et|
, e.ggrep
Mandatum videre installed in pythonos
Involucrum agri:
grep
Instrumentum quaestionis textus potens est. Communiter parametri sunt haec:
-i
: quaere pro causa.-v
: invertit compositus, i.e., ostentat unmatched lines.-n
: Propono lineam numerum.-c
: Numera lineas matching.Processus procuratioMandata magni momenti instrumenta ad administrationem rationum vigilantiam et processum pertinent.
Est etiam mandatum speciale in machina evolutionisnvidia-smi
, quod est instrumentum lineae mandatum pro NVIDIA Systemate Management Interface, monitori usus est et machinas NVIDIA GPU administrare. Velox viam praebet ad explorandum informationes quales sunt GPU status, usus, temperatus, memoria usus, potentia usus, processus in GPU currentes.
Usus cuiusque praecepti haec sunt exempla;
ps
: Enumera processus in systemate currenti. Diversae informationes processus exhiberi possunt diversis optionibus utentes, ut:ps aux # 显示系统所有进程的详细信息
top
: Dynamice propono statum processuum in systemate. Processum album in reali tempore addit, cum processibus supremis CPU et memoriae usu ostendit.top # 启动top命令,动态显示进程信息
pstree
: Processus currentes praesentes et parentelas suas relationes in specie arboris figurae ostendit. pstree # 显示进程树
pgrep
: Reperio processuum priorum re- gularum. Potes quaerere processus nomine processu, usuario et aliis conditionibus.pgrep -u username # 查找特定用户的所有进程
nice
: muta prioritatem processus.nice
Inferior valor, superior processus prioratus.nice -n 10 long-running-command # 以较低优先级运行一个长时间运行的命令
jobs
: Indicem operis ostendit in sessione terminali hodiernae, inter processuum in curriculo currentium. jobs # 列出当前会话的后台作业
bg
etfg
:bg
Processus suspensus pone ad currendum in curriculo;fg
Produc processus curriculi ad corporis fabrica.bg # 将最近一个挂起的作业放到后台运行
fg # 将后台作业调到前台运行
kill
: signum mittere ad processum determinatum, solere processus interficere. kill PID # 杀死指定的进程ID
Animadverte,kill
Mandatum mittitur per defaltamSIGTERM
Signum, quod adhiberi potest si processus non respondet-9
ususSIGKILL
Signum processus fortiter interficit;
kill -9 PID # 强制杀死进程
SIGTERM
Signum (signal Termination) signum est vexillum signum in Unix et Unix-similis systemata operativa ad terminationem processus petendi. Hoc signum solet mitti cum ratio vel usor volet processum deprimere eleganter.etSIGKILL
Signa differunt;SIGTERM
Capi possunt signa et tractari per processum, permittens processum ad mundandum antequam exiret. (A Internet)
Hoc est nvidia-smi
Praecipua quaedam praecepti usus imperii;
nvidia-smi
nvidia-smi -l 1
Hoc mandatum renovabit status informationes singulas 1 secundas.
nvidia-smi -h
nvidia-smi pmon
nvidia-smi --id=0 --ex_pid=12345
Hic processus cum PID 12345 in GPU ID 0 fortiter terminabit.
nvidia-smi -pm 1
nvidia-smi -i 0 -pm 1
Primum praeceptum omnes GPUs ad modum perficiendi ponet, secundum imperium solum GPU cum ID 0 peltat.
nvidia-smi --id=0 -r
Hoc sileo GPU cum ID 0 .
nvidia-smi -h
Sequens introductio ad GPU informationem per imaginem est:
Hic instrumentum estTMUX
,TMUX
terminatio multiplexer est. Facile efficit ut inter plures terminales mutes, eas disiungas (hoc terminales non occidit, in curriculo currunt) easque in alias terminales reiungunt. Quorsum hoc instrumentum introducis?Quod fiet posteaXtuner
Cum exemplar incedit, diu eritTmux
Is condicionem solvere potest ubi programmata interrumpitur et occidit.
Quia machina progressionis systematis operantis utitur Decuria, uti poteslsb_release -a
Mandatum ad considerandam Decuria systematis informationes:
tum utiapt install tmux
Mandatum ut tmux instituatur.tmux
Potes uti tmux cum imperio.Ctrl+d"Brevis clavis.
In machina evolutionis, tantum fasciculi sub /radice viae continenter reponuntur. Software sub aliis itineribus installatus, post restarting reset erunt.
Imprimis usus modi spectari possunt ad:
https://www.ruanyifeng.com/blog/2019/10/tmux.html
Conda fons apertus est sarcina procuratio et ambitus administrandi ratio quae in Windows, macOS et Linux decurrit. Celeriter inaugurat, decurrit ac updates fasciculos programmata eorumque clientelas. Conda utens facile potes creare, nisi, onerare et commutare varios ambitus in machina locali tuo.
Iam installed in machina evolutionisconda
directe uti possumus, estque etiam una in machina evolutionis constructaconda
Ordostudio-conda
, infra inferemusconda
Basic usus, etstudio-conda
Quomodo uti et inducerestudio-conda
Quomodo effectum est.
Id nos in partes sequentes introducemus;
uti possumusconda --version
ut videre hodiernam evolutionis machinamconda
notitia versionis:
quando volumus utereconda
Tardissimum erit cum involucrum inaugurare. Domesticas referre possumus ad meliorem institutionem celeritatem constituere.
#设置清华镜像
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
Sed plerumque utimurpip
Involucrum insertis, postea introducemuspip
etconda
differentiam.
Si informationem condam configurationis videre velimus, uti possumusconda config --show
mandatum, si defectus occasus machinae evolutionis sit, redibit: (pars percontationum)
Hae figurationes inConda
Configuratio ambitus afficiet modos et eventus involucrum programmatum programmatum, updates, ambitus administrationes ceterasque operationes.
Haec pars estconda
中非常重要的一部分,掌握了这一部分大家就可以将开发环境玩转到飞起了😀。
uti possumusconda create -n name python``=3.10
Facere ambitum virtualem, quod significat virtualem environment cum Pythone versionis 3.10 et nomen creatum est.Post creationem potes.conda
sub indicemenvs
Invenitur in presul.
Cum versio pythonis non specificata sit, virtualis environment in recentissima pythonis versione automatice creata erit. Eodem tempore, dum virtualis ambitus creando fasciculis necessariis instituere possumus:conda create -n name numpy matplotlib python=3.10
(Sed non suadeo ut hoc modo utaris)
Communes parametri ad ambitum virtualem creandi sunt hae:
Si vis videre quas prope ambitus habemus, hoc imperio uti possumus:
conda env list
conda info -e
conda info --envs
Eodem tempore etiam videre possumus indicem ubi situs situs est.
Post creare virtualis environment possumus uticonda activate name
mandatum ut activate virtualis ambitus, quomodo inspicias num transitum proficiat?Facile est, vide(base)
Sitne nomen prope ambitum creatum.
Si vis virtualis environment exire, uti potes:
conda activate
conda deactivate
Utrumque imperium reddetbase
amet, quodbase
Praecipuum ambitus condaei est.base
Directorium ambitus altior est quam ceterae virtualis environment directoria.
Si vis virtualis environment delere, uti potesconda remove --name name --all
, si vel unam vel aliquas fasciculos in ambitu virtuali deleas , uti potesconda remove --name name package_name
Rectum ambitum educendi valde necessarium est ad certum ambitum, quia dependentiae aliquarum fasciculorum programmatum valde implicatae sunt, et molestum erit eam te recreare et configurare. et configurationem cum aliis communicare potes.
#获得环境中的所有配置
conda env export --name myenv > myenv.yml
#重新还原环境
conda env create -f myenv.yml
Exempli gratiaxtuner0.1.17
Ambitus virtualis exportatur et indicio conformatio talis est:
Haec includitnomen amet、Locus e promptuario online virtualis environment packagesetLorem ipsum elit clientelae . Postea methodis adhibitis provectis utemur ad ambitum virtualem cito restituendum.
In hac parte nonnulla introducimusconda
etpip
Differentiae nonnullae:
Rota Pythonis forma institutionis sarcina est.
Forma distributionis binaria praecomiuncta est, similis binariis in conda compilatis.
Praecipua commoditates Rotae format:
- Fast institutionem: Quia pre-compilatum est, per processum compilationem non opus est ut fons codicis institutionem durante institutione, salvis temporibus.
- Constantia: Ensures institutionis eventus per varios systemata et ambitus constantes sunt.
Exempli gratia, si vis magnam bibliothecam Pythonis instituere, forma Rota utens difficultates institutionis vitare potest ex diversis machinis in compilation causatis differentiis. Praeterea, pro illis systematibus quae ambitum ambitum non habent vel facultates compilation infirmas habent, Rota forma institutionis processum levius facere potest.
Haec pars protracta est, quia hanc partem valde interesting et valde practicam puto, ita, si interest, scire potes.
Lets primum inducerestudio-conda
quae est machinae evolutionis constructae et per scripturam Testam impletur. Quid est scriptor Testa?
Testa script Fasciculus textus continens seriem mandatorum ordine certo dispositam ad officia automandi in ambitu Unix/Linux vel similes systematis operandi.
Scripta testarum solent in lingua Testa scripta.
Hoc magni momenti notas habet:
Quodstudio-conda
Pars est automationis.bashrc
sed file configurationem principalem est/share/.aide/config/bashrc
sunt quaedam mandata in hoc fasciculo scripta quae citius aliquas operationes peragere nos sinunt, ut:
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
adhibetur ut amet variables.alias
est tabellam sh in variabilem effingerestudio-conda
Id est.
hic "studio-smi
Usus est ad reprimendam virtualem memoriam usus/share/studio-smi
Tabella videri potest;
#!/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
Hoc scriptum est ad reprehendo an sit a vgpu-smi
praeceptum, si praesens erit, curratvgpu-smi
ut status informationes pro virtuali GPU (vGPU exhibeat);nvidia-smi
NVIDIA GPU status notitia ostendere. Ut infra patebit:
nvidia-smi
Instrumentum est vigilantia et curandi machinas physicas NVIDIA GPU etvgpu-smi
Disposita est monitor et administrare facultates GPU virtualizatas per NVIDIA vGPU technicas.
nos view/share/install_conda_env.sh
Contenta tabella sunt haec:
#!/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 $@
unus eorum*list
*()
Exspecta, actum eststudio-conda
munus, quod operationes quasdam efficiant, exempli gratia uti possumusstudio-conda env list
Ut videre default environment:
in*clone
*()
Praecipuum munus muneris in ambitu effingo, sed solum ex defectu ambitus exscribi potest.
tar --skip-old-files -xzvf /share/pkgs.tar.gz -C ${CONDA_HOME}
conda create -n $target --clone ${SHARE_CONDA_HOME}/${source}
Unzip sarcina pressae ambitus praesentis, et inde virtualem ambitum crea per clone. Sed quaedam logica etiam in scripto conchae ponitur, sed iustum est iudicium aliquod Si intellegere non potes, magna quaestio non est.
Ita quomodo addimus proprium ambitum creatum ad?studio-conda
Quid de medio?
Primus gradus est novum conda environment sub /share/conda_envs creare
conda creo -p /share/conda_envs/xxx python=3.1x
Secundus gradus est effingere limas sub /root/.conda/pkgs machinae localis ad /share/pkgs, recomprimere ac subrogare (hic gradus est magnas publicas sarcinas in conda creationis processu ad vitandum iteratas downloads) condere.
cp -r -n /root/.conda/pkgs/* /share/pkgs/
cd /share && tar -zcvf pkgs.tar.gz pkgs
Tertius gradus est munus album renovare in install_conda_env.sh et novam condam ambitus descriptionem addere.
Haec est methodus quae per evolutionem machinae per defaltam valetconda
emiturxtuner0.1.17
Configurationis lima pro ambitus virtualis, uti possumusconda env create -f xtuner0.1.17.yml
imperium restituere virtualis environment.Scribamus simplicem Testam scripturam ad hanc operationem efficiendam: Creamustest.sh
lima, sequenti contenta scribe;
#!/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
Postquam scripturam Testae creationem absolvimus, licentias scripto concedere debes.chmod +x test.sh
Ergo intrare./test.sh restore xtuner0.1.17
Ac preme Intra ut virtualem environment restituat.
Sed hoc non multum differt a recto usu.studio-conda
Coniungendo mandata commodissima erunt, sed modi ambitus describendi diversi sunt.Ergo, si vis efficere, debes/share/install_conda_env.sh
Tabula logica modificatur.
Bene, ut omnia argumenta huius gradus sunt. Spero quod superius contentum omnibus in futurum utile erit , iuvabit nobis discere. Magnae exempla non multum habent momenti, sed si bene discas Linux, doctrina tua magnarum exemplorum levissima faciet. Denique noli oblivisci gradus quos antea proposuimus absolvere!
Blogus nexus:linux
Diligenter exequi! ! ! !Omnia data interciderunt. Hoc solum praesto est in suggestu InternStudio.
rm -rf /root
, De X minuta exspectare tolletln -s /share /root/share
Ut missionem planam transeas, eenshotsscras in clavis gradibus accipere debes;
missionem details | Tempus requiritur ad perficiendam | |
---|---|---|
Missionis | Complete SSH nexum et portum destinata et procursuhello_world.py | 10min |
Opus libitum 1 | Perficere basic Linux imperium in evolutionis machina | 10min |
Opus libitum 2 | Utere VSCODE remotius coniungere ad machinam evolutionis et condam environment creare | 10min |
Opus libitum 3 | Create et curreretest.sh documentum | 10min |