Ichi chinyorwa chiri pamusoro pePython Gateway, yakavhurika sosi nharaunda chirongwa cheInterSystems IRIS data platform. Ichi chirongwa chinokutendera kuti uronge chero muchina wekudzidza algorithms akagadzirwa muPython (iyo huru nharaunda yeakawanda maData Sainzi), shandisa akawanda akagadzirira-akagadzirwa maraibhurari kukurumidza kugadzira anogadzirisa, marobhoti analytical AI / ML mhinduro paInterSystems IRIS papuratifomu. Muchikamu chino, ini ndicharatidza nzira iyo InterSystems IRIS inogona kuronga maitiro muPython, kunyatso taura nzira mbiri-data, uye kugadzira hungwaru mabhizinesi maitiro.
Ronga
- Nhanganyaya.
- Zvishandiso.
- Kuisirwa
- API.
- Kudyidzana.
- Jupyter Notebook.
- Mhedziso.
- Links.
- MLToolkit.
Nhanganyaya
Python imhando yepamusoro-yepamusoro, general-chinangwa programming mutauro wakanangana nekuvandudza kugadzirwa kwemugadziri uye kuverenga kwekodhi. Mune ino nhevedzano yezvinyorwa, ini ndichakurukura nezvemikana yekushandisa Python paInterSystems IRIS papuratifomu, nechinangwa chikuru chechinyorwa ichi chiri kushandiswa kwePython semutauro wekugadzira nekumhanyisa mamodeli ekudzidza muchina.
Kudzidza kwemuchina (ML) ikirasi yemaitiro ehungwaru nzira, iyo hunhu husiri iyo yakananga mhinduro yedambudziko, asi kudzidza mukugadzirisa matambudziko mazhinji akafanana.
Machine kudzidza algorithms uye modhi ari kuwedzera kuwanda. Pane zvikonzero zvakawanda zveizvi, asi zvese zvinouya pasi pakuwanikwa, kuve nyore uye kuwana mhedzisiro inoshanda. Kubatanidza kana kunyange neural network yekuenzanisira tekinoroji nyowani?
Zvechokwadi kwete, asi mazuva ano hapana chikonzero chekunyora mazana ezviuru zvemitsara yekodhi kuti uite imwe muenzaniso, uye mari yekugadzira nekushandisa mienzaniso iri kuramba ichiderera.
Zvishandiso zviri kubuda - nepo isu tisina zvizere GUI-centric AI/ML zvishandiso, kufambira mberi kwatakaona nemamwe makirasi mazhinji ehurongwa hweruzivo, seBI (kubva pakunyora kodhi kusvika pakushandisa masisitimu uye GUI-centric inogadziriswa mhinduro) zvakare inocherechedzwa mumaturusi ekugadzira AI/ML. Isu takatopfuura nhanho yekunyora kodhi uye nhasi isu tinoshandisa masisitimu kuvaka uye kudzidzisa mamodheru.
Zvimwe zvigadziriso, senge kugona kugovera modhi yakadzidziswa apo mushandisi wekupedzisira anongo pedza kudzidzisa modhi pane yavo chaiyo data, zvakare zvinoita kuti zvive nyore kutanga nekudzidza muchina. Kufambira mberi uku kunoita kuti kudzidza muchina wekudzidza kuve nyore kune vese nyanzvi uye makambani mazhinji.
Kune rumwe rutivi, tiri kuunganidza data yakawanda uye yakawanda. Iine yakabatana data chikuva seInterSystems IRIS, ruzivo rwese urwu runogona kugadzirwa nekukasira uye kushandiswa sekuisa kumamodhi ekudzidza muchina.
Nekufamba kune gore, kutanga mapurojekiti eAI/ML kuri kuita nyore kupfuura nakare kose. Tinogona chete kushandisa zviwanikwa zvatinoda. Uyezve, nekuda kwekufananidza kunopihwa nemapuratifomu emakore, tinogona kuchengetedza nguva yakashandiswa.
Asi zvakadini nemiuyo? Apa ndipo panobva panyanya kuoma zvinhu. Kune akawanda maturusi ekuvaka mamodheru, ayo andichakurukura anotevera. Kuvaka muenzaniso wakanaka hakusi nyore, asi chii chinotevera? Kuita purofiti kubva pakushandisa bhizinesi modhi zvakare ibasa risiri diki. Mudzi wedambudziko ndiko kupatsanurwa kwekuongorora uye kutengeserana mabasa, uye data data. Apo patinodzidzisa muenzaniso, tinowanzozviita pane zvakaitika kare. Asi iyo nzvimbo yeiyo yakagadzirwa modhi iri mukufambiswa kwedata data. Chii chinobatsirei chemhando yepamusoro yehutsotsi yekuona kutengeserana kana tikaimhanyisa kamwe pazuva? Matsotsi ava vatoenda nemari. Isu tinofanirwa kudzidzisa iyo modhi pane yenhoroondo data, asi isu tinoda zvakare kuishandisa munguva chaiyo pane nyowani data inouya kuitira kuti mabhizinesi edu maitiro aite pane zvakafanotaurwa nemuenzaniso.
Iyo ML Toolkit seti yezvishandiso inovavarira kuita izvo chaizvo: kubatanidza mamodheru uye nharaunda yekutengeserana kuitira kuti mamodheru akavakirwa anogona kushandiswa zviri nyore zvakananga mubhizinesi rako maitiro. Python Gateway chikamu cheML Toolkit uye inopa kubatanidzwa nemutauro wePython (zvakafanana nekuti R Gateway, kuve chikamu cheML Toolkit inopa kubatanidzwa nemutauro weR).
Zvishandiso
Tisati taenderera mberi, ndinoda kutsanangura mashoma maturusi ePython nemaraibhurari atichazoshandisa gare gare.
zvigadzirwa
- Python mutauro wakadudzirwa, wepamusoro-soro, wakazara-chinangwa. Mukana mukuru wemutauro iraibhurari yayo hombe yemasvomhu, ML uye AI raibhurari. Kufanana neObjectScript, mutauro wakatarisana nechinhu, asi zvese zvinotsanangurwa zvine simba kwete zvakamira. Uyewo zvinhu zvose chinhu. Zvinyorwa zvepashure zvinotora ruzivo rwakapfuura nemutauro. Kana iwe uchida kutanga kudzidza, ndinokurudzira kutanga
zvinyorwa . - Kune edu anotevera maekisesaizi, set
Python 3.6.7 64 bit . - IDE: Ndinoshandisa
PyCharm , asi kazhinji ivoΠΌΠ½ΠΎΠ³ΠΎ . Kana iwe ukashandisa Atelier, kune Eclipse plugin yePython vanogadzira. Kana iwe uri kushandisa VS Code, kune yekuwedzera yePython. - Notebook: Panzvimbo peIDE, unogona kunyora uye kugovera zvinyorwa zvako mumabhuku ekunyorera online. Iyo inonyanya kufarirwa kwavari ndeye
jupyter .
Maraibhurari
Heino (isina-inoperera) runyorwa rwemaraibhurari ekudzidzira muchina:
numpy - pasuru yakakosha yekuverenga chaiko.pandas - yakakwirira-yekuita data zvimiro uye maturusi ekuongorora data.matplotlib - kugadzira magirafu.seaborn -Kuona data kwakavakirwa pamatplotlib.Sklearn - nzira dzekudzidza muchina.XGBoost -muchina wekudzidza algorithms mukati meiyo gradient yekusimudzira nzira.Gensim -NLP.Keras - neural network.tensor flow - ipuratifomu yekugadzira modhi yekudzidza muchina.PyTorch ipuratifomu yekugadzira michina yekudzidza modhi, yakatarisana nePython.Nyoka -PMML kubva kumhando dzakasiyana.
AI/ML matekinoroji anoita kuti bhizinesi riwedzere kushanda uye rinochinjika. Uyezve, nhasi matekinoroji aya ari kuita nyore kugadzira nekushandisa. Tanga kudzidza nezve AI/ML tekinoroji uye kuti vangabatsira sei sangano rako kukura.
Kuiswa
Pane nzira dzinoverengeka dzekuisa uye kushandisa Python Gateway:
- OS
- Windows
- Linux
- Mac
- Docker
- Shandisa mufananidzo kubva kuDockerHub
- Gadzira chitarisiko chako wega
Pasinei neiyo yekuisa nzira, iwe unozoda iyo source code. Nzvimbo chete yekudhawunirodha kodhi ndeye
OS
Kana iwe uri kuisa Python Gateway pane inoshanda sisitimu, saka kutanga (zvisinei neiyo inoshanda sisitimu) iwe unofanirwa kuisa Python. Nokuda kweizvi:
Isa Python 3.6.7 64 bit . Inokurudzirwa kuisa Python mune iyo default dhairekitori.- Isa iyo module
dill
:pip install dill
. - Dhawunirodha iyo ObjectScript kodhi (kureva.
do $system.OBJ.ImportDir("C:InterSystemsReposPythoniscpy", "*.cls", "c",,1)
) kune chero nzvimbo ine zvigadzirwa. Kana iwe uchida nzvimbo iripo yekutsigira zvigadzirwa, mhanya:write ##class(%EnsembleMgr).EnableNamespace($Namespace, 1)
. - Nzvimbo
callout DLL/SO/DYLIB kufolderbin
yako InterSystems IRIS muenzaniso. Iyo raibhurari faira inofanirwa kuwanikwa munzira yakadzoswawrite ##class(isc.py.Callout).GetLib()
.
Windows
- Ita shuwa kuti nharaunda inoshanduka
PYTHONHOME
inonongedzera kuPython 3.6.7. - Ita shuwa kuti system nharaunda inoshanduka iri
PATH
ine chinjaPYTHONHOME
(kana dhairekitori rainongedza kwariri).
Linux (Debian/Ubuntu)
- Tarisa kuti shanduko yemamiriro ekunze iri
PATH
rine/usr/lib
ΠΈ/usr/lib/x86_64-linux-gnu
. Shandisa faira/etc/environment
kuseta magariro akasiyana. - Kana pane kukanganisa
undefined symbol: _Py_TrueStruct
gadza marongeroPythonLib
. zvakare muReadme pane Troubleshooting chikamu.
Mac
- Parizvino chete Python 3.6.7 inotsigirwa
python.org . Tarisa shandukoPATH
.
Kana iwe wakachinja nharaunda dzakasiyana, tangazve yako InterSystems chigadzirwa.
Docker
Kushandisa midziyo kune zvakawanda zvakanakira:
- Kubatika
- Kubudirira
- Kuisa
- Lightness
- Kusachinja
Tarisa izvi
Yese Python Gateway inovaka parizvino midziyo yakavakirwa 2019.4
.
Yakagadzirira mufananidzo
Mhanya: docker run -d -p 52773:52773 --name irispy intersystemscommunity/irispy-community:latest
kurodha uye kumhanya Python Gedhi neInterSystems IRIS Community Edition. Ndizvo zvose.
Gadzira chitarisiko chako wega
Kuvaka mufananidzo wedocker, mhanya mumudzi we repository: docker build --force-rm --tag intersystemscommunity/irispy:latest .
.
Nekusagadzikana, mufananidzo unovakwa zvichienderana nemufananidzo store/intersystems/iris-community:2019.4.0.383.0
, zvisinei iwe unogona kuchinja izvi nekuisa shanduko IMAGE
.
Kuvaka kubva kuInterSystems IRIS, mhanya: `docker kuvaka --build-arg IMAGE=store/intersystems/iris:2019.4.0.383.0 --force-rm --tag intersystemscommunity/irispy:zvazvino ".
Mushure meizvi unogona kumhanya iyo docker mufananidzo:
docker run -d
-p 52773:52773
-v /<HOST-DIR-WITH-iris.key>/:/mount
--name irispy
intersystemscommunity/irispy:latest
--key /mount/iris.key
Kana iwe uri kushandisa mufananidzo wakavakirwa paInterSystems IRIS Community Edition, unogona kusiya kiyi.
Comments
- Test process
isc.py.test.Process
inochengetedza nhamba yemifananidzo kudhairekitori renguva pfupi. Ungangoda kushandura nzira iyi kuenda kune yakakwiridzwa dhairekitori. Kuti uite izvi, gadzirisa marongeroWorkingDir
kutsanangura dhairekitori rakaiswa. - Kuti uwane iyo terminal run:
docker exec -it irispy sh
. - Kupinda kuSystem Management Portal nekupinda
SuperUser
/SYS
. - Kumisa mudziyo, mhanya:
docker stop irispy && docker rm --force irispy
.
Kuongorora kuiswa
Kana uchinge waisa Python Gateway, zvakakodzera kutarisa kuti iri kushanda. Ita kodhi iyi muInterSystems IRIS terminal:
set sc = ##class(isc.py.Callout).Setup()
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).
write var
Mhedzisiro inofanira kuva: HELLO
-Python kusiyanisa kukosha x
. Kana kudzoka mamiriro sc
iko kukanganisa kana var
isina chinhu, cheki
API
Python Gateway yakaiswa uye waona kuti inoshanda. Yasvika nguva yekutanga kuishandisa!
Iyo huru interface kuPython ndeye isc.py.Main
. Inopa mapoka anotevera enzira (dzose dzinodzoka %Status
):
- Kuitwa kweCode
- Kuendeswa kwedata
- Auxiliary
Kuitwa kweCode
Idzi nzira dzinokutendera iwe kuita zvekupokana Python kodhi.
SimpleString
SimpleString
- iyi ndiyo nzira huru. Zvinotora 4 nharo dzesarudzo:
code
- mutsara wekodhi yekuita. Line feed character:$c(10)
.returnVariable
- zita reshanduko yekudzoka.serialization
- sei kuita serializereturnVariable
. 0 - tambo (default), 1 - repr.result
-ByRef inoreva kusiyanisa kwakanyorerwa kukoshareturnVariable
.
Pamusoro takaita:
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).
Mumuenzaniso uyu, tinopa kuPython kusiyanisa x
kukosha Hello
uye kuda kudzosa kukosha kwePython kusiyanisa x
kune ObjectScript musiyano var
.
ExecuteCode
ExecuteCode inzira yakachengeteka uye isingadzoreki SimpleString
.
Mitsetse muInterSystems IRIS papuratifomu inogumira kune 3 mavara, uye kana iwe uchida kuita chidimbu chakareba chekodhi, unofanirwa kushandisa tambo.
Mapoka maviri anogamuchirwa:
code
- mutsara kana rwizi rwePython kodhi kuti iitwe.variable
- (sarudzo) inopa mhedzisiro yekuurayiwacode
iyi Python yakasiyana.
Muenzaniso wekushandisa:
set sc = ##class(isc.py.Main).ExecuteCode("2*3", "y").
Mumuenzaniso uyu, tinowanza 2 ne3 uye tonyora mhedzisiro kune Python inoshanduka y
.
Kuendeswa kwedata
Pfuura data kuenda uye kubva kuPython.
Python -> InterSystems IRIS
Pane nzira ina dzekuwana kukosha kwePython kusiyanisa muInterSystems IRIS, zvichienderana neserialization yaunoda:
String
kune akareruka data mhando uye debugging.Repr
yekuchengetedza zvinhu zviri nyore uye kugadzirisa.JSON
kuitira nyore data manipulation paInterSystems IRIS side.Pickle
kuchengetedza zvinhu.
Idzi nzira dzinokutendera kuti utore zvinosiyana kubva kuPython setambo kana hova.
GetVariable(variable, serialization, .stream, useString)
- kuwanaserialization
kusiyanisavariable
Π²stream
. kanauseString
iri 1 uye kuteedzera kunoiswa patambo, ipapo tambo inodzoserwa kwete rukova.GetVariableJson(variable, .stream, useString)
- tora JSON serialization yezvakasiyana.GetVariablePickle(variable, .stream, useString, useDill)
-tora Pickle (kana Dill) serialization yezvakasiyana.
Ngatiedzei kuwana shanduko yedu y
.
set sc = ##class(isc.py.Main).GetVariable("y", , .val, 1)
write val
>6
InterSystems IRIS -> Python
Kurodha data kubva kuInterSystems IRIS muPython.
ExecuteQuery(query, variable, type, namespace)
- inogadzira dataset (pandasdataframe
kanalist
) kubva kumubvunzo wesql uye woiisa kune Python inoshandukavariable
. Plastic bagisc.py
inofanira kuwanikwa munzvimbonamespace
- chikumbiro chichaitwa ipapo.ExecuteGlobal(global, variable, type, start, end, mask, labels, namespace)
- inotakura data yepasireseglobal
kubva ku subscriptstart
up toend
muPython semhando yakasiyanatype
:list
, kana pandadataframe
. Tsananguro yenharo dzesarudzomask
uyelabels
inowanikwa mukirasi zvinyorwa uye repositoryData Transfer zvinyorwa .ExecuteClass(class, variable, type, start, end, properties, namespace)
- inotakura data yekirasiclass
kubva idstart
up toend
muPython semhando yakasiyanatype
:list
, kana pandadataframe
.properties
- rondedzero (yakaparadzaniswa necomma) yekirasi zvivakwa zvinoda kutakurwa mu data set. Masiki anotsigirwa*
ΠΈ?
. Default -*
(zvese zvivakwa). Property%%CLASSNAME
kufuratirwa.ExecuteTable(table, variable, type, start, end, properties, namespace)
- inoremedza tafura datatable
kubva idstart
up toend
muPython.
ExecuteQuery
- yepasirese (chero mubvunzo wakarurama weSQL uchapfuudzwa kuPython). Zvisinei, ExecuteGlobal
nemaputi ayo ExecuteClass
ΠΈ ExecuteTable
shanda nehuwandu hwezvirambidzo. Vanokurumidza kukurumidza (3-5 nguva nekukurumidza kupfuura mutyairi weODBC uye 20 nguva nekukurumidza ExecuteQuery
) Mamwe mashoko pa
Idzi nzira dzese dzinotsigira kuendesa data kubva kune chero nzvimbo. Plastic bag isc.py
inofanira kuwanikwa munzvimbo inotarirwa.
ExecuteQuery
ExecuteQuery(request, variable, type, namespace)
-Kuendesa mhedzisiro yechero chaiyo SQL mubvunzo kuPython. Iyi ndiyo nzira inononoka yekufambisa data. Shandisa kana ExecuteGlobal
uye zviputi zvayo hazviwanikwe.
Nharo:
query
- sql mubvunzo.variable
-Zita rePython inoshanduka mune iyo data yakanyorwa.type
-list
kana Pandasdataframe
.namespace
- nzvimbo iyo chikumbiro chichaitwa.
ExecuteGlobal
ExecuteGlobal(global, variable, type, start, end, mask, labelels, namespace)
- kupfuura pasi rose muPython.
Nharo:
global
- zita renyika pasina^
variable
-Zita rePython inoshanduka mune iyo data yakanyorwa.type
-list
kana Pandasdataframe
.start
- chinyorwa chekutanga chepasi rose. Zvakakodzera%Integer
.end
- chinyorwa chekupedzisira chepasi rose. Zvakakodzera%Integer
.mask
- yepasi rose kukosha mask. Iyo maski inogona kupfupika pane iyo nhamba yeminda mupasi rose (mumamiriro ezvinhu aya minda iri kumagumo ichasvetuka). Maitiro ekugadzira mask:+
pfuura kukosha sezvazviri.-
skip value.b
- Boolean mhando (0
-False
, zvimwe zvese -True
).d
- Date (kubva ku $horolog, paWindows kubva 1970, paLinux kubva 1900).t
- Nguva ($ horolog, masekondi mushure mepakati pehusiku).m
-Timetamp (fomati tambo YEAR-MWEDZI-ZUVA HOUR:MINUTE:SECOND).
labels
β %Mazita emakoramu. Chinhu chekutanga izita rekunyorera.namespace
- nzvimbo iyo chikumbiro chichaitwa.
ExecuteClass
Pedzisa pamusoro ExecuteGlobal
. Kubva pane tsanangudzo yekirasi, inogadzirira kufona ExecuteGlobal
uye anomudana.
ExecuteClass(class, variable, type, start, end, properties, namespace)
-kupfuura kirasi data muPython.
Nharo:
class
- zita rekirasivariable
-Zita rePython inoshanduka mune iyo data yakanyorwa.type
-list
kana Pandasdataframe
.start
- kutanga ID.end
- yekupedzisira Idproperties
- rondedzero (yakaparadzaniswa necomma) yekirasi zvivakwa zvinoda kutakurwa mu data set. Masiki anotsigirwa*
ΠΈ?
. Default -*
(zvese zvivakwa). Property%%CLASSNAME
kufuratirwa.namespace
- nzvimbo iyo chikumbiro chichaitwa.
Zvese zvivakwa zvinopfuudzwa sezvazviri kunze kwemhando zvivakwa %Date
, %Time
, %Boolean
ΠΈ %TimeStamp
- vanoshandurwa kuita makirasi ePython anoenderana.
ExecuteTable
Pedzisa pamusoro ExecuteClass
. Inoshandura zita retafura mukirasi zita uye mafoni ExecuteClass
. Siginicha:
ExecuteTable(table, variable, type, start, end, properties, namespace)
- kupfuudza tafura data kuPython.
Nharo:
table
- zita retafura.
Dzimwe nharo dzese dzinopfuudzwa sezvazviriExecuteClass
.
Zvinyorwa
ExecuteGlobal
,ExecuteClass
ΠΈExecuteTable
shandai nekukurumidza zvakaenzana.ExecuteGlobal
20 nguva nekukurumidza kupfuuraExecuteQuery
pamaseti makuru edata (nguva yekufambisa> masekondi 0.01).ExecuteGlobal
,ExecuteClass
ΠΈExecuteTable
shanda pane zvepasirese neichi chimiro:^global(key) = $lb(prop1, prop2, ..., propN)
apokey
- nhamba yakakwana.- nokuti
ExecuteGlobal
,ExecuteClass
ΠΈExecuteTable
inotsigirwa huwandu hwezvikoshi%Date
zvinoenderana nemhandomktime
uye zvinoenderana ne OS (mahwindo : 1970-01-01,Linux 1900-01-01,mac pumpkin ) Shandisa%TimeStamp
kuendesa data kunze kweiyo renji kana kushandisa pandas dataframe nekuti iyi rondedzero-chete ganhuriro. - nokuti
ExecuteGlobal
,ExecuteClass
ΠΈExecuteTable
nharo dzese kunze kwenzvimbo yedata (yepasi rose, kirasi kana tafura) uye shanduko ndeyekusarudza.
mienzaniso
Test class
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)
Dana nzira do ##class(isc.py.test.Person).Test()
kuona kuti nzira dzese dzekufambisa data dzinoshanda sei.
Mubatsiri Nzira
GetVariableInfo(variable, serialization, .defined, .type, .length)
-wana ruzivo nezve shanduko: ingave inotsanangurwa, kirasi yayo uye kureba kweserialization.GetVariableDefined(variable, .defined)
- kana shanduko ichitsanangurwa.GetVariableType(variable, .type)
-wana kirasi yezvakasiyana.GetStatus()
- tora uye bvisa yekupedzisira kusarudzika padivi rePython.GetModuleInfo(module, .imported, .alias)
- tora module inosiyana uye mamiriro ekunze.GetFunctionInfo(function, .defined, .type, .docs, .signature, .arguments)
-wana ruzivo nezve basa racho.
Kudyidzana
Iwe wakadzidza kufonera Python Gateway kubva kune terminal, ikozvino ngatitange kuishandisa mukugadzira. Hwaro hwekudyidzana nePython mune iyi modhi ndeye isc.py.ens.Operation
. Inotibvumira:
- Tora kodhi muPython
- Sevha / dzosa Python mamiriro
- Rodha uye gamuchira data kubva kuPython
Chaizvoizvo, kushanda kwePython ndeye kuputira pamusoro isc.py.Main
. Operation isc.py.ens.Operation
inopa kugona kupindirana nePython maitiro kubva kuInterSystems IRIS zvigadzirwa. Mibvunzo mishanu inotsigirwa:
isc.py.msg.ExecutionRequest
kuita Python kodhi. Returnsisc.py.msg.ExecutionResponse
nemhedzisiro yekuuraya uye kukosha kweakakumbirwa akasiyana.isc.py.msg.StreamExecutionRequest
kuita Python kodhi. Returnsisc.py.msg.StreamExecutionResponse
mhedzisiro yekuuraya uye kukosha kweakakumbirwa akasiyana. Analogueisc.py.msg.ExecutionRequest
, asi anogamuchira uye anodzorera hova panzvimbo petambo.isc.py.msg.QueryRequest
kuendesa mhedzisiro yekuita SQL query. ReturnsEns.Response
.isc.py.msg.GlobalRequest
/isc.py.msg.ClassRequest
/isc.py.msg.TableRequest
yekupfuura data yepasirese/kirasi/tafura. ReturnsEns.Response
.isc.py.msg.SaveRequest
kuchengetedza Python mamiriro. ReturnsEns.StringResponse
ine chinyorwa ID.-
isc.py.msg.RestoreRequest
kudzorera mamiriro ePython.Mukuwedzera,
isc.py.ens.Operation
ine marongero maviri:Initializer
- kusarudza kirasi inoshandisa iyo interfaceisc.py.init.Abstract
. Inogona kushandiswa kurodha mabasa, modules, makirasi, nezvimwe. Inoitwa kamwe chete kana maitiro atanga.PythonLib
- (Linux chete) kana ukaona zvikanganiso paunenge uchitakura, isa kukosha kwayolibpython3.6m.so
kana kunyange munzira yakazara yekuraibhurari yePython.
Kusikwa kwemaitiro ebhizinesi
Kune makirasi maviri anowanikwa anofambisa kusimudzira kwebhizinesi maitiro:
isc.py.ens.ProcessUtils
inokutendera kuti utore zvirevo kubva muzviitiko zvine shanduko yakasiyana.isc.py.util.BPEmulator
inoita kuti zvive nyore kuyedza maitiro ebhizinesi nePython. Inogona kuita bhizinesi maitiro (Python zvikamu) mune yazvino maitiro.
Variable Substitution
Maitiro ese ebhizinesi akagarwa nhaka kubva isc.py.ens.ProcessUtils
, anogona kushandisa nzira GetAnnotation(name)
kuti uwane kukosha kwechiitiko nemazita ayo. Chiitiko chetsanangudzo chinogona kuve nemhando dzinozoverengerwa parutivi rweInterSystems IRIS isati yapfuudzwa kuPython. Heino syntax yekutsiva inochinja:
${class:method:arg1:...:argN}
- nzira yekufona#{expr}
- ita kodhi mumutauro weObjectScript.
Muenzaniso unowanikwa mukuedza bhizinesi maitiro isc.py.test.Process
, somuenzaniso, mubasa Correlation Matrix: Graph
: f.savefig(r'#{process.WorkDirectory}SHOWCASE${%PopulateUtils:Integer:1:100}.png')
. Mumuenzaniso uyu:
#{process.WorkDirectory}
inodzorera WorkDirectory pfuma yechinhuprocess
, inova muenzaniso wekirasiisc.py.test.Process
avo. ikozvino bhizinesi maitiro.${%PopulateUtils:Integer:1:100}
inodana nziraInteger
kirasi%PopulateUtils
, vachipfuura nharo1
ΠΈ100
, kudzosa nhamba isina kurongeka muchikamu1...100
.
Edzai bhizinesi maitiro
Zvigadzirwa zvekuedza uye maitiro ebhizinesi ekuyedza anowanikwa nekusarudzika sechikamu chePython Gateway. Kuti vashandise:
- Mune OS terminal, mhanya:
pip install pandas matplotlib seaborn
. - MuInterSystems IRIS terminal, mhanya:
do ##class(isc.py.test.CannibalizationData).Import()
kuzadza bvunzo data. - Tanga zvigadzirwa
isc.py.test.Production
. - Tumira rudzi rwekukumbira
Ens.Request
Π²isc.py.test.Process
.
Ngationei kuti zvese zvinoshanda sei pamwe chete. Vhura isc.py.test.Process
muBPL mupepeti:
Kuitwa kweCode
Dambudziko rakakosha kuita Python kodhi:
Mubvunzo wakashandiswa isc.py.msg.ExecutionRequest
, heino maitiro ayo:
Code
- Python kodhi.SeparateLines
- kana kupatsanura kodhi kuita mitsetse yekuitwa.$c(10)
(n
) inoshandiswa kupatsanura tambo. Ndokumbira utarise kuti HAZVISIRI kukurudzirwa kugadzirisa meseji yese kamwechete, basa iri rinongoitirwa kugadzirisadef
uye zvakafanana multiline kutaura. Default0
.Variables
- rondedzero yakapatsanurwa nemakoma yezvinyorwa zvichawedzerwa kune mhinduro.Serialization
-Maitiro ekuita serialize mavheti atinoda kudzoka. Sarudzo:Str
,Repr
,JSON
,Pickle
ΠΈDill
, defaultStr
.
Muchiitiko chedu, isu tinongoisa pfuma chete Code
, saka zvimwe zvese zvinoshandisa zvimiro zvekutanga. Takaisa nekufona process.GetAnnotation("Import pandas")
, iyo panguva yekumhanya inodzosa tsinhiro mushure mekuchinja kwekuchinja kwaitwa. Mushure mezvose, iyo kodhi import pandas as pd
ichapfuudzwa kuPython. GetAnnotation
inogona kubatsira pakuwana akawanda-line Python scripts, asi hapana zvirambidzo pane iyi nzira yekuwana kodhi. Unogona kuseta pfuma Code
nenzira ipi zvayo yakakunakira.
Kuwana Variables
Rimwe dambudziko rinonakidza kushandisa isc.py.msg.ExecutionRequest
- Correlation Matrix: Tabular
:
Iyo inoverengera iyo Correlation Matrix padivi rePython uye inobvisa iyo shanduko corrmat
dzokera kuInterSystems IRIS muJSON fomati nekuisa zvivakwa zvekukumbira:
Variables
:"corrmat"
Serialization
:"JSON"
Isu tinogona kuona mhedzisiro muVisual Trace:
Uye kana tichida kukosha uku muBP, tinogona kuiwana seizvi: callresponse.Variables.GetAt("corrmat")
.
Kuendeswa kwedata
Tevere, ngatitaure nezve kuendesa data kubva kuInterSystems IRIS kuenda kuPython; zvese zvikumbiro zvekufambisa data shandisa iyo interface. isc.py.msg.DataRequest
iyo inopa zvinotevera zvivakwa:
Variable
- Python inosiyana iyo inonyorwa data.Type
- yakasiyana mhando:dataframe
(pandas dataframe) kanalist
.Namespace
- nzvimbo yatinowana data kubva. Plastic bagisc.py
inofanira kuwanikwa munzvimbo ino. Iyi inogona kunge iri nzvimbo isina rubatsiro rwechigadzirwa.
Kubva pane iyi interface, 4 makirasi ezvikumbiro anoitwa:
isc.py.msg.QueryRequest
- gadza pfumaQuery
kutumira mubvunzo weSQL.isc.py.msg.ClassRequest
- gadza pfumaClass
kupfuudza data yekirasi.isc.py.msg.TableRequest
- set pfumaTable
kuendesa tafura data.isc.py.msg.GlobalRequest
- set pfumaGlobal
yekufambisa data kwepasi rose.
Mukuita bvunzo, tarisa chiitiko RAW
kupi isc.py.msg.QueryRequest
kuratidzwa mukuita.
Kuchengetedza / Kudzoreredza Python Context
Pakupedzisira, tinogona kuchengetedza mamiriro ePython muInterSystems IRIS, kuti tiite izvi tichazotumira isc.py.msg.SaveRequest
nemakakatanwa:
Mask
- Mhedzisiro chete inoenderana nemask inochengetwa. Inotsigirwa*
ΠΈ?
. Muenzaniso:"Data*, Figure?"
. Default*
.MaxLength
- Hurefu hwehurefu hwekuchinja kwakachengetwa. Kana iyo serialization yechinhu chakareba, inozoregeredzwa. Seta kuna 0 kuti uwane zvinoshanduka zvehurefu hupi zvahwo. Default$$$MaxStringLength
.Name
- Zita remukati (sarudzo).Description
- Tsanangudzo yemamiriro ezvinhu (sarudzo).
Anodzoka Ens.StringResponse
Ρ Id
zvakachengetwa. Mukuita bvunzo, tarisa chiitiko Save Context
.
Chikumbiro chakabatana isc.py.msg.RestoreRequest
inotakura mamiriro kubva kuInterSystems IRIS muPython:
ContextId
- chiziviso chechirevo.Clear
- jekesa mamiriro ezvinhu asati adzorera.
Jupyter Notebook
Kuwedzerwa uku kunofungidzira kuti zvirevo zvine Python kodhi uye inoshandisa mazita echiitiko semazita apfuura. Izvozvi zvinogoneka kugadzira PythonGateway bhizinesi maitiro muJupyter Notebook. Hezvino zvinogoneka:
- Gadzira maitiro matsva ebhizinesi
- Delete business process
- Gadzira mabasa matsva
- Shandura mabasa
- Dzima mabasa
pano
Process Explorer
Process editor
Kuiswa
- Iwe unozoda InterSystems IRIS 2019.2+.
- Isa PythonGateway v0.8+ (inongodiwa chete
isc.py.util.Jupyter
,isc.py.util.JupyterCheckpoints
ΠΈisc.py.ens.ProcessUtils
). - Gadziridza iyo ObjectScript kodhi kubva pane repository.
- Kuuraya
do ##class(isc.py.util.Jupyter).Install()
uye tevera zvirevo.
zvakawanikwa
MLToolkit seti yezvishandiso zvine chinangwa chekubatanidza mamodheru uye nharaunda yekutengeserana kuitira kuti mamodheru akavakirwa anogona kushandiswa nyore nyore mubhizinesi rako maitiro. Python Gateway chikamu cheMLToolkit uye inopa kubatanidzwa nemutauro wePython, ichikubvumidza kuti uronge chero muchina wekudzidza algorithms akagadzirwa muPython (iyo nharaunda huru yevazhinji Data Sayenzi), shandisa akawanda akagadzirira-akagadzirwa maraibhurari kukurumidza kugadzira inochinja, robotic analytical AI / ML mhinduro paInterSystems papuratifomu IRIS.
nezvakanyorwa
Previous article Python Gateway Python Gateway Samples Convergent-Analytics Python 3.6.7 64 bit Python zvinyorwa uye makosi
MLToolkit
Boka revashandisi reMLToolkit inzvimbo yakazvimiririra yeGitHub yakagadzirwa sechikamu cheInterSystems corporate GitHub sangano. Yakagadzirirwa vashandisi vekunze vanoisa, vanodzidza, kana vari kutoshandisa MLToolkit zvikamu, kusanganisira iyo Python Gateway. Iri boka rine akati wandei akaiswa makesi (ane sosi kodhi uye bvunzo data) muminda yekushambadzira, kugadzira, mishonga uye mamwe akawanda maindasitiri. Kujoinha iyo ML Toolkit User Group, ndapota tumira email pfupi kune inotevera kero:
- GitHub username
- Sangano (unoshanda kana kudzidza)
- Position (chinzvimbo chako chaicho musangano rako, angave "Mudzidzi" kana "Akazvimirira").
- nyika
Kune avo vakaverenga chinyorwa uye vanofarira kugona kweInterSystems IRIS sepuratifomu yekugadzira kana kuitisa hungwaru hwekugadzira uye mainjini ekudzidza muchina, tinokukoka iwe kuti ukurukure zvinogona kuitika zvinofadza kune bhizinesi rako. Isu tichafara kuongorora zvinodiwa nekambani yako uye pamwe chete kuona chirongwa chekuita; Bata email kero yeAI/ML yedu nyanzvi timu -
Source: www.habr.com