Edemede a bụ gbasara Python Gateway, ọrụ obodo mepere emepe maka ikpo okwu data InterSystems IRIS. Ọrụ a na-enye gị ohere ịhazi algorithms mmụta igwe ọ bụla emebere na Python (ebe bụ isi maka ọtụtụ ndị ọkà mmụta sayensị data), jiri ọtụtụ ọba akwụkwọ emebere ngwa ngwa mepụta ngwa ngwa ngwa ngwa AI / ML nyocha robot na nyiwe InterSystems IRIS. N'ime edemede a, m ga-egosi gị otu InterSystems IRIS nwere ike isi hazie usoro Python, rụọ ọrụ mbufe data ụzọ abụọ nke ọma, wee mepụta usoro azụmaahịa nwere ọgụgụ isi.
Atụmatụ
Okwu Mmalite.
Ngwa.
Nwụnye
API.
Mmekọrịta.
Akwụkwọ ndetu Jupyter.
Mkpebi.
Njikọ.
Ngwa ML
Okwu Mmalite
Eke Ọgba bụ asụsụ mmemme n'ozuzu ya na-elekwasị anya n'ịkwalite mmepụta mmepụta yana ịgụ koodu. N'ime usoro isiokwu a, m ga-ekwu maka ohere nke iji asụsụ Python na usoro InterSystems IRIS, ebe isi ihe na-elekwasị anya n'isiokwu a bụ iji Python dị ka asụsụ maka ịmepụta na itinye ụdị mmụta igwe.
Ịmụ igwe (ML) bụ klaasị nke ụzọ ọgụgụ isi mmadụ, njirimara njirimara ya abụghị ihe ngwọta kpọmkwem nke nsogbu, kama mmụta na usoro nke idozi ọtụtụ nsogbu ndị yiri ya.
Algọridim mmụta igwe na ụdị na-aghọwanye ihe a na-ahụkarị. Enwere ọtụtụ ihe kpatara nke a, mana ihe niile na-agbadata na ịnweta, ịdị mfe, yana nweta nsonaazụ bara uru. Ịchịkọta ma ọ bụ ọbụna netwọk neural ịṅomi ọ bụ teknụzụ ọhụrụ?
N'ezie ọ bụghị, ma n'oge a ọ dịghị mkpa ka e dee ọtụtụ narị puku ahịrị nke koodu na-agba ọsọ otu nlereanya, na ọnụ ahịa nke ịmepụta na iji ụdị na-adịwanye nta na obere.
Ngwaọrụ na-agbanwe - ebe anyị enweghị ngwaọrụ AI / ML dabere na GUI zuru oke, a na-ahụkwa ọganihu anyị hụworo na ọtụtụ klaasị nke sistemụ ozi ndị ọzọ dị ka BI (site na koodu ederede na iji frameworks na GUI gbakwasara configurable ngwọta) , na-ahụkwa. na AI/ML ngwaọrụ okike. Anyị agafeworị ọkwa nke koodu ederede na taa anyị na-eji frameworks maka iwu ụlọ na ọzụzụ ụdị.
Nkwalite ndị ọzọ, dị ka ike ịgbasa ụdị a zụrụ azụ ebe onye ọrụ njedebe ga-agwụcha ọzụzụ ihe nlereanya na data ha kpọmkwem, na-emekwa ka ọ dịkwuo mfe ịmalite itinye mmụta igwe. Ọganihu ndị a na-eme ka ọ dịkwuo mfe ịmụta mmụta igwe, ma maka ndị ọkachamara ma maka ụlọ ọrụ n'ozuzu ya.
N'aka nke ọzọ, anyị na-anakọta ọtụtụ data. Site na ikpo okwu data ejikọtara ọnụ dị ka InterSystems IRIS, enwere ike ịkwadebe ozi a niile ozugbo wee jiri dị ka ntinye maka ụdị mmụta igwe.
Site na mgbanwe na igwe ojii, ịmalite ọrụ AI / ML dị mfe karịa mgbe ọ bụla. Anyị nwere ike iri naanị ihe ndị anyị chọrọ. Ọzọkwa, ekele maka myirịta nke igwe ojii na-enye, anyị nwere ike ịchekwa oge efu.
Ma gịnị banyere nsonaazụ? Nke a bụ ebe ihe na-esiwanye ike. Enwere ọtụtụ ngwaọrụ maka ụdị ụlọ, nke m ga-atụle ọzọ. Ịrụ ezigbo ihe nlereanya adịghị mfe, ma gịnị na-esote? Ịrite uru site na iji ihe nlereanya site na azụmahịa bụkwa ọrụ na-adịghị mkpa. Mgbọrọgwụ nsogbu ahụ bụ nkewa nke ọrụ nyocha na azụmahịa na ụdị data. Mgbe anyị na-azụ ihe nlereanya, anyị na-emekarị ya na data akụkọ ihe mere eme. Ma ebe maka ihe nlereanya e wuru bụ na nhazi data azụmahịa. Kedu uru kacha mma ụdị nchọpụta azụmahịa aghụghọ ma ọ bụrụ na anyị na-agba ya otu ugboro n'ụbọchị? Ndị scammers ejirila ego pụọ ogologo oge. Anyị kwesịrị ịzụ ihe nlereanya na data akụkọ ihe mere eme, ma anyị kwesịkwara itinye ya ozugbo na data ọhụrụ na-abata ka usoro azụmahịa anyị nwee ike ime ihe dịka amụma ndị e mere site na ihe nlereanya ahụ.
ML Toolkit bụ ngwa ọrụ na-eme nke ahụ: na-achịkọta ụdị ọnụ na ebe azụmahịa ka enwere ike iji ụdị ndị ị na-ewu ngwa ngwa na usoro azụmahịa gị. Python Gateway bụ akụkụ nke ML Toolkit ma na-enye njikọta na asụsụ Python (dị ka R Gateway, ịbụ akụkụ nke ML Toolkit na-enye njikọta na asụsụ R).
Ngwaọrụ
Tupu anyị aga n'ihu, ọ ga-amasị m ịkọwa ụfọdụ ngwa Python na ọba akwụkwọ anyị ga-eji emechaa.
nke technology
Eke Ọgba bụ asụsụ a tụgharịrị, ebumnuche izugbe, asụsụ mmemme dị elu. Isi uru nke asụsụ a bụ nnukwu ọbá akwụkwọ mgbakọ na mwepụ, ụlọ akwụkwọ ML na AI. Dị ka ObjectScript, ọ bụ asụsụ gbadoro ụkwụ n'ihe, mana a na-akọwa ihe niile n'ike, ọ bụghị n'usoro. Ọzọkwa ihe niile bụ ihe. Akụkọ ndị ọzọ na-eche na amatala asụsụ ahụ. Ọ bụrụ na ịchọrọ ịmalite mmụta, ana m akwado ịmalite akwụkwọ.
IDE: m na-eji PyCharm, ma n'ozuzu много. Ọ bụrụ na ị na-eji Atelier, enwere ngwa mgbakwunye Eclipse maka ndị mmepe Python. Ọ bụrụ na ị na-eji koodu VS, mgbe ahụ enwere ndọtị maka Python.
Akwụkwọ ndetu: Kama IDE, ị nwere ike dee na kesaa script gị na akwụkwọ ndetu n'ịntanetị. Ihe kacha ewu ewu n'ime ha bụ Jupyterị.
Ọba akwụkwọ
Nke a bụ ndepụta (akụkụ akụkụ) nke ụlọ akwụkwọ mmụta igwe:
Teknụzụ AI/ML na-eme ka azụmaahịa na-arụ ọrụ nke ọma na ngbanwe. Ọzọkwa, taa teknụzụ ndị a na-adịwanye mfe ịzụlite na mejuputa ya. Malite ịmụta maka teknụzụ AI/ML yana otu ha nwere ike isi nyere ọgbakọ gị aka ito eto.
ọnọdụ
Enwere ọtụtụ ụzọ iji wụnye na iji Python Gateway:
Os
Windows
Linux
Mac
Docker
Jiri onyonyo si na DockerHub
Mepụta onyonyo nke gị
N'agbanyeghị usoro ntinye, ị ga-achọ koodu isi mmalite. Naanị ebe ị ga-ebudata koodu ahụ bụ ibe ewepụtara. Ọ nwere mwepụta kwụsiri ike nwalere, naanị jide nke kachasị ọhụrụ. N'oge ọ bụ 0.8, ma ka oge na-aga, a ga-enwe ndị ọhụrụ. Edokwala/budata ebe nchekwa ahụ, budata ntọhapụ ọhụrụ.
Os
Ọ bụrụ na ị na-etinye Python Gateway na sistemụ arụmọrụ, nke mbụ (n'agbanyeghị sistemụ arụmọrụ) ị ga-achọ itinye Python. Maka nke a:
Budata koodu ObjectScript (ya bụ. do $system.OBJ.ImportDir("C:InterSystemsReposPythoniscpy", "*.cls", "c",,1)) na mpaghara ọ bụla nwere ngwaahịa. Ọ bụrụ na ịchọrọ mpaghara dị adị iji kwado ngwaahịa, gbaa ọsọ: write ##class(%EnsembleMgr).EnableNamespace($Namespace, 1).
Ebe Kpọọ DLL/SO/DYLIB na folda bin Ihe atụ InterSystems IRIS gị. Faịlụ ọba akwụkwọ ga-adịrịrị n'ụzọ nke eweghachiri write ##class(isc.py.Callout).GetLib().
Windows
Gbaa mbọ hụ na mgbanwe gburugburu ebe obibi dị PYTHONHOME rụtụrụ aka na Python 3.6.7.
Gbaa mbọ hụ na agbanwe agbanwe gburugburu sistemu PATH nwere mgbanwe PYTHONHOME (ma ọ bụ akwụkwọ ndekọ aha ọ na-arụtụ aka).
Linux (Debian/Ubuntu)
Lelee ma ọ bụrụ na mgbanwe gburugburu ebe obibi bụ PATH nwere /usr/lib и /usr/lib/x86_64-linux-gnu. Jiri faịlụ /etc/environment ịtọ mgbanwe gburugburu ebe obibi.
N'ọnọdụ nke njehie undefined symbol: _Py_TrueStruct tọọ ntọala PythonLib. nakwa n'ime Na-agụ enwere ngalaba nchọpụta nsogbu.
Mac
Ugbu a ọ bụ naanị Python 3.6.7 ka a na-akwado Python.org. Lelee mgbanwe PATH.
Ọ bụrụ na ị gbanweela mgbanwe gburugburu, malitegharịa ngwaahịa InterSystems gị.
Docker
Iji containers nwere ọtụtụ uru:
Enwere ike ibugharị
Irè
Mkpuchi
ìhè
Adịghị agbanwe agbanwe
Lelee nke a usoro isiokwu maka ozi ndị ọzọ maka iji Docker na ngwaahịa InterSystems.
Ihe niile na-ewu Python Gateway bụ ihe dabere na akpa ugbu a. 2019.4.
Onyonyo emechara
Gbaa: docker run -d -p 52773:52773 --name irispy intersystemscommunity/irispy-community:latestiji budata ma mee Python Gateway na InterSystems IRIS Community Edition. Ọ gwụla.
Mepụta onyonyo nke gị
Iji wuo onyonyo docker, gbagharịa na mgbọrọgwụ nke ebe nchekwa ahụ: docker build --force-rm --tag intersystemscommunity/irispy:latest ..
Site na ndabara, a na-ewu onyonyo a dabere na onyonyo a store/intersystems/iris-community:2019.4.0.383.0, Otú ọ dị, ị nwere ike ịgbanwe nke a site na ịtọ mgbanwe IMAGE.
Iji wuo site na InterSystems IRIS na-agba ọsọ: `docker build --build-arg IMAGE=store/intersystems/iris:2019.4.0.383.0 --force-rm --tag intersystemscommunity/irispy: latest'.
Ọ bụrụ na ị na-eji onyonyo dabere na InterSystems IRIS Community Edition, ịkwesighi ịkọwa igodo.
Комментарии
Usoro ule isc.py.test.Process na-echekwa ọtụtụ onyonyo na ndekọ nwa oge. Ị nwere ike ịchọrọ ịgbanwe ụzọ a ka ọ bụrụ ndekọ aha n'elu. Iji mee nke a, dezie ntọala WorkingDir na-akọwapụta ndekọ n'elu.
Ozugbo ị rụnyere Python Gateway, ọ bara uru ịlele na ọ na-arụ ọrụ. Gbaa koodu a na ọdụ InterSystems IRIS:
set sc = ##class(isc.py.Callout).Setup()
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).
write var
Nsonaazụ kwesịrị ịbụ HELLO - uru nke Python variable x. Ọ bụrụ na nlọghachi ọnọdụ sc bụ mmejọ ma ọ bụ var efu, lelee Readme — ngalaba nchọpụta nsogbu.
API
Awụnyere Python Gateway ma ị chọpụtala na ọ na-arụ ọrụ. Oge ịmalite iji ya!
Isi interface na Python bụ isc.py.Main. Ọ na-enye otu ụzọ ndị a (laghachi niile %Status):
Koodu ogbugbu
Nnyefe data
Ndi enyemaka
Koodu ogbugbu
Ụzọ ndị a na-enye gị ohere ime koodu Python aka ike.
SimpleString
SimpleString bụ isi ụzọ. Ọ na-ewe arụmụka nhọrọ 4:
code bụ akara koodu ime. agwa ndepụta ahịrị: $c(10).
result - ByRef na-ezo aka na mgbanwe nke edere uru returnVariable.
N'elu anyị emeela:
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).
N'ọmụmaatụ a, anyị na-ekenye na Python variable x pụtara Hello ma chọọ iweghachi uru nke mgbanwe Python x gaa na mgbanwe ObjectScript var.
ExecuteCode
ExecuteCode bụ ihe ọzọ dị nchebe yana enweghị mmachi SimpleString.
Ahịrị dị na InterSystems IRIS n'elu ikpo okwu bụ naanị mkpụrụedemede 3, ma ọ bụrụ na ịchọrọ ịme mpempe koodu ogologo, ịkwesịrị iji iyi.
Ọ na-ewe arụmụka abụọ:
code - eriri ma ọ bụ iyi nke koodu Python ga-egbu.
variable - (nhọrọ) na-ekenye nsonaazụ nke ogbugbu code mgbanwe Python a.
Tụọ aro iji:
set sc = ##class(isc.py.Main).ExecuteCode("2*3", "y").
N'ihe atụ a, anyị na-amụba 2 site na 3 ma chekwaa nsonaazụ ya na mgbanwe Python y.
Nnyefe data
Nyefee data gaa na site na Python.
Python -> InterSystems IRIS
Enwere ụzọ anọ iji nweta uru nke Python variable na InterSystems IRIS, dabere na serialization ị chọrọ:
String maka ụdị data dị mfe na debugging.
Repr maka ịchekwa ihe ndị dị mfe na debugging.
JSON maka njikwa data dị mfe n'akụkụ InterSystems IRIS.
Pickle iji chekwaa ihe.
Ụzọ ndị a na-enye gị ohere ịnweta mgbanwe site na Python dị ka eriri ma ọ bụ dị ka iyi.
GetVariable(variable, serialization, .stream, useString) - nweta serialization mgbanwe variable в stream. Ọ bụrụ useString bụ 1 ma tinye serialization na eriri, wee weghachi eriri, ọ bụghị iyi.
GetVariableJson(variable, .stream, useString) - nweta usoro JSON nke mgbanwe.
GetVariablePickle(variable, .stream, useString, useDill) - Nweta usoro pickle (ma ọ bụ dil) nke mgbanwe.
Ka anyị gbalịa nweta mgbanwe anyị y.
set sc = ##class(isc.py.Main).GetVariable("y", , .val, 1)
write val
>6
InterSystems IRIS -> Python
Na-ebu data sitere na InterSystems IRIS n'ime Python.
ExecuteQuery(query, variable, type, namespace) - na-emepụta dataset (pandas dataframe ma ọ bụ list) site na ajụjụ sql wee tọọ ya na mgbanwe Python variable. Akpa rọba isc.py kwesịrị ịdị na mpaghara namespace - A ga-eme arịrịọ ahụ n'ebe ahụ.
ExecuteGlobal(global, variable, type, start, end, mask, labels, namespace) - na-ebu data zuru ụwa ọnụ global site na ndenye aha start ka end na Python dị ka ụdị mgbanwe type: list, ma ọ bụ pandas dataframe. Nkọwa nke arụmụka nhọrọ mask na labels dị na akwụkwọ klaasị na ebe nchekwa Akwụkwọ Nyefee data.
ExecuteClass(class, variable, type, start, end, properties, namespace) - na-ebu data klas class si id start ka end na Python dị ka ụdị mgbanwe type: list, ma ọ bụ pandas dataframe. properties - ndepụta (nke rịkọm dị iche iche) nke akụrụngwa klas a ga-ebunye n'ime dataset. A kwadoro ihe mkpuchi * и ?. Nke izizi - * (ihe niile). Ngwongwo %%CLASSNAME leghaara anya.
ExecuteTable(table, variable, type, start, end, properties, namespace) - na-ebu data tebụl table si id start ka end na Python.
ExecuteQuery - eluigwe na ala (a ga-ebufe ajụjụ SQL ọ bụla na Python). Agbanyeghị, ExecuteGlobal na ihe mkpuchi ya ExecuteClass и ExecuteTable na-arụ ọrụ na ọtụtụ mgbochi. Ha na-agba ọsọ ọsọ (ugboro 3-5 ngwa ngwa karịa onye ọkwọ ụgbọ ala ODBC na ugboro 20 ngwa ngwa karịa ExecuteQuery). Ozi ndị ọzọ na Akwụkwọ Nyefee data.
Ụzọ ndị a niile na-akwado ịnyefe data site na mpaghara ọ bụla. Akpa rọba isc.py ga-adị na mpaghara ebumnuche.
Mee ajụjụ
ExecuteQuery(request, variable, type, namespace) - na-ebufe nsonaazụ nke ajụjụ SQL ọ bụla ziri ezi na Python. Nke a bụ usoro mbufe data kacha nwayọ. Jiri ya ma ọ bụrụ ExecuteGlobal na ihe mkpuchi ya adịghị.
Arụmụka:
query - ajụjụ sql.
variable - aha Python variable nke edere data na ya.
variable - aha Python variable nke edere data na ya.
type - list ma ọ bụ pandas dataframe.
start - ndebanye aha mbụ nke ụwa. Ọ bụchaghị %Integer.
end bụ ndebanye aha ikpeazụ nke ụwa. Ọ bụchaghị %Integer.
mask - nkpuchi nke ụkpụrụ zuru ụwa ọnụ. Ihe nkpuchi ahụ nwere ike ịdị mkpụmkpụ karịa ọnụ ọgụgụ nke ubi na ụwa (nke ikpe a ga-awụpụ ubi na njedebe). Otu esi ahazi ihe nkpuchi:
d - Ụbọchị (site na $horolog, na Windows site na 1970, na Linux site na 1900).
t - Oge ($ horolog, sekọnd mgbe etiti abalị).
m - stampụ oge (OGE-Ụbọchị AFỌ-Ọnwa: nkeji: eriri usoro nke abụọ).
labels - % Ndepụta aha kọlụm. Ihe mbụ bụ aha ndebanye aha.
namespace - mpaghara ebe a ga-emezu arịrịọ ahụ.
ExecuteClass
kechie ExecuteGlobal. Na-akwado oku dabere na nkọwa klaasị ExecuteGlobal ma kpọọ ya.
ExecuteClass(class, variable, type, start, end, properties, namespace) - ịnyefe data klas na Python.
Arụmụka:
class - aha klas
variable - aha Python variable nke edere data na ya.
type - list ma ọ bụ pandas dataframe.
start - mmalite Id.
end - ikpeazụ Id
properties - ndepụta (nke rịkọm dị iche iche) nke akụrụngwa klas a ga-ebunye n'ime dataset. A kwadoro ihe mkpuchi * и ?. Nke izizi - * (ihe niile). Ngwongwo %%CLASSNAME leghaara anya.
namespace - mpaghara ebe a ga-emezu arịrịọ ahụ.
A na-agafe akụrụngwa niile ma ewezuga akụrụngwa ụdị %Date, %Time, %Boolean и %TimeStamp - A na-atụgharị ha na klaasị Python kwekọrọ.
ExecutTable
kechie ExecuteClass. Na-atụgharị aha tebụl ka ọ bụrụ aha klaasị na oku ExecuteClass. mbinye aka:
ExecuteTable(table, variable, type, start, end, properties, namespace) - na-ebufe data tebụl na Python.
Arụmụka:
table - tebụl aha.
A na-agafe arụmụka ndị ọzọ dịka ọ dị. ExecuteClass.
Ihe edeturu
ExecuteGlobal, ExecuteClass и ExecuteTable na-arụ ọrụ ohiha ngwa ngwa.
ExecuteGlobal 20 ugboro ngwa ngwa karịa ExecuteQuery na nnukwu datasets (oge mbufe> 0.01 nke abụọ).
ExecuteGlobal, ExecuteClass и ExecuteTable rụọ ọrụ na globals na usoro a: ^global(key) = $lb(prop1, prop2, ..., propN) ebe key bụ ọnụọgụgụ.
Iji ExecuteGlobal, ExecuteClass и ExecuteTable Oke uru akwadoro %Date kwekọrọ na oke mktime ma dabere na OSwindows: 1970-01-01, Linux 1900-01-01, mac). Jiri %TimeStampịnyefe data na mpụga oke a ma ọ bụ jiri pandas dataframe dị ka mmachi a bụ naanị maka ndepụta.
Iji ExecuteGlobal, ExecuteClass и ExecuteTable arụmụka niile ma e wezụga isi iyi data (ụwa, klaasị ma ọ bụ tebụl) na mgbanwe bụ nhọrọ.
atụ
ule klas isc.py.test.Onye nwere usoro na-egosi nhọrọ mbufe data niile:
set global = "isc.py.test.PersonD"
set class = "isc.py.test.Person"
set table = "isc_py_test.Person"
set query = "SELECT * FROM isc_py_test.Person"
// Общие аргументы
set variable = "df"
set type = "dataframe"
set start = 1
set end = $g(^isc.py.test.PersonD, start)
// Способ 0: ExecuteGlobal без аргументов
set sc = ##class(isc.py.Main).ExecuteGlobal(global, variable _ 0, type)
// Способ 1: ExecuteGlobal с аргументами
// При передаче глобала названия полей задаются вручную
// globalKey - название сабсткрипта
set labels = $lb("globalKey", "Name", "DOB", "TS", "RandomTime", "AgeYears", "AgeDecimal", "AgeDouble", "Bool")
// mask содержит на 1 элемент меньше чем labels потому что "globalKey" - название сабскипта
// Пропускаем %%CLASSNAME
set mask = "-+dmt+++b"
set sc = ##class(isc.py.Main).ExecuteGlobal(global, variable _ 1, type, start, end, mask, labels)
// Способ 2: ExecuteClass
set sc = ##class(isc.py.Main).ExecuteClass(class, variable _ 2, type, start, end)
// Способ 3: ExecuteTable
set sc = ##class(isc.py.Main).ExecuteTable(table, variable _ 3, type, start, end)
// Способ 4: ExecuteTable
set sc = ##class(isc.py.Main).ExecuteQuery(query, variable _ 4, type)
usoro oku do ##class(isc.py.test.Person).Test() ịhụ ka ụzọ mbufe data niile si arụ ọrụ.
Ụzọ inyeaka
GetVariableInfo(variable, serialization, .defined, .type, .length) - nweta ozi gbasara mgbanwe: ma ọ na-akọwa, klaasị na ogologo serialization.
GetVariableDefined(variable, .defined) - ma agbanwe agbanwe.
GetVariableType(variable, .type) - nweta klas nke mgbanwe.
GetStatus() - nweta ma wepụ nke ikpeazụ n'akụkụ Python.
GetModuleInfo(module, .imported, .alias) - nweta mgbanwe modul na ọkwa mbubata.
Ị mụtala ka esi akpọ Python Gateway site na njedebe, ugbu a ka anyị malite iji ya na mmepụta. Ihe ndabere maka ịmekọrịta Python na ọnọdụ a bụ isc.py.ens.Operation. Ọ na-enye anyị ohere:
Mepụta koodu Python
Chekwa/Weghachite ederede Python
Budata ma nweta data sitere na Python
N'ụzọ bụ isi, ọrụ Pyhton bụ ihe mkpuchi isc.py.Main. Ọrụ isc.py.ens.Operation na-enye ohere mmekọrịta na usoro Python sitere na ngwaahịa InterSystems IRIS. A na-akwado arịrịọ ise:
isc.py.msg.ExecutionRequest iji mebie koodu Python. na-alaghachi isc.py.msg.ExecutionResponse na nsonaazụ ogbugbu na ụkpụrụ nke mgbanwe ndị a rịọrọ.
isc.py.msg.StreamExecutionRequest iji mebie koodu Python. na-alaghachi isc.py.msg.StreamExecutionResponse nsonaazụ nke ogbugbu na ụkpụrụ nke mgbanwe ndị a rịọrọ. Analọg isc.py.msg.ExecutionRequest, ma na-anabata ma na-eweghachi iyi kama ị na-eji eriri.
isc.py.msg.QueryRequest iji nyefee nsonaazụ nke ime ajụjụ SQL. na-alaghachi Ens.Response.
Initializer - ịhọrọ otu klas na-arụ ọrụ interface isc.py.init.Abstract. Enwere ike iji ya buo ọrụ, modul, klaasị, na ihe ndị yiri ya. A na-eme ya otu ugboro mgbe usoro ahụ malitere.
PythonLib - (Linux naanị) ọ bụrụ na ị hụ njehie buut, tọọ uru ya libpython3.6m.so ma ọ bụ ọbụlagodi n'ụzọ zuru oke na ọba akwụkwọ Python.
Ịmepụta usoro azụmahịa
Enwere klas abụọ dị na-eme ka mmepe nke usoro azụmaahịa dị mfe:
isc.py.ens.ProcessUtils na-enye gị ohere iwepụta nkọwa sitere na mmemme na ngbanwe agbanwe.
isc.py.util.BPEmulator na-eme ka ọ dị mfe iji Python nwalee usoro azụmahịa. Ọ nwere ike ịme usoro azụmahịa (akụkụ Python) na usoro dị ugbu a.
Ngbanwe mgbanwe
Usoro azụmahịa niile ketara isc.py.ens.ProcessUtils, nwere ike iji usoro GetAnnotation(name) iji nweta uru nke nkọwa ọrụ site n'aha ya. Nkọwa ọrụ nwere ike ịnwe mgbanwe ndị a ga-enyocha n'akụkụ InterSystems IRIS tupu ebufe ya na Python. Nke a bụ syntax maka ngbanwe agbanwe:
${class:method:arg1:...:argN} - usoro oku
#{expr} - Mepụta koodu n'asụsụ ObjectScript.
Ihe atụ dị na usoro azụmahịa nke ule isc.py.test.Process, dịka ọmụmaatụ, na ọrụ Correlation Matrix: Graph: f.savefig(r'#{process.WorkDirectory}SHOWCASE${%PopulateUtils:Integer:1:100}.png'). N'ihe atụ a:
#{process.WorkDirectory} weghachite ihe onwunwe WorkDirectory ihe ahụ process, nke bụ ihe atụ nke klas isc.py.test.Process ndị ahụ. usoro azụmahịa ugbu a.
${%PopulateUtils:Integer:1:100} na-akpọ usoro Integer klas %PopulateUtils, na-agafe arụmụka 1 и 100, na-eweghachite ọnụọgụ ọnụọgụ na nso 1...100.
Nyochaa usoro azụmahịa
Mmepụta nnwale na usoro azụmaahịa nnwale dị na ndabara dị ka akụkụ nke Python Gateway. Iji ha:
Na njedebe OS na-agba ọsọ: pip install pandas matplotlib seaborn.
Na ọnụ InterSystems IRIS, gbaa ọsọ: do ##class(isc.py.test.CannibalizationData).Import() iji mejupụta data ule.
Mwepụta ngwaahịa isc.py.test.Production.
zipu ụdị arịrịọ Ens.Request в isc.py.test.Process.
Ka anyị hụ otú ihe niile si arụkọ ọrụ ọnụ. Mepee isc.py.test.Process na BPL editọ:
Koodu ogbugbu
Oku kacha mkpa bụ mkpochapụ koodu Python:
Arịrịọ ejiri isc.py.msg.ExecutionRequest, ebe a bụ njirimara ya:
Code - Koodu Python.
SeparateLines - ma ọ ga-ekewa koodu n'ime ahịrị maka igbu. $c(10) (n) a na-eji kewaa eriri. Rịba ama na ọ dịghị atụ aro ka ịhazi ozi ahụ n'otu oge, ọrụ a bụ naanị maka nhazi def na okwu multiline yiri ya. Ọdabara 0.
Variables bụ ndepụta mgbanwe dị iche iche nke a ga-agbakwunye na nzaghachi.
Serialization - Otu esi serialize mgbanwe ndị anyị chọrọ ịlaghachi. Nhọrọ: Str, Repr, JSON, Pickle и Dill, ndabara Str.
N'ọnọdụ anyị, anyị na-edozi ihe onwunwe naanị Code, nke mere na ihe ndị ọzọ niile na-eji ụkpụrụ ndabara ha. Anyị na-ahazi ya site na ịkpọ process.GetAnnotation("Import pandas"), nke na oge ojiri gaa na-eweghachi nkọwapụta mgbe emechara mgbanwe mgbanwe. N'ikpeazụ koodu import pandas as pd a ga-agafe na Python. GetAnnotation nwere ike ịba uru maka ịnweta script Python multi-line, mana enweghị mgbochi na ụzọ a nke ịnweta koodu. Ị nwere ike ịtọ ihe onwunwe Code n'ụzọ ọ bụla adabara gị.
Ọ na-agbakọ Matrix Correlation n'akụkụ Python wee wepụ ihe agbanwe agbanwe corrmat laghachi na InterSystems IRIS na usoro JSON site na ịtọ ntọala arịrịọ:
Variables: "corrmat"
Serialization: "JSON"
Anyị nwere ike ịhụ nsonaazụ ya na Visual Trace:
Ma ọ bụrụ na anyị chọrọ uru a na BP, enwere ike nweta ya dị ka nke a: callresponse.Variables.GetAt("corrmat").
Nnyefe data
Ọzọ, ka anyị kwuo maka ịnyefe data sitere na InterSystems IRIS na Python, arịrịọ mbufe data niile mejuputa interface ahụ. isc.py.msg.DataRequest, nke na-enye ihe ndị a:
Variable bụ Python variable nke edere data na ya.
Type - agbanwe ụdị: dataframe (pandas dataframe) ma ọ bụ list.
Namespace - mpaghara nke anyị na-enweta data. Akpa rọba isc.py kwesịrị ịdị na mpaghara a. Nke a nwere ike ịbụ mpaghara na-enweghị nkwado ngwaahịa.
Dabere na interface a, a na-emejuputa usoro arịrịọ 4:
isc.py.msg.QueryRequest - tọọ ihe onwunwe Query izipu ajụjụ SQL.
isc.py.msg.ClassRequest - tọọ ihe onwunwe Class ịgafe data klas.
isc.py.msg.TableRequest - tọọ ihe onwunwe Table iji nyefee data tebụl.
isc.py.msg.GlobalRequest - tọọ ihe onwunwe Global iji nyefee data n'ụwa niile.
N'ime usoro ule, lelee ọrụ ahụ RAWebe isc.py.msg.QueryRequest gosiri n'omume.
Ịchekwa/iweghachi Ọdịnihu Eke Ọgba
N'ikpeazụ, anyị nwere ike ịchekwa ọnọdụ Python na InterSystems IRIS, iji mee nke a, zipu isc.py.msg.SaveRequest ya na arụmụka:
Mask - Naanị mgbanwe ndị na-emeju ihe nkpuchi ka echekwara. Akwadoro * и ?. Ihe atụ: "Data*, Figure?". Ọdabara *.
MaxLength - Ogologo kachasị ogologo nke agbanwe agbanwe. Ọ bụrụ na serialization nke mgbanwe dị ogologo, mgbe ahụ, a ga-eleghara ya anya. Tọọ na 0 iji nweta mgbanwe n'ogologo ọ bụla. Ọdabara $$$MaxStringLength.
Name - Aha okwu (nhọrọ).
Description - Nkọwa nke gburugburu (nhọrọ).
Laghachi Ens.StringResponse с Id ọnọdụ echekwara. N'ime usoro ule, lelee ọrụ ahụ Save Context.
Arịrịọ metụtara ya isc.py.msg.RestoreRequest na-ebu ọnọdụ sitere na InterSystems IRIS banye Python:
ContextId bụ ihe nchọta ihe gbara ya gburugburu.
Clear - kpochapụ ihe gbara ya gburugburu tupu iweghachi ya.
Akwụkwọ Jupyter
Akwụkwọ Jupyter bụ ngwa weebụ mepere emepe nke na-enye gị ohere ịmepụta na bipụta akwụkwọ ndetu nwere koodu, nleba anya na ederede. Ụzọ Python na-enye gị ohere ịlele na dezie usoro BPL dị ka akwụkwọ ndetu Jupyter. Rịba ama na a na-eji Python 3 executor oge niile ugbu a.
Mgbakwunye a na-eche na nkọwa nwere koodu Python ma jiri aha mmemme dị ka aha ndị bu ụzọ. Ọ ga-ekwe omume ugbu a ịmalite usoro azụmahịa PythonGateway na Jupyter Notebook. Nke a bụ ihe ga-ekwe omume:
MLToolkit bụ ngwa ọrụ na-achọ ijikọ ụdị na ebe azụmahịa ka enwere ike iji ụdị arụrụ arụ ọrụ ozugbo na usoro azụmahịa gị. Python Gateway bụ akụkụ nke MLToolkit ma na-enye njikọta na asụsụ Python, na-enye gị ohere ịhazi algorithms mmụta igwe ọ bụla emebere na Python (ebe bụ isi maka ọtụtụ ndị sayensị data), jiri ọtụtụ ọba akwụkwọ emebere ngwa ngwa mepụta mgbanwe, robotic analytical AI / Ihe ngwọta ML na InterSystems ikpo okwu IRIS.
Otu ndị ọrụ MLToolkit bụ ebe nchekwa GitHub nkeonwe emebere dịka akụkụ nke InterSystems ụlọọrụ GitHub. A na-agwa ndị ọrụ si mpụga bụ ndị na-etinye, mmụta, ma ọ bụ na-ejirị MLToolkit components, gụnyere Python Gateway. Otu a nwere ọtụtụ ikpe etinyere (ya na koodu isi iyi na data nnwale) n'ihe gbasara ịzụ ahịa, nrụpụta, ọgwụ na ọtụtụ ụlọ ọrụ ndị ọzọ. Iji sonyere otu onye ọrụ Toolkit, biko ziga ozi-e dị nkenke na adreesị a: [email protected] ma tinye ozi ndị a n'akwụkwọ ozi gị:
Aha njirimara GitHub
Ụlọ ọrụ (ị na-arụ ọrụ ma ọ bụ na-amụ ihe)
Ọnọdụ (ọnọdụ gị n'ezie na nzukọ gị, ma "Student" ma ọ bụ "Nnwere Onwe").
mba
Maka ndị gụrụ akụkọ ahụ ma nwee mmasị na InterSystems IRIS dị ka ikpo okwu maka ịmepụta ma ọ bụ na-akwado ọgụgụ isi na usoro mmụta igwe, anyị na-akpọ gị òkù ka ị kparịta ọnọdụ nwere ike ịmasị ụlọ ọrụ gị. Anyị ga-enyocha ngwa ngwa mkpa nke ụlọ ọrụ gị wee kpebie atụmatụ ime ihe; adreesị ozi-e kọntaktị nke ndị ọkachamara AI / ML anyị - [email protected].