Jump to content

PyTorch

E Vicipaedia
Image

Opinio est hanc commentationem esse delendam.

Si huic proposito dissentis, quin sententiam tuam proferas in pagina disputationis.

Català
Català
Català

S'ha proposat l'esborrament d'aquesta pàgina. Si voleu donar-hi la vostra opinió, feu-ho a la pàgina de discussió.

English language
English language
English

It is proposed to delete this page. Please give your opinion on the talk page.

Deutsch
Deutsch
Deutsch

Es wurde vorgeschlagen, diesen Artikel zu löschen. Um Stellungnahme auf der Diskussionsseite wird gebeten.

Esperanto
Esperanto
Esperanto

Rekomendatas la forigo de tiu ĉi artikolo. Vi estas elkore invitata komenti tion en la diskutejo.

Image

Haec est pagina autotranslata.

Haec commentatio a translatione machinaria videtur oriri. Si potes, converte paginam ad linguam Latinam, vel pete auxilium apud nostram tabernam. Nisi sermo inter hebdomadam correctus erit, commentatio delebitur.

Image Haec formula ({{Pagina autotranslata}}) plus quam septem dies sine recensionibus in pagina mansit.
Image

Haec commentatio vicificanda est ut rationibus qualitatis propositis obtemperet.

Quapropter rogamus ut corrigas, praecipue introductionem, formam, nexusque extra et intra Vicipaediam.

PyTorch est bibliotheca programmatica libera ad computationes numericas et doctrinam automaticam, praesertim ad retia neuralia profunda, destinata. Calculum tensorum cum differentiatione automatica coniungit atque operationes tam in processoriis centralibus quam in acceleratoribus graphicis efficere potest.[1]

Interfacies praecipua linguae Pythonis accommodata est; praeterea interfacies C++ praebetur. Systema rationem programmandi imperativam sequitur, qua computationes per ordinarias instructiones Pythonis describuntur. Hac ratione structura exemplaris, cursus computationis et investigatio errorum cum instrumentis eiusdem linguae coniungi possunt.[2][3]

PyTorch intra gregem Facebook AI Research societatis Facebook excultum est. Publice mense Ianuario 2017 emissum est: auctores die 19 Ianuarii 2018 primum publicationis anniversarium celebraverunt.[4][5]

Iam primo anno investigatores codicem commentationum suarum per PyTorch confectum divulgaverunt. Inter exempla ab auctoribus commemorata erant CycleGAN et pix2pix, ad imagines transformandas, atque instrumenta ad linguam naturalem et exemplaria probabilistica tractanda. Sic circa bibliothecam collectio programmatum investigationi destinatorum constituta est.[4]

Anno 2019 Adam Paszke et collegae architecturam systematis in conventu NeurIPS descripserunt. Commentatio rationem imperativam, integrationem cum Pythone, differentiationem automaticam et usum acceleratorum exposuit; celeritatem quoque partium systematis atque integrorum exemplarium experimentis comparavit.[2]

Versio 2.0 die 15 Martii 2023 publicata est. Inter mutationes praecipuas fuit interfacies torch.compile, qua compilatio computationum ad modum usus iam constitutum accessit.[6]

Fundamenta computationis

[recensere | fontem recensere]

Structura datorum praecipua est torch.Tensor. Haec valores scalares, vectores, matrices et ordines plurium dimensionum repraesentare potest. Eius proprietates numerum axium eorumque longitudines, genus elementorum et apparatum in quo data servantur indicant. Tensores ad data exemplari tradenda, ad eventus computandos et ad parametros retis repraesentandos adhibentur.[7]

Bibliotheca operationes arithmeticas, multiplicationem matricum, mutationes formae et alias rationes algebrae linearis praebet. Cum NumPy communicare potest; certis condicionibus tensores in memoria processorii centralis et ordines NumPy eandem memoriam participant. Computationes etiam ad acceleratores transferri possunt, quamquam ipsa translatio datorum tempus et memoriam consumit.[7]

Differentiatio automatica

[recensere | fontem recensere]

Pars torch.autograd? derivatas operationum conexarum automatice computat. In ratione inversa, dum calculus procedit, nexus inter operationes memorantur; deinde graphus computationis ordine retrogrado percurritur et gradientes regula catenae componuntur. Haec ratio in exercitatione retium neuralium adhibetur, ut computetur quomodo functio iacturae a singulis parametris pendeat.[8]

In exsecutione immediata, certus graphus differentiationis singulis iterationibus denuo construitur. Condiciones et iterationes Pythonis igitur computationem secundum data mutare possunt, neque omnes cursus possibiles ante exsecutionem in uno grapho describendi sunt. Proprietas requires_grad et modi ad calculum gradientium regendum determinant quae operationes in hanc rationem recipiantur.[8]

Interfacies C++

[recensere | fontem recensere]

ATen fundamentum operationum tensorialium praebet. Interfacies C++ huic fundamento differentiationem automaticam, compositionem retium neuralium, optimizationem et administrationem datorum adiungit. Operationes propriae in C++ aut CUDA scriptae etiam cum programmatibus Pythonis coniungi possunt.[3]

Compositio et exercitatio exemplarium

[recensere | fontem recensere]

Retia plerumque ex classibus a torch.nn.Module derivatis componuntur. Modulus strata et statum exemplaris continere potest, dum methodus forward computationem definit. In exercitatione functio iacturae eventus aestimat, differentiatio automatica gradientes computat, et optimizator parametros renovat.[9]

Partes principales diversa munera explent:[1][9]

Partes bibliothecae
ParsMunus
torchTensores et operationes numericae fundamentales.
torch.autogradDifferentiatio automatica computationum.
torch.nnModuli, strata retium neuralium et functiones iacturae.
torch.optimAlgorithmi ad parametros exemplarium renovandos.
torch.utils.data.DatasetInterfacies ad exempla datorum praebenda.
torch.utils.data.DataLoaderLectio, permixtio et distributio exemplorum in greges.

Administratio datorum a definitione retis distinguitur. DataLoader exempla in greges colligere atque plures processus ad ea legenda adhibere potest. Exemplar exercitatum deinde ad nova data tractanda adhibetur; pondera eius servari et postea restitui possunt.[9]

Interfacies torch.compile, cum versione 2.0 introducta, computationes colligit et ad instrumenta compilationis transmittit. In architectura illius editionis TorchDynamo graphos ex programmate Pythonis extrahit, AOTAutograd computationes differentiationis ad compilationem parat, et TorchInductor codicem ad apparatum destinatum generat.[6]

Compilatio facultas addita est, quam usor adhibere potest, servata exsecutione immediata. Propositum est sumptum computationis minuere et celeritatem augere, ratione programmandi Pythonis retenta. Incrementum celeritatis ex natura exemplaris et apparatu pendet; numeri in probationibus relati ad condiciones earum probationum pertinent.[6]

Computatio distributa

[recensere | fontem recensere]

PyTorch exercitationem exemplarium inter plures processus distribuere potest. In ratione DistributedDataParallel singuli processus exemplar locale tractant. Gradientes per communicationem collectivam componuntur, ut exemplaria localia, ab eodem statu profecta, renovationes inter se congruentes accipiant.[10]

Synchronizatio gradientium cum parte computationis retrogradae concurrere potest. Hac ratione tempus communicationis partim computatione tegitur. Effectus tamen ab ordine computationum, magnitudine datorum communicandorum et proprietatibus systematis pendet.[10]

Bibliothecae coniunctae et usus

[recensere | fontem recensere]

TorchVision collectiones datorum, structuras exemplarium et transformationes imaginum ad visionem computatralem praebet. Inter munera documentata sunt classificatio imaginum, deprehensio rerum et segmentatio. Bibliotheca cum PyTorch coniungitur atque instrumenta ad imagines praeparandas et exemplaria iam exercitata adhibenda suppeditat.[11]

Usus PyTorch etiam ad tractationem linguae naturalis et programmationem probabilisticam pertinet. Pyro et ProbTorch inter incepta huius posterioris generis iam in relatione primi anni commemorabantur. Bibliotheca ita fundamento communi inservit, supra quod investigatores diversa exemplaria et rationes calculi construunt.[4]

Repetitio experimentorum

[recensere | fontem recensere]

Documenta PyTorch monent eventus numericos non necessario omnino eosdem esse inter diversas versiones, apparatus aut exsecutiones in CPU et GPU. Initia generatorum numerorum pseudofortuitorum definiri et operationes deterministicae eligi possunt, ut variationes intra ambitum definitum minuantur. Hae rationes interdum computationem tardant; idem initium generatoris per se aequalitatem eventuum in omnibus apparatibus non praestat.[12]

Administratio et licentia

[recensere | fontem recensere]

Die 12 Septembris 2022 nuntiatum est PyTorch e societate Meta ad Linux Foundation transferri et PyTorch Foundation constitui. Inter membra fundantia fuerunt AMD, Amazon Web Services, Google Cloud, Meta, Microsoft Azure et NVIDIA. Fundatio ad communitatem auctorum sustinendam et cooperationem inter societates instituendam destinata est.[5]

Codex fontanus apud GitHub publicatur sub licentia BSD trium clausularum. Licentia usum, modificationem et distributionem codicis permittit condicionibus in textu eius definitis.[13]

  1. 1 2 Auctores PyTorch, PyTorch: Tensors and Dynamic neural networks in Python with strong GPU acceleration, repositorium officiale apud GitHub.
  2. 1 2 Adam Paszke, Sam Gross, Francisco Massa et al., PyTorch: An Imperative Style, High-Performance Deep Learning Library, Advances in Neural Information Processing Systems, 32, 2019.
  3. 1 2 Auctores PyTorch, PyTorch C++ API, documenta officialia.
  4. 1 2 3 The PyTorch Team, PyTorch, a year in…, 19 Ianuarii 2018. Auctores eo die annum unum a publicatione publica exactum esse rettulerunt.
  5. 1 2 The Linux Foundation, Meta Transitions PyTorch to the Linux Foundation, Further Accelerating AI/ML Open Source Collaboration, 12 Septembris 2022.
  6. 1 2 3 PyTorch Foundation, PyTorch 2.0: Our next generation release that is faster, more Pythonic and Dynamic as ever, 15 Martii 2023.
  7. 1 2 Auctores PyTorch, Tensors, documenta officialia.
  8. 1 2 Auctores PyTorch, Autograd mechanics, documenta PyTorch 2.9.
  9. 1 2 3 Auctores PyTorch, Quickstart, documenta officialia.
  10. 1 2 Auctores PyTorch, Distributed Data Parallel, documenta PyTorch 2.9.
  11. ↑ Auctores TorchVision, TorchVision, documenta officialia.
  12. ↑ Auctores PyTorch, Reproducibility, documenta PyTorch 2.9.
  13. ↑ Auctores PyTorch, LICENSE, repositorium officiale.

Nexus externi

[recensere | fontem recensere]