Industrial Machina Learning: 10 Design Principia

Industrial Machina Learning: 10 Design Principia

Hodie, nova officia, applicationes et alia programmata maximi momenti creantur cotidie quae efficiunt ut res incredibilia efficiant: a programmate ad temperandum erucae SpaceX ad mutuam cum olla in proximam conclavi per quis felis.

Aliquando autem, quilibet programmator novitius, sive satumus iracundus est sive ordinarius Full Stack sive Data Scientista, citius aut serius ad effectum venit, certas esse regulas programmandi et creandi programmata quae vitam valde simpliciorem reddunt.

In hoc articulo, breviter 10 principia describere quomodo machinae industriae programma discendi sint, ut facile in applicationem/servitium inseratur, innixa in Appendice 12-factorum methodorum. suggesserant Heroku bigas. Meum inceptum est conscientias augere huius artis, quae multa tincidunt et notitias scientiarum hominum adiuvare potest.

Hic articulus est prologus seriei articulorum de Machina industrialis Learning. In his ulterius loquar quomodo exemplar efficiat et in productionem deducat, API pro eo efficiat, tum exempla de variis locis et societatibus quae in ML in suis systematibus aedificaverunt.

Principium I: base unum codice

Nonnulli programmatores in primis temporibus, propter pigritiam ad figurandum eum (vel propter aliquam causam sui), obliviscuntur circa Git. Aut verbi penitus obliviscuntur, id est, limas inter se in columbinos mittentes/modo text/a mittunt, aut per suum fluxum non cogitant, et suo quisque ramo committunt, ac deinde ipsi. dominum.

Principium hoc asserit: unum codebase et multa instruere.

Git adhiberi potest tam in productione quam in investigatione et in evolutione (R&D), in quibus toties non adhibetur.

Exempli gratia, in R&D phase excedere potes variis Mentilibus modis et exemplaribus committere, ut optimum unum eligere et cum eo ulterius operari facile perseveres.

Secundo in productione haec res pernecessaria est β€” necesse est constanter intueri quomodo codicem tuum mutationes et cognoscas quae exemplar optimos proventus produxit, qui codicem in fine laboraverunt et quid factum est, ut ab opere cessare vel incipere malos eventus producere. . Id committit sint!

Potes etiam sarcinam propositi tui facere, eam collocare, exempli gratia, in Gemfury, et inde functiones simpliciter ad alia incepta importans, ut non mille vicibus, sed plus in posterioribus rescribas.

Principium II: aperte declarare et recludet clientelas

Singulae bibliothecas diversas habent project quas extrinsecus importas ut alicubi eas applicent. Utrum Pythonis bibliothecae sit, an bibliothecae aliarum linguarum ad varios usus, seu instrumenta systematis - opus tuum est;

  • Patet aperte declarare clientelas, id est, fasciculum qui continebit omnes bibliothecas, instrumenta, earumque versiones, quae in tuo consilio adhibentur et instituendae sunt (exempli gratia, in Pythone hoc fieri potest utens Pipfile vel requirements.txt. link quod bonum intelligere concedit: realpython.com/pipenv-guide)
  • Declinationes singulariter segregare pro progressione tua in evolutione. Non vis versiones assidue mutare et restituere, exempli gratia, Tensorflow?

Hoc modo, tincidunt qui turmam tuam in futurum adiungent, poterunt cito familiares fieri cum bibliothecis et eorum versionibus, quae in tuo consilio adhibentur, et facultatem etiam habebis potestatem regendi versiones et bibliothecas ipsas pro certis institutis. exstent, quod juvabit te incompatibilitatem bibliothecarum vel earum versionum vitare.

Applicatio tua etiam in instrumentis systematis quae in certis OS institui possunt non debent confidere. Haec instrumenta manifestis dependentiis declarari debent. Hoc necessarium est ad vitandas condiciones in quibus versio instrumentorum (vel eorum promptitudinis) systemati instrumentorum certorum OS non congruit.

Ita, etiamsi Crispus in omnibus fere computers adhiberi potest, clientelas tamen declarare debetis, cum migrans ad aliud tribunal non sit ibi aut versio non erit quem primum desideras.

For example, your requirements.txt hoc videre licet:

# Model Building Requirements
numpy>=1.18.1,<1.19.0
pandas>=0.25.3,<0.26.0
scikit-learn>=0.22.1,<0.23.0
joblib>=0.14.1,<0.15.0

# testing requirements
pytest>=5.3.2,<6.0.0

# packaging
setuptools>=41.4.0,<42.0.0
wheel>=0.33.6,<0.34.0

# fetching datasets
kaggle>=1.5.6,<1.6.0

Principium III: Configurationes

Multi fabulas variarum elit guys audiverunt codicem GitHub in repositoria publica cum Tesserae et aliis clavibus ab AWS emissari, proximo die evigilantes cum debito $6000, vel etiam $50000.

Industrial Machina Learning: 10 Design Principia

Nimirum haec extrema sunt, sed significantia. Si documentorum vel alia notitia ad configurationem intra codicem necessaria repones, erras, et nihil opus esse puto explicandum.

Vel hoc modo est condere configurationes in variabilium ambitu. De ambitu variabilium legere potes hic.

Exempla notitiarum quae proprie in ambitu variabilium conditae sunt:

  • Domain nomina
  • API URLs/URI's
  • Claves publicas et privatas
  • Noti (mail, phones, etc.)

Hoc modo signum non debes mutare si configuratione variabiles mutant. Hoc te adiuvabit tempus, studium, pecuniam.

Exempli gratia, si Kaggle API uteris ad probationes ducendas (exempli gratia, utaris utaris et curras exemplar per illud ad probandum cum exemplar bene operatur), tunc claves privatae Kaggle, ut KAGGLE_USERNAME et KAGGLE_KEY, debent esse condita amet variables.

Principium IV: Tertia Factio Services

Idea hic programmata creare est ita ut nulla sit differentia inter facultates locales et tertiam partem in terminis Codicis. Exempli gratia, utrumque localem MySQL et tertiam partium ones coniungere potes. Idem valet de variis APIs sicut Google Maps seu Twitter API.

Ut inactivare tertiam partem muneris vel aliam coniungere, tantum debes mutare claves in configuratione in variabilium ambitu, de quibus in superiore paragrapho locutus sum.

Itaque, exempli gratia, pro limes ad limas cum datasets intra codicem singulis temporibus definire, melius est bibliothecam pathlib uti et viam ad notitiastarum in config.py declarare, ut quaecunque opera uteris (pro exempli gratia, CircleCI), programma invenire poterat viam ad notitiastarum ratione habita structurae novi systematis fasciculi in novo servitio.

Principium 5. aedificate, emissio, runtime

Multi homines in Data Scientia utilem reperiunt ad artes programmales scribendas. Si propositum nostrum quam raro fieri volumus, et sine defectis quam longissime laborare, necesse est processum novam versionis in 3 gradus dividendi dividendi;

  1. scaena comitia. Tuum nudum codicem cum singulis facultatibus transformes in sarcina sic dicta, quae omnia codicem necessarium et noticiam continet. Haec involucrum conventus appellatur.
  2. scaena release β€” hic conectimus conventum nostrum config, sine quo propositum nostrum exsolvere non valemus. Nunc hoc totum paratum est ad emissionem deducendam.
  3. Proximum est scaena impletio. Hic applicationem absolvimus cursibus necessariis processibus e nostra solutione.

Talis ratio ad novas versiones exemplaris dimittendi vel totius organi pipelini permittit te ut inter administratores et tinctiones dividendas permittat, te versiones indagare et progressionis cessationes inutiles prohibet.

Ad negotium emissionis, multa officia varia facta sunt in quibus processus scribere potes ut teipsum in tabella .yml curras (exempli gratia, in CircleCI hoc est config.yml ad ipsum processum sustinendum). Wheely magnus est ad sarcinas creandas pro inceptis.

Fasciculos facere potes cum diversis versionibus apparatus eruditionis exemplar, et inde sarcinas et fasciculos necessarios et eorum versiones ad usus functionum inde scripseram. Hoc adiuvabit ut exemplar API creares, et sarcina tua in Gemfury, exempli gratia, hospitari potest.

Principle 6. Curre tua exemplar ut vel processuum

Praeterea, processus notitia communicare non debet. Hoc est, processus separatim existere debet, et omnia genera notitiarum separatim existere debent, verbi gratia, in tertia parte muneris sicut MySQL vel aliis, secundum quod debes.

Hoc est, certum non est notitias recondere intra processuum systematis fasciculi, secus hoc potest ad purgationem huius notitiae per proximam remissionem/mutationem configurationum vel translationis systematis in quo ratio decurrit.

