Baineann an t-alt seo le Python Gateway, tionscadal pobail foinse oscailte don ardán sonraí InterSystems IRIS. Ligeann an tionscadal seo duit aon halgartaim meaisínfhoghlama a chruthaítear i Python (an príomhthimpeallacht do go leor Eolaithe Sonraí) a cheolfhoireann, úsáid a bhaint as go leor leabharlann réidh chun réitigh oiriúnaitheacha, robotic AI / ML anailíseacha a chruthú go tapa ar an ardán IRIS InterSystems. San Airteagal seo, taispeánfaidh mé duit conas is féidir le InterSystems IRIS próisis Python a stiúradh, aistriú sonraí dhá bhealach éifeachtach a dhéanamh, agus próisis ghnó cliste a chruthú.
Plean
- Réamhrá
- Uirlisí.
- Suiteáil.
- API.
- Idir-inoibritheacht.
- Leabhar nótaí Iúpatar.
- Conclúidí.
- Naisc.
- Foireann uirlisí M.L.
Réamhrá
Is teanga ríomhchlárúcháin ardleibhéil ilfheidhmeach é Python atá dírithe ar tháirgiúlacht fhorbróra agus inléiteacht cóid a fheabhsú. Sa tsraith alt seo, labhróidh mé faoi na féidearthachtaí a bhaineann le húsáid na teanga Python ar an ardán InterSystems IRIS, agus is é príomhfhócas an ailt seo úsáid Python mar theanga chun samhlacha meaisínfhoghlama a chruthú agus a chur i bhfeidhm.
Is éard atá i bhfoghlaim meaisín (ML) aicme modhanna hintleachta saorga, nach é an ghné shainiúil atá ann ná réiteach díreach na faidhbe, ach foghlaim sa phróiseas chun go leor fadhbanna den chineál céanna a réiteach.
Tá halgartaim agus samhlacha meaisínfhoghlama ag éirí níos coitianta. Tá go leor cúiseanna leis seo, ach baineann sé go léir le hinrochtaineacht, simplíocht, agus torthaí praiticiúla a bhaint amach. An teicneolaíocht nua é cnuasú nó fiú líonra néarúil a shamhaltú?
Ar ndóigh ní, ach sa lá atá inniu níl aon ghá leis na céadta mílte línte cód a scríobh chun múnla amháin a rith, agus tá na costais a bhaineann le samhlacha a chruthú agus a úsáid ag dul i laghad agus níos lú.
Tá uirlisí ag teacht chun cinn - cé nach bhfuil uirlisí AI/ML atá dírithe go hiomlán ar GUI againn, tá an dul chun cinn atá feicthe againn le go leor aicmí eile de chórais faisnéise cosúil le BI (ó chód a scríobh go creataí agus réitigh inchumraithe atá dírithe ar GUI) le feiceáil freisin. in uirlisí cruthú AI/ML. Táimid tar éis dul thar céim na scríbhneoireachta cód cheana féin agus inniu úsáidimid creataí chun samhlacha tógála agus oiliúna.
Feabhsuithe eile, ar nós an cumas chun samhail réamhoilte a iomadú nuair nach mór don úsáideoir deiridh ach oiliúint a chur ar an tsamhail ar a sonraí sonracha, a fhágann go mbeidh sé níos éasca tús a chur le foghlaim meaisín a chur i bhfeidhm. Fágann na dul chun cinn seo go bhfuil sé i bhfad níos éasca meaisínfhoghlaim a fhoghlaim, do dhaoine gairmiúla agus do chuideachtaí ina n-iomláine.
Ar an láimh eile, bailímid níos mó agus níos mó sonraí. Le ardán sonraí aontaithe ar nós InterSystems IRIS, is féidir an fhaisnéis seo go léir a ullmhú láithreach agus a úsáid mar ionchur do mhúnlaí meaisínfhoghlama.
Leis an aistriú go dtí an scamall, tá sé níos éasca ná riamh tionscadail AI/ML a sheoladh. Ní féidir linn ach na hacmhainní a theastaíonn uainn a ithe. Thairis sin, a bhuíochas leis an gcomhthreomhaireacht a thairgeann ardáin scamall, is féidir linn am amú a shábháil.
Ach cad faoi thorthaí? Seo nuair a éiríonn rudaí níos casta. Tá go leor uirlisí ann chun samhlacha a thógáil, a phléifidh mé seo chugainn. Níl sé éasca múnla maith a thógáil, ach cad eile? Is tasc neamhfhánach freisin é brabús a bhaint as úsáid na samhla ag gnó. Is é bun na faidhbe scaradh ualaí oibre anailíseacha agus idirbheartaíochta agus samhlacha sonraí. Nuair a dhéanaimid oiliúint ar mhúnla, de ghnáth déanaimid é ar shonraí stairiúla. Ach tá an áit don mhúnla tógtha i bpróiseáil sonraí idirbheartaíochta. Cén mhaith é an tsamhail braite idirbheart calaoiseach is fearr má rithimid é uair amháin sa lá? Is fada ó d’imigh na scamadóirí leis an airgead. Ní mór dúinn an tsamhail a oiliúint ar shonraí stairiúla, ach ní mór dúinn freisin é a chur i bhfeidhm i bhfíor-am ar shonraí nua atá ag teacht isteach ionas gur féidir lenár bpróisis ghnó gníomhú de réir na réamh-mheastacháin a dhéanann an tsamhail.
Is foireann uirlisí é ML Toolkit a dhéanann an méid seo a leanas: samhlacha a thabhairt le chéile agus timpeallacht idirbheartaíochta ionas gur féidir na samhlacha a thógann tú a úsáid go díreach go díreach i do phróisis ghnó. Tá Python Gateway mar chuid den Fhoireann Uirlisí ML agus soláthraíonn sé comhtháthú leis an dteanga Python (cosúil le R Gateway, toisc go bhfuil sé mar chuid den Fhoireann Uirlisí ML soláthraíonn sé comhtháthú leis an teanga R).
Foireann Uirlisí
Sula leanfaimid ar aghaidh, ba mhaith liom cur síos a dhéanamh ar roinnt uirlisí agus leabharlanna Python a bheidh á n-úsáid againn níos déanaí.
Teicneolaíocht
- Is teanga ríomhchláraithe ardleibhéil ilfheidhme é Python. Is é príomhbhuntáiste na teanga leabharlann mhór de leabharlanna matamaitice, ML agus AI. Cosúil le ObjectScript, is teanga atá dírithe ar oibiachtaí í, ach sainmhínítear gach rud go dinimiciúil, ní go statach. Chomh maith leis sin is rud é gach rud. Glacann altanna níos deireanaí leis go bhfuil cur amach ar an teanga ag dul thar fóir. Más mian leat tosú ag foghlaim, molaim tosú le .
- Le haghaidh ár cleachtaí seo chugainn, a leagtar .
- IDE: Úsáidim , ach go ginearálta . Má tá Atelier á úsáid agat, tá breiseán Eclipse ann d’fhorbróirí Python. Má tá Cód VS á úsáid agat, tá síneadh ann do Python.
- Leabhar nótaí: In ionad IDE, is féidir leat do scripteanna a scríobh agus a roinnt i leabhair nótaí ar líne. Is é an ceann is mó tóir acu .
Leabharlanna
Seo liosta (páirteach) de leabharlanna meaisínfhoghlama:
- — pacáiste bunúsach le haghaidh ríomhaireachtaí beachta.
- — struchtúir sonraí ardfheidhmíochta agus uirlisí anailíse sonraí.
- - Cruthú cairteacha.
- - léirshamhlú sonraí bunaithe ar matplotlib.
- — modhanna meaisínfhoghlama.
- — halgartaim mheaisínfhoghlama laistigh den mhodheolaíocht Treisiú Grádán.
- — NLP.
- - líonraí neural.
- is ardán é chun samhlacha meaisínfhoghlama a chruthú.
- Is ardán é chun samhlacha meaisínfhoghlama a chruthú atá dírithe ar Python.
- - PMML ó mhúnlaí éagsúla.
Déanann teicneolaíochtaí AI/ML gnó níos éifeachtaí agus níos inoiriúnaithe. Ina theannta sin, inniu tá na teicneolaíochtaí seo ag éirí níos éasca a fhorbairt agus a chur i bhfeidhm. Tosaigh ag foghlaim faoi theicneolaíochtaí AI/ML agus conas is féidir leo cabhrú le d’eagraíocht fás.
Suiteáil
Tá roinnt bealaí ann chun Python Gateway a shuiteáil agus a úsáid:
- OS
- Windows
- Linux
- poipín
- dhugaire
- Bain úsáid as an íomhá ó DockerHub
- Cruthaigh do íomhá féin
Beag beann ar an modh suiteála, beidh an cód foinse uait. Is é an t-aon áit chun an cód a íoslódáil . Tá eisiúintí cobhsaí tástálaithe ann, níl le déanamh ach an ceann is déanaí a fháil. Faoi láthair tá sé 0.8, ach le himeacht ama beidh cinn nua. Ná clónáil/íoslódáil an stór, íoslódáil an t-eisiúint is déanaí.
OS
Má tá tú ag suiteáil Python Gateway ar chóras oibriúcháin, ansin ar dtús (beag beann ar an gcóras oibriúcháin) beidh ort Python a shuiteáil. Dó seo:
- . Moltar Python a shuiteáil sa chomhadlann réamhshocraithe.
- Suiteáil an modúl
dill:pip install dill. - Íoslódáil an cód ObjectScript (i.e.
do $system.OBJ.ImportDir("C:InterSystemsReposPythoniscpy", "*.cls", "c",,1)) chuig aon limistéar ina bhfuil táirgí. Ar eagla go dteastaíonn uait réimse reatha chun tacú le táirgí, rith:write ##class(%EnsembleMgr).EnableNamespace($Namespace, 1). - Áit chuig fillteán
bindo shampla InterSystems IRIS. Caithfidh an comhad leabharlainne a bheith ar fáil sa chosán ar ais agwrite ##class(isc.py.Callout).GetLib().
Windows
- Déan cinnte go bhfuil an athróg timpeallachta
PYTHONHOMEpointí go Python 3.6.7. - Déan cinnte go bhfuil athróg timpeallacht an chórais
PATHtá athrógPYTHONHOME(nó an t-eolaire a luann sé).
Linux (Debian/Ubuntu)
- Seiceáil an bhfuil an athróg timpeallachta
PATHtá/usr/libи/usr/lib/x86_64-linux-gnu. Úsáid Comhad/etc/environmentchun athróga timpeallachta a shocrú. - I gcás earráidí
undefined symbol: _Py_TrueStructsocraigh an socrúPythonLib... freisin i tá roinn Fabhtcheartú.
poipín
- Faoi láthair ní thacaítear ach le python 3.6.7 ó . Seiceáil Athróg
PATH.
Má tá athróga timpeallachta athraithe agat, atosaigh do tháirge InterSystems.
dhugaire
Tá roinnt buntáistí ag baint le coimeádáin a úsáid:
- Inaistritheacht
- Éifeachtacht
- Insliú
- gile
- Immutability
Seiceáil amach seo le haghaidh tuilleadh eolais ar úsáid a bhaint as Docker le táirgí InterSystems.
Tá gach tógáil Python Gateway bunaithe ar choimeádán faoi láthair. 2019.4.
Íomhá críochnaithe
Rith: docker run -d -p 52773:52773 --name irispy intersystemscommunity/irispy-community:latesta íoslódáil agus a rith Python Gateway le InterSystems IRIS Community Edition. Sin é an méid.
Cruthaigh do íomhá féin
Chun íomhá docker a thógáil, rith i bhfréamh an stór: docker build --force-rm --tag intersystemscommunity/irispy:latest ..
De réir réamhshocraithe, tógtar an íomhá bunaithe ar an íomhá store/intersystems/iris-community:2019.4.0.383.0, áfach, is féidir leat é seo a athrú tríd an athróg a shocrú IMAGE.
Chun tógáil ó rith InterSystems IRIS: `dock build --build-arg IMAGE=store/intersystems/iris:2019.4.0.383.0 --force-rm --tag intersystemscommunity/irispy:latest'.
Ina dhiaidh sin, is féidir leat an íomhá docker a rith:
docker run -d
-p 52773:52773
-v /<HOST-DIR-WITH-iris.key>/:/mount
--name irispy
intersystemscommunity/irispy:latest
--key /mount/iris.keyMá tá íomhá bunaithe ar InterSystems IRIS Community Edition á úsáid agat, ní gá duit eochair a shonrú.
Comments
- Próiseas Tástála
isc.py.test.Processsábhálann sé roinnt íomhánna chuig eolaire sealadach. Seans gur mhaith leat an cosán seo a athrú go eolaire gléasta. Chun seo a dhéanamh, cuir an socrú in eagarWorkingDirag sonrú an eolaire gléasta. - Chun rochtain a fháil ar an teirminéal, rith:
docker exec -it irispy sh. - Rochtain ar an Tairseach Bainistíochta Córais trí logáil isteach
SuperUser/SYS. - Chun coimeádán a stopadh, rith:
docker stop irispy && docker rm --force irispy.
Seiceáil an tsuiteáil
Nuair a bheidh Python Gateway suiteáilte agat, is fiú a sheiceáil go bhfuil sé ag obair. Rith an cód seo i gcríochfort InterSystems IRIS:
set sc = ##class(isc.py.Callout).Setup()
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).
write varBa chóir go mbeadh an toradh HELLO - luach na hathróige Python x. Má tá an stádas ar ais sc is botún nó var folamh, seiceáil .
API
Tá Python Gateway suiteáilte agus tá sé deimhnithe agat go bhfuil sé ag obair. Am chun tosú á úsáid!
Is é an príomh-chomhéadan le Python isc.py.Main. Cuireann sé na grúpaí modhanna seo a leanas ar fáil (go léir ar ais %Status):
- Cód a fhorghníomhú
- Aistriú sonraí
- Cúnta
Cód a fhorghníomhú
Ceadaíonn na modhanna seo duit cód Python treallach a fhorghníomhú.
Simplí String
SimpleString Is é an modh is mó. Tógann sé 4 argóint roghnacha:
codeIs é an líne cód a fhorghníomhú. Carachtar fotha líne:$c(10).returnVariableis ainm don athróg atá le tabhairt ar ais.serialization- conas a serializereturnVariable. 0 - teaghrán (réamhshocraithe), 1 - repr.result- ByRef tagairt don athróg ina bhfuil an luach scríofareturnVariable.
Thuas rinneamar:
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).Sa sampla seo, táimid ag sannadh do athróg Python x значение Hello agus ag iarraidh luach athróg Python a thabhairt ar ais x chuig athróg ObjectScript var.
Cód Rith
Is rogha eile níos sábháilte agus nach bhfuil chomh sriantach é ExecuteCode SimpleString.
Tá na línte san ardán InterSystems IRIS teoranta do 3 carachtar, agus más mian leat píosa cód níos faide a fhorghníomhú, ní mór duit sruthanna a úsáid.
Bíonn dhá argóint ann:
code— teaghrán nó sruth de chód Python le forghníomhú.variable- (roghnach) sannann an toradh a fhorghníomhúcodean athróg Python seo.
Mol úsáid a bhaint as:
set sc = ##class(isc.py.Main).ExecuteCode("2*3", "y").Sa sampla seo, déanaimid 2 a iolrú faoi 3 agus an toradh a stóráil in athróg Python y.
Aistriú sonraí
Sonraí a chur ar aghaidh chuig agus ó Python.
Python -> InterSystems IRIS
Tá 4 bhealach ann chun luach athróg Python a fháil in InterSystems IRIS, ag brath ar an sraithiú a theastaíonn uait:
Stringle haghaidh cineálacha sonraí simplí agus dífhabhtaithe.Reprchun rudaí simplí a stóráil agus dífhabhtaithe.JSONchun sonraí a ionramháil go héasca ar thaobh IRIS InterSystems.Picklechun rudaí a shábháil.
Ligeann na modhanna seo duit athróga a fháil ó Python mar theaghrán nó mar shruthanna.
GetVariable(variable, serialization, .stream, useString)- fháilserializationathrógvariableвstream. DáuseStringIs é 1 agus cuirtear an sraithiú i sreang, ansin cuirtear sreang ar ais, ní sruth.GetVariableJson(variable, .stream, useString)— faigh sraithiú athróige JSON.GetVariablePickle(variable, .stream, useString, useDill)-Faigh sraithiú Pickle (nó Dill) d'athróg.
Déanaimis iarracht ár n-athróg a fháil y.
set sc = ##class(isc.py.Main).GetVariable("y", , .val, 1)
write val
>6InterSystems IRIS -> Python
Sonraí á lódáil ó InterSystems IRIS go Python.
ExecuteQuery(query, variable, type, namespace)- cruthaíonn sé tacar sonraí (pandasdataframenólist) ó cheist sql agus socraigh go hathróg python évariable. Mála plaisteachisc.pyar fáil sa cheantarnamespace- déanfar an t-iarratas a fhorghníomhú ansin.ExecuteGlobal(global, variable, type, start, end, mask, labels, namespace)- lódálann sé sonraí domhandaglobalón síntiússtartдоendi Python mar athróg cineáiltype:list, nó pandasdataframe. Cur síos ar argóintí roghnachamaskaguslabelsar fáil i ndoiciméadú ranga agus i stór .ExecuteClass(class, variable, type, start, end, properties, namespace)- lódálann sé sonraí rangaclassó idstartдоendi Python mar athróg cineáiltype:list, nó pandasdataframe.properties— liosta (scartha le camóg) de na hairíonna ranga atá le lódáil isteach sa tacar sonraí. Tacaítear le maisc*и?. Réamhshocrú -*(gach maoin). Maoin%%CLASSNAMEneamhaird.ExecuteTable(table, variable, type, start, end, properties, namespace)- lódálann sé sonraí táblatableó idstartдоendi python.
ExecuteQuery - uilíoch (cuirfear aon cheist SQL bhailí ar aghaidh chuig Python). Ach, ExecuteGlobal agus a chuid wraps ExecuteClass и ExecuteTable oibriú le roinnt srianta. Tá siad i bhfad níos tapúla (3-5 huaire níos tapúla ná an tiománaí ODBC agus 20 uair níos tapúla ná ExecuteQuery). Tuilleadh eolais i .
Tacaíonn na modhanna seo go léir le haistriú sonraí ó aon réimse. Mála plaisteach isc.py a bheith ar fáil sa sprioclimistéar.
Iarratas Rith
ExecuteQuery(request, variable, type, namespace) - torthaí aon cheiste bailí SQL a chur ar aghaidh chuig Python. Is é seo an modh aistrithe sonraí is moille. Úsáid é más rud é ExecuteGlobal agus níl a chuid cumhdaigh ar fáil.
Argóintí:
query- ceist sql.variable- ainm na hathróige Python ina bhfuil na sonraí scríofa.type-listnó pandasdataframe.namespace- an limistéar ina ndéanfar an iarraidh a fhorghníomhú.
Rith Domhanda
ExecuteGlobal(global, variable, type, start, end, mask, labelels, namespace) - domhanda a thabhairt do Python.
Argóintí:
globalis ainm don domhanda gan^variable- ainm na hathróige Python ina bhfuil na sonraí scríofa.type-listnó pandasdataframe.start— an chéad fhoscríbhinn den chlár domhanda. Gá%Integer.endIs é an síntiús deireanach den domhanda. Gá%Integer.mask— masc na luachanna domhanda. Is féidir leis an masc a bheith níos giorra ná líon na réimsí sa domhan (agus sa chás sin déanfar na réimsí ag an deireadh a scipeáil). Conas an masc a fhormáidiú:+pas a fháil sa luach mar atá.-skip luach.b— cineál Boole (0-False, an chuid eile go léir -True).d— Dáta (ó $horolog, ar Windows ó 1970 ar aghaidh Linux ó 1900).t- Am ($ horolog, soicind tar éis meán oíche).m— Stampa ama (UAIREANTA BLIAIN-MÍ-LÁ: NÓIMÉAD: teaghrán formáide DARA).
labels- Liosta ainmneacha na gcolún. Is é an chéad eilimint ainm an tsíntiúis.namespace- an limistéar ina ndéanfar an iarraidh a fhorghníomhú.
Aicme Rith
wrap thar ExecuteGlobal. Ullmhaíonn glao bunaithe ar shainiú an ranga ExecuteGlobal agus glaonna air.
ExecuteClass(class, variable, type, start, end, properties, namespace) - sonraí ranga a chur ar aghaidh chuig Python.
Argóintí:
class- ainm rangavariable- ainm na hathróige Python ina bhfuil na sonraí scríofa.type-listnó pandasdataframe.start— ag tosú Id.end- Id deiridhproperties— liosta (scartha le camóg) de na hairíonna ranga atá le lódáil isteach sa tacar sonraí. Tacaítear le maisc*и?. Réamhshocrú -*(gach maoin). Maoin%%CLASSNAMEneamhaird.namespace- an limistéar ina ndéanfar an iarraidh a fhorghníomhú.
Rachaidh gach maoin ar aghaidh mar atá seachas maoine cineáil %Date, %Time, %Boolean и %TimeStamp - déantar iad a thiontú go dtí na ranganna Python comhfhreagracha.
ExecuteTable
wrap thar ExecuteClass. Aistrítear an t-ainm tábla ina ainm ranga agus glaonna ExecuteClass. Síniú:
ExecuteTable(table, variable, type, start, end, properties, namespace) - sonraí tábla a chur ar aghaidh chuig Python.
Argóintí:
table- ainm tábla.
Ritear gach argóint eile mar atá.ExecuteClass.
Nótaí
ExecuteGlobal,ExecuteClassиExecuteTableoibriú go cothrom tapaidh.ExecuteGlobal20 uair níos tapúla náExecuteQueryar thacair shonraí mhóra (am aistrithe >0.01 soicind).ExecuteGlobal,ExecuteClassиExecuteTableobair ar dhomhanda leis an struchtúr seo:^global(key) = $lb(prop1, prop2, ..., propN)i gcáskeyis slánuimhir.- Chun
ExecuteGlobal,ExecuteClassиExecuteTableraon luach tacaithe%Datefhreagraíonn don raonmktimeagus braitheann sé ar an OS: 1970- 01-01, 1900-01-01, ). Úsáid%TimeStampchun sonraí a chur ar aghaidh lasmuigh den raon seo nó úsáid fráma sonraí pandas mar níl an teorannú seo ach don liosta. - Chun
ExecuteGlobal,ExecuteClassиExecuteTabletá gach argóint seachas foinse sonraí (domhanda, aicme nó tábla) agus athróg roghnach.
Примеры
rang tástála tá modh ann a thaispeánann na roghanna aistrithe sonraí go léir:
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)modh glaoch do ##class(isc.py.test.Person).Test() féachaint conas a oibríonn gach modh aistrithe sonraí.
Modhanna Cúntóra
GetVariableInfo(variable, serialization, .defined, .type, .length)- faisnéis a fháil faoin athróg: cibé an sainítear é, fad an aicme agus an tsrathaithe.GetVariableDefined(variable, .defined)- an sainítear an athróg.GetVariableType(variable, .type)- faigh aicme na hathróige.GetStatus()- faigh agus bain an eisceacht dheireanach ar thaobh Python.GetModuleInfo(module, .imported, .alias)— faigh stádas athraitheach modúl agus allmhairiú.GetFunctionInfo(function, .defined, .type, .docs, .signature, .arguments)- eolas a fháil faoin bhfeidhm.
Idir-inoibritheacht
D'fhoghlaim tú conas Python Gateway a ghlaoch ón teirminéal, anois déanaimis é a úsáid i dtáirgeadh. Is é an bunús le haghaidh idirghníomhú le Python sa mhodh seo isc.py.ens.Operation. Ligeann sé dúinn:
- Rith Cód Python
- Sábháil/Athchóirigh comhthéacs Python
- Luchtaigh agus faigh sonraí ó Python
Go bunúsach, is cumhdach é oibríocht Pyhton isc.py.Main. Oibríocht isc.py.ens.Operation ceadaíonn sé idirghníomhú leis an bpróiseas Python ó tháirgí InterSystems IRIS. Tacaítear le cúig iarratas:
isc.py.msg.ExecutionRequestchun cód Python a fhorghníomhú. filleannisc.py.msg.ExecutionResponseleis an toradh forghníomhaithe agus luachanna na n-athróg iarrtha.isc.py.msg.StreamExecutionRequestchun cód Python a fhorghníomhú. filleannisc.py.msg.StreamExecutionResponsetoradh an fhorghníomhaithe agus luachanna na n-athróg iarrtha. Analógachisc.py.msg.ExecutionRequest, ach glacann sé agus cuireann sé sruthanna ar ais in ionad teaghráin.isc.py.msg.QueryRequestchun toradh iarratais SQL a chur i gcrích a aistriú. filleannEns.Response.isc.py.msg.GlobalRequest/isc.py.msg.ClassRequest/isc.py.msg.TableRequestsonraí domhanda/ranga/tábla a chur ar aghaidh. filleannEns.Response.isc.py.msg.SaveRequestchun comhthéacs Python a shábháil. filleannEns.StringResponsele haitheantas comhthéacs.isc.py.msg.RestoreRequesta chur ar ais ar an gcomhthéacs Python.Ina theannta sin,
isc.py.ens.Operationtá dhá shocrú:Initializer- rang a roghnú a chuireann an comhéadan i bhfeidhmisc.py.init.Abstract. Is féidir é a úsáid chun feidhmeanna, modúil, ranganna agus a leithéidí a luchtú. Déantar é a fhorghníomhú uair amháin nuair a thosaíonn an próiseas.PythonLib— (do amháin Linux) má fheiceann tú earráidí agus tú ag luchtú, socraigh a luach golibpython3.6m.sonó fiú sa chosán iomlán chuig leabharlann Python.
Próisis ghnó a chruthú
Tá dhá rang ar fáil a éascaíonn forbairt próisis ghnó:
isc.py.ens.ProcessUtilsligeann sé duit nótaí a bhaint as gníomhaíochtaí le hionadú inathraithe.isc.py.util.BPEmulatordéanann sé éasca próisis ghnó a thástáil le Python. Is féidir leis próiseas gnó (páirteanna Python) a fhorghníomhú sa phróiseas reatha.
Ionadú inathraithe
Gach próiseas gnó a fuarthas le hoidhreacht ó isc.py.ens.ProcessUtils, is féidir leis an modh a úsáid GetAnnotation(name) chun luach nóta gníomhaíochta a fháil faoina ainm. Féadfaidh athróga a bheith san nóta gníomhaíochta a dhéanfar a mheas ar thaobh InterSystems IRIS sula gcuirfear ar aghaidh chuig Python iad. Seo é an chomhréir don ionadú inathraithe:
${class:method:arg1:...:argN}- modh glaoch#{expr}- cód a fhorghníomhú sa teanga ObjectScript.
Tá sampla ar fáil sa phróiseas gnó tástála isc.py.test.Process, mar shampla, i ngníomhaíocht Correlation Matrix: Graph: f.savefig(r'#{process.WorkDirectory}SHOWCASE${%PopulateUtils:Integer:1:100}.png'). Sa sampla seo:
#{process.WorkDirectory}cuireann sé maoin WorkDirectory an réada ar aisprocess, atá ina shampla den rangisc.py.test.Processsiúd. próiseas gnó reatha.${%PopulateUtils:Integer:1:100}glaonna modhIntegerrang%PopulateUtils, argóintí a rith1и100, ag filleadh slánuimhir randamach sa raon1...100.
Próiseas gnó a thástáil
Tá an próiseas táirgthe tástála agus gnó tástála ar fáil de réir réamhshocraithe mar chuid de Thairseach Python. Chun iad a úsáid:
- I rith teirminéil OS:
pip install pandas matplotlib seaborn. - I gcríochfort InterSystems IRIS, rith:
do ##class(isc.py.test.CannibalizationData).Import()chun sonraí tástála a líonadh. - Seoladh táirgí
isc.py.test.Production. - Seol cineál iarratais
Ens.Requestвisc.py.test.Process.
A ligean ar a fheiceáil conas a oibríonn sé go léir le chéile. Oscail isc.py.test.Process san eagarthóir BPL:

Cód a fhorghníomhú
Is é an glao is tábhachtaí ná cód Python a fhorghníomhú:

Iarratas a úsáideadh isc.py.msg.ExecutionRequest, seo a n-airíonna:
Code- Cód Python.SeparateLines- cibé acu ar cheart an cód a roinnt ina línte lena fhorghníomhú.$c(10)(n) a úsáidtear chun teaghráin a scaradh. Tabhair faoi deara NACH moltar an teachtaireacht iomlán a phróiseáil ag an am céanna, níl an fheidhm seo ach le próiseáildefagus nathanna illíne comhchosúla. Réamhshocrú0.Variablesis liosta athróg idir chamóg é a chuirfear leis an bhfreagra.Serialization- Conas a serialize na hathróga ba mhaith linn a thabhairt ar ais. Roghanna:Str,Repr,JSON,PickleиDill, réamhshocraitheStr.
In ár gcás, ní dhéanaimid ach an mhaoin a shocrú Code, ionas go n-úsáideann gach maoin eile a luachanna réamhshocraithe. Chuireamar ar bun é trí ghlaoch process.GetAnnotation("Import pandas"), a sheolann nóta ar ais ag am rite tar éis ionadú inathraithe a dhéanamh. Ar deireadh an cód import pandas as pd a chur ar aghaidh chuig Python. GetAnnotation a bheith úsáideach chun scripteanna Python il-líne a fháil, ach níl aon srianta ar an mbealach seo chun cód a fháil. Is féidir leat an mhaoin a shocrú Code ar aon bhealach áisiúil duit.
Athróga a Fháil
Dúshlán suimiúil eile ag baint úsáide as isc.py.msg.ExecutionRequest - Correlation Matrix: Tabular:

Ríomhann sé an Maitrís Comhghaoil ar thaobh Python agus sleachta as an athróg corrmat ar ais go InterSystems IRIS i bhformáid JSON trí airíonna an iarratais a shocrú:
Variables:"corrmat"Serialization:"JSON"
Is féidir linn na torthaí a fheiceáil in Visual Trace:

Agus má tá an luach seo ag teastáil uainn sa BP, is féidir é a fháil mar seo: callresponse.Variables.GetAt("corrmat").
Aistriú sonraí
Ansin, déanaimis labhairt faoi shonraí a aistriú ó InterSystems IRIS go Python, cuireann gach iarratas aistrithe sonraí an comhéadan i bhfeidhm isc.py.msg.DataRequest, a sholáthraíonn na hairíonna seo a leanas:
Variableis athróg Python é a bhfuil na sonraí scríofa chuige.Type- cineál athróg:dataframe(fráma sonraí pandas) nólist.Namespace- an limistéar óna bhfaighimid sonraí. Mála plaisteachisc.pyar fáil sa réimse seo. D'fhéadfadh sé seo a bheith ina réimse gan tacaíocht táirge.
Bunaithe ar an gcomhéadan seo, cuirtear 4 aicme iarratas i bhfeidhm:
isc.py.msg.QueryRequest- maoin socraitheQuerychun ceist SQL a sheoladh.isc.py.msg.ClassRequest- maoin socraitheClasschun sonraí ranga a rith.isc.py.msg.TableRequest- maoin socraitheTablechun sonraí tábla a chur ar aghaidh.isc.py.msg.GlobalRequest- maoin socraitheGlobalchun sonraí a aistriú go domhanda.
Sa phróiseas tástála, féach ar an ngníomhaíocht RAWI gcás ina isc.py.msg.QueryRequest léirithe i ngníomh.

Comhthéacs Python a shábháil/Athchóiriú
Ar deireadh, is féidir linn comhthéacs Python a stóráil in InterSystems IRIS, chun é seo a dhéanamh, seol isc.py.msg.SaveRequest le hargóintí:
Mask— Ní shábháiltear ach athróga a shásaíonn an masc. Tacaithe*и?. Sampla:"Data*, Figure?"... Réamhshocrú*.MaxLength— uasfhad na hathróige stóráilte. Má tá sraithiú athróg níos faide, déanfar neamhaird de. Socraigh ar 0 chun athróga d'aon fhad a fháil. Réamhshocrú$$$MaxStringLength.Name— Ainm an chomhthéacs (roghnach).Description— Cur síos ar an gcomhthéacs (roghnach).
Tuairisceáin Ens.StringResponse с Id comhthéacs shábháil. Sa phróiseas tástála, féach ar an ngníomhaíocht Save Context.
Iarratas gaolmhar isc.py.msg.RestoreRequest lódálann sé comhthéacs ó InterSystems IRIS go Python:
ContextIdis é an t-aitheantóir comhthéacs.Clear— an comhthéacs a shoiléiriú roimh athchóiriú.
Leabhar Nótaí Iúpatar
Is feidhmchlár gréasáin foinse oscailte é a ligeann duit leabhair nótaí a chruthú agus a fhoilsiú ina bhfuil cód, léirshamhlú agus téacs. Ligeann Python Gateway duit próisis BPL a fheiceáil agus a chur in eagar mar Leabhar Nótaí Jupyter. Tabhair faoi deara go bhfuil an seiceadóir Python 3 rialta á úsáid faoi láthair.
Glacann an breiseán seo leis go bhfuil cód Python sna nótaí agus go n-úsáideann siad ainmneacha gníomhaíochta mar theidil roimhe seo. Is féidir anois próisis ghnó PythonGateway a fhorbairt i Jupyter Notebook. Seo an méid is féidir:
- Próisis ghnó nua a chruthú
- Scrios próisis ghnó
- Cruthaigh gníomhaíochtaí nua
- Gníomhaíochtaí a athrú
- Scrios gníomhaíochtaí
Anseo . Agus roinnt screenshots:
Explorer Próiseas

Eagarthóir próisis

Suiteáil
- Beidh InterSystems IRIS 2019.2+ uait.
- Suiteáil PythonGateway v0.8+ (riachtanach amháin
isc.py.util.Jupyter,isc.py.util.JupyterCheckpointsиisc.py.ens.ProcessUtils). - Nuashonraigh an cód ObjectScript ón stór.
- Forghníomhú
do ##class(isc.py.util.Jupyter).Install()agus lean na leideanna.
.
Torthaí
Is sraith uirlisí é MLToolkit a bhfuil sé mar aidhm aige samhlacha agus timpeallacht idirbheartaíochta a chur le chéile ionas gur féidir na samhlacha tógtha a úsáid go díreach go díreach i do phróisis ghnó. Is cuid de MLToolkit é Python Gateway agus cuireann sé comhtháthú leis an dteanga Python ar fáil, rud a ligeann duit aon halgartaim meaisínfhoghlama a chruthaítear i Python (an príomhthimpeallacht do go leor Eolaithe Sonraí), úsáid a bhaint as leabharlanna iomadúla réamhdhéanta chun AI / anailíseach oiriúnaitheach, robotic a chruthú go tapa. Réitigh ML ar an ardán InterSystems IRIS.
tagairtí
MLUirlisí
Is stór príobháideach GitHub é grúpa úsáideoirí MLToolkit a cruthaíodh mar chuid d’eagraíocht chorparáideach GitHub InterSystems. Tá sé dírithe ar úsáideoirí seachtracha atá ag suiteáil, ag foghlaim, nó ag baint úsáide as comhpháirteanna MLToolkit cheana féin, lena n-áirítear Python Gateway. Tá roinnt cásanna curtha i bhfeidhm ag an ngrúpa (le cód foinse agus sonraí tástála) i réimsí na margaíochta, na déantúsaíochta, na míochaine agus go leor tionscail eile. Chun páirt a ghlacadh sa ghrúpa úsáideoirí ML Toolkit, seol ríomhphost gearr chuig an seoladh seo a leanas: agus cuir an t-eolas seo a leanas i do litir:
- Ainm úsáideora GitHub
- Eagraíocht (tá tú ag obair nó ag staidéar)
- Post (do sheasamh iarbhír i d'eagraíocht, bíodh sé "Mac Léinn" nó "Neamhspleách").
- Tír
Dóibh siúd a bhfuil an t-alt léite acu agus a bhfuil suim acu in InterSystems IRIS mar ardán chun hintleachta saorga agus meicníochtaí meaisínfhoghlama a fhorbairt nó a óstáil, tugaimid cuireadh duit cásanna féideartha spéise do d’fhiontar a phlé. Déanfaimid anailís go héasca ar riachtanais d'fhiontair agus déanfaimid plean gníomhaíochta a chinneadh i gcomhpháirt; seoladh ríomhphoist teagmhála ár sainghrúpa AI/ML - .
Foinse: will.com