Sed exceptio est: pro machinarum studiorum inceptis, thesaurarium bibliothecarum condere potes ut non restituas omni tempore novam versionem immittendi, si nullae bibliothecae additae vel aliquae mutationes in suis versionibus factae sunt. Hoc modo tempus tuum reducere oportet ut exemplar industriae deducas.

Exemplar ut plures processus curras, .yml fasciculum creare potes in quo necessarias processus eorumque seriem denotas.

Principium VII: Recyclability

Processus qui in applicatione exemplari tuo currunt, facile incipere et desinere debent. Hoc igitur sinet ut codicem mutationes cito explicas, configurationes mutationes, cito ac molliter conscendas, neve possibiles versionis operativae naufragia praevenire.

Hoc est, processus tui cum exemplari debet;

  • Satus magna tempus. Specimen temporis satus (ex quo mandatum satus datum est ad momentum processus in operando) non plus quam brevi tempore esse debet. Bibliotheca caching, supra scripta, una ars ad tempus satus reducendi est.
  • Finem recte. Hoc est, auscultatio muneris portus in actu suspensus est, et novae petitiones huic portu submissae non procedendum est. Hic debes vel bonam communicationem cum fabrum DevOps erigere, vel quomodo te ipsum operetur (potius, utique, hoc, sed communicatio semper servetur in omni incepto!)

Principium VIII: Continua instruere / Integration

Multae societates separationem inter applicationes evolutionis et iunctos instruere (faciens applicationem praesto ad finem utentium) uti. Hoc multum retardare potest evolutionis programmatio et progressus in eo meliorando. Etiam culturam DevOps corrumpit, ubi evolutionis et integrationis sunt, dure loquendo, componuntur.

Hoc igitur principium affirmat tuam evolutionem ambitum fieri quam proxime ad productionem rerum tuarum.

Hoc licebit;

  1. Redigendum release tempus per decem tempora
  2. Numerum errorum reducere ob repugnantiam codicis.
  3. Hoc etiam quod inposuit in virgam minuit, quoniam tincidunt et homines applicationes explicandi nunc una turma sunt.

Instrumenta quae te cum hac operari permittunt sunt CircleCI, Travis CI, GitLab CI et alii.

Cito ad exemplar accessiones facere potes, illud renova et statim mitte, dum facile erit, in rebus defectis, cito ad versionem operariam redire, ut finis usoris ne id quidem notet. Hoc praesertim facile et cito fieri potest, si bene expertus est.

Differentias minimize!!!

Principium 9. omnia tua

Acta (vel "loga") sunt eventus, plerumque in forma textu notantur, quae in applicatione (eventi amnis) occurrunt. Simplex exemplum: "2020-02-02 - systematis campestris - processum nomen". Ordinantur ut elit litteraliter videre potest quid agatur cum progressio currit. Progressus progressus videt et intelligit num sit sicut ipse intendit elit.

Hoc principium enuntiat te ne ligna tua intra documenti ratio recondas - te solum "output" ea ad tentorium, verbi gratia, hoc fac in norma normae output. Et hoc modo poterit monitor in termino in evolutione fluere.

Hoccine sibi vult quod non opus est omnino ligna servare? Certe non. Applicatio tua iusta hoc facere non debet - illud relinque in tertia parte muneris. Applicatio tua non potest nisi ligna transmittere ad certum fasciculum vel terminalem ad tempus reale inspiciendum, vel ad propositum generale systematis repositionis (ut Hadoop). Applicatio ipsa tua non congesta aut penitus condere debet.

Principium 10. Test!

Ad machinam industrialem discendi, hoc tempus maximi momenti est, cum opus sit ut exemplar probe operetur ac producat quod volebas.

Testimonia utens pytest creari possunt, et probata parva dataset utens si negotium regressionis/classificationis habes.

Noli oblivisci semina alta discendi exempla ponere ut diversos eventus constanter non pariant.

Haec fuit brevis descriptio 10 principiorum, et, sane, difficile est illis uti sine conatu et videndo quomodo operantur, sic hic articulus est sicut prologus ad seriem articulorum iucundorum in quibus ostendam quomodo creare machinae industriae exempla discendi, quomodo eas in systemata integrare, et quomodo haec principia vitam omnibus faciliorem reddere possint.

Experiar etiam ut principia frigida quae quis in commentationibus relinquere possit, si velint.

Source: www.habr.com