Sengoliloeng sena se mabapi le Python Gateway, morero oa sechaba o bulehileng bakeng sa sethala sa data sa InterSystems IRIS. Morero ona o u lumella ho hlophisa li-algorithms tsa ho ithuta tsa mochini tse ngotsoeng ho Python (tikoloho ea mantlha bakeng sa Bo-rasaense ba bangata ba Data), sebelisa lilaebrari tse ngata tse itokiselitseng ho theha kapele litharollo tsa tlhahlobo ea AI / ML sethaleng sa InterSystems IRIS. Sehloohong sena, ke tla bonts'a hore na InterSystems IRIS e ka hlophisa lits'ebetso tsa Python joang, ea etsa phetisetso ea data ea mekhoa e 'meli hantle, le ho theha lits'ebetso tse bohlale tsa khoebo.
Etsa moralo
- Selelekela.
- Lisebelisoa.
- Kenya
- API.
- Tšebelisano-'moho.
- Jupyter Notebook.
- Liphello.
- Lihokelo.
- MLToolkit.
Selelekela
Python ke puo ea maemo a holimo, ea sepheo se akaretsang, e shebaneng le ho ntlafatsa tlhahiso ea bahlahisi le ho baloa ha khoutu. Letotong lena la lihlooho, ke tla tšohla menyetla ea ho sebelisa Python sethaleng sa InterSystems IRIS, 'me sepheo se seholo sa sehlooho sena ke tšebeliso ea Python e le puo ea ho theha le ho sebelisa mekhoa ea ho ithuta mochine.
Ho ithuta ka mochine (ML) ke sehlopha sa mekhoa ea bohlale ba maiketsetso e khetholloang ka ho se rarolle bothata ka ho toba, empa ho ithuta ka mokhoa oa ho rarolla mathata a mangata a tšoanang.
Mekhoa ea ho ithuta ka mochini le mefuta e ntse e ata. Ho na le mabaka a mangata a sena, empa tsohle li theohile ho fihlelleheng, bonolo, le ho fihlela liphetho tse sebetsang. Na clustering kapa neural network modelling ke theknoloji e ncha?
Ha e le hantle ha ho joalo, empa matsatsing ana ha ho hlokahale ho ngola mela e makholo a likete tsa khoutu ho tsamaisa mohlala o le mong, 'me litšenyehelo tsa ho theha le ho tsamaisa mehlala li ntse li fokotseha.
Lisebelisoa li ntse li fetoha - ha re se na lisebelisoa tsa AI / ML tse thehiloeng ho GUI ka botlalo, tsoelo-pele eo re e boneng ka lihlopha tse ling tse ngata tsa lisebelisoa tsa tlhahisoleseding, tse kang BI (ho tloha ho khoutu ea ho ngola ho ea ho sebelisa mekhoa le litharollo tse ka lokisoang tse thehiloeng ho GUI) e boetse e etsahala ho lisebelisoa tsa AI / ML. Re tlohile ka nqane ho mokhahlelo oa khoutu mme joale re sebelisa meralo ho aha le ho koetlisa mehlala.
Lintlafatso tse ling, tse kang bokhoni ba ho aba mohlala o koetlisitsoeng pele, moo mosebelisi oa ho qetela a tlamehang ho qeta ho koetlisa mohlala ho data ea bona e khethehileng, hape o etsa hore ho be bonolo ho qala ka ho ithuta mochine. Tsoelopele ena e etsa hore ho ithuta ka mochini oa ho ithuta ho be bonolo haholo ho litsebi le lik'hamphani ka kakaretso.
Ka lehlakoreng le leng, re ntse re bokella lintlha tse ngata. Ka sethala sa data se kopaneng joalo ka InterSystems IRIS, tlhahisoleseling ena kaofela e ka lokisoa hang-hang 'me ea sebelisoa e le kenyelletso bakeng sa mehlala ea ho ithuta mochini.
Ka phetoho ea maru, ho qala merero ea AI/ML ho bonolo ho feta pele. Re ka sebelisa feela lisebelisoa tseo re li hlokang. Ho feta moo, ka lebaka la parallelization e fanoang ke sethala sa maru, re ka boloka nako.
Empa ho thoe’ng ka liphello? Mona ke moo lintho li bang thata. Ho na le lisebelisoa tse ngata tsa ho haha mehlala, tseo ke tla li tšohla ka tlase. Ho haha mohlala o motle ha ho bonolo, empa ho etsahala'ng ka mor'a moo? Ho etsa nyeoe ea tšebeliso ea khoebo bakeng sa mohlala le hona ha se ntho e nyane. Motso oa bothata ke karohano ea mesebetsi ea tlhahlobo le ea transaction le mehlala ea data. Ha re koetlisa mohlala, hangata re e etsa ka data ea histori. Empa sebaka sa mohlala o hahiloeng ke ts'ebetsong ea data ea transaction. Moetso o motle ka ho fetisisa oa ho lemoha bomenemene o na le molemo ofe haeba re o tsamaisa hang ka letsatsi? Ke khale baqhekelli ba tsamaea le chelete. Re hloka ho koetlisa mohlala ho data ea nalane, empa hape re hloka ho e sebelisa ka nako ea nnete ho data e ncha e kenang e le hore lits'ebetso tsa rona tsa khoebo li ka nka khato ho latela likhakanyo tse entsoeng ke mohlala.
ML Toolkit ke sehlopha sa lisebelisoa tse ikemiselitseng ho etsa joalo feela: ho hokahanya mehlala le tikoloho ea transaction e le hore mefuta e hahiloeng e ka sebelisoa habonolo lits'ebetsong tsa hau tsa khoebo. Python Gateway ke karolo ea ML Toolkit mme e fana ka kopanyo le puo ea Python (e ts'oanang le kamoo R Gateway, e leng karolo ea ML Toolkit, e fanang ka kopanyo le puo ea R).
Lebokose la lithulusi
Pele re tsoela pele, ke kopa ho hlalosa lisebelisoa tse seng kae tsa Python le lilaebrari tseo re tla li sebelisa hamorao.
ea theknoloji
- Python ke puo e fetoletsoeng, ea boemo bo holimo, e sebelisoang ka kakaretso. Matla a sehlooho a puo ke laeborari ea eona e kholo ea lipalo, ML, le lilaebrari tsa AI. Joalo ka ObjectScript, ke puo e shebaneng le ntho e itseng, empa ntho e ngoe le e ngoe e hlalosoa ka matla ho fapana le ho latela maemo. Ntho e 'ngoe le e' ngoe hape ke ntho. Lingoliloeng tsa morao-rao li tloaelane le puo eo. Haeba u batla ho qala ho ithuta, ke khothaletsa ho qala ka .
- Bakeng sa lithupelo tsa rona tse latelang, beha .
- IDE: Kea sebelisa , empa ka kakaretso ba . Haeba u sebelisa Atelier, ho na le plugin ea Eclipse bakeng sa baetsi ba Python. Haeba u sebelisa VS Code, ho na le katoloso ea Python.
- Notebook: Sebakeng sa IDE, o ka ngola le ho arolelana mangolo a hau libukeng tsa marang-rang. E tsebahalang haholo ke .
Lilaebrari
Mona ke lethathamo (le sa fellang) la lilaeborari tsa ho ithuta ka mochini:
- - sephutheloana sa motheo bakeng sa lipalo tse nepahetseng.
- - meaho ea ts'ebetso e phahameng ea ts'ebetso le lisebelisoa tsa tlhahlobo ea data.
- - popo ea li-graph.
- - pono ea data e thehiloeng ho matplotlib.
- - mekhoa ea ho ithuta ka mochine.
- - li-algorithms tsa ho ithuta ka mochini ka har'a moralo oa mokhoa oa Gradient Boosting.
- - NLP.
- - marang-rang a neural.
- - sethala sa ho theha mehlala ea ho ithuta ka mochini.
- - sethala sa ho theha mehlala ea ho ithuta ka mochini, e shebaneng le Python.
- - PMML ho tsoa ho mefuta e fapaneng.
Theknoloji ea AI/ML e etsa hore likhoebo li sebetse hantle le ho ikamahanya le maemo. Ho feta moo, theknoloji ena e ntse e ba bonolo ho e ntlafatsa le ho e sebelisa. Qala ho ithuta ka mahlale a AI/ML le hore na a ka thusa mokhatlo oa hau joang ho hola.
bophirima
Ho na le mekhoa e mengata ea ho kenya le ho sebelisa Python Gateway:
- OS
- Windows
- Linux
- Mac
- Docker
- Sebelisa setšoantšo se tsoang ho DockerHub
- Iketsetse setšoantšo sa hau
Ho sa tsotelehe mokhoa oa ho kenya, o tla hloka khoutu ea mohloli. Sebaka feela sa ho jarolla khoutu ke . E na le litokollo tse hlahlobiloeng tse tsitsitseng, fumana ea morao-rao feela. Hona joale ke 0.8, empa ho tla ba le tse ling ha nako e ntse e ea. Se ke oa kopanya / khoasolla polokelo, fumana tokollo ea morao-rao.
OS
Haeba u kenya Python Gateway tsamaisong ea ts'ebetso, u tla tlameha ho qala ho kenya Python (ho sa tsotellehe mokhoa oa ho sebetsa). Ho etsa sena:
- . Ho khothalletsoa ho kenya Python bukeng ea kamehla.
- Kenya module
dill:pip install dill. - Kenya khoutu ea ObjectScript (ke hore.
do $system.OBJ.ImportDir("C:InterSystemsReposPythoniscpy", "*.cls", "c",,1)) sebakeng sefe kapa sefe se nang le lihlahisoa. Haeba u batla sebaka se seng se le teng ho tšehetsa lihlahisoa, etsa:write ##class(%EnsembleMgr).EnableNamespace($Namespace, 1). - Sebaka ho tsamaisetsa foldareng
binmohlala oa hau oa InterSystems IRIS. Faele ea laebrari e tlameha ho fumaneha tseleng e khutlangwrite ##class(isc.py.Callout).GetLib().
Windows
- Etsa bonnete ba hore tikoloho e fetoha
PYTHONHOMElintlha ho Python 3.6.7. - Etsa bonnete ba hore tikoloho ea sistimi e fetoha
PATHe na le phetohoPYTHONHOME(kapa bukana eo e e supang).
Linux (Debian/Ubuntu)
- Hlahloba hore na tikoloho e fetoha
PATHe na le/usr/libи/usr/lib/x86_64-linux-gnu. Sebelisa faele/etc/environmentho seta diphapano tsa tikoloho. - Haeba ho na le liphoso
undefined symbol: _Py_TrueStructbeha maemoPythonLib. Hape ho Ho na le karolo ea ho rarolla mathata.
Mac
- Hona joale ke python 3.6.7 feela e tšehetsoeng . Sheba phapang
PATH.
Haeba u fetotse mefuta e fapaneng ea tikoloho, qala sehlahisoa sa hau sa InterSystems bocha.
Docker
Ho sebelisa li-container ho na le melemo e mengata:
- Portability
- Katleho
- Ho kenya letsoho
- Khanya
- Ho se fetohe
Sheba sena bakeng sa tlhaiso-leseling e batsi mabapi le ho sebelisa Docker ka lihlahisoa tsa InterSystems.
Mehaho eohle ea Python Gateway hajoale e thehiloe ka har'a lijana 2019.4.
Setšoantšo se phethiloeng
Etsa: docker run -d -p 52773:52773 --name irispy intersystemscommunity/irispy-community:latestho khoasolla le ho tsamaisa Python Gateway ka InterSystems IRIS Community Edition. Ho felile ke lehlohonolo.
Iketsetse setšoantšo sa hau
Ho theha setšoantšo sa docker, matha motso oa polokelo: docker build --force-rm --tag intersystemscommunity/irispy:latest ..
Ka ho sa feleng, setšoantšo se hahiloe ho latela setšoantšo store/intersystems/iris-community:2019.4.0.383.0, leha ho le joalo u ka fetola sena ka ho seta ho feto-fetoha IMAGE.
Ho haha ho tloha ho InterSystems IRIS, matha: `docker build --build-arg IMAGE=store/intersystems/iris:2019.4.0.383.0 --force-rm --tag intersystemscommunity/irispy:latest ".
Ka mor'a moo o ka tsamaisa setšoantšo sa docker:
docker run -d
-p 52773:52773
-v /<HOST-DIR-WITH-iris.key>/:/mount
--name irispy
intersystemscommunity/irispy:latest
--key /mount/iris.keyHaeba u sebelisa setšoantšo se thehiloeng ho InterSystems IRIS Community Edition, u ka siea senotlolo.
Comments
- Mokhoa oa teko
isc.py.test.Processe boloka letoto la litšoantšo bukeng ea nakoana. U ka 'na ua batla ho fetola tsela ena ho directory e behiloeng. Ho etsa sena, fetola tlhophisoWorkingDirho totobatsa directory e kentsoeng. - Ho fihlella terminal, matha:
docker exec -it irispy sh. - Ho fihlella Portal Management System ka ho kena
SuperUser/SYS. - Ho emisa setshelo, matha:
docker stop irispy && docker rm --force irispy.
Ho hlahloba ho kenya
Ha u se u kentse Python Gateway, ho bohlokoa ho hlahloba hore na e ea sebetsa. Kenya khoutu ena ho terminal ea IRIS ea InterSystems:
set sc = ##class(isc.py.Callout).Setup()
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).
write varPhello e lokela ho ba HELLO - boleng ba phetoho ea Python x. Haeba boemo ba ho khutla ke sc ke phoso kapa var e se nang letho, hlahloba .
API
Python Gateway e kentsoe 'me u netefalitse hore e ea sebetsa. Ke nako ea ho qala ho e sebelisa!
Sebopeho se seholo sa ho Python ke isc.py.Main. E fana ka lihlopha tse latelang tsa mekhoa (tsohle li khutlela %Status):
- Phethahatso ea khoutu
- Phetiso ya data
- Subsidiary
Phethahatso ea khoutu
Mekhoa ena e u lumella ho etsa khoutu ea Python e sa sebetseng.
SimpleString
SimpleString - ke mokhoa o ka sehloohong. E hloka likhang tse 4 tsa boikhethelo:
code- mola oa khoutu o lokelang ho etsoa. Litlhaku tsa phepelo ea mohala:$c(10).returnVariable— lebitso la phapano e tla kgutla.serialization- mokhoa oa ho serialereturnVariable. 0 - khoele (ea kamehla), 1 - repr.result- ByRef e bua ka phapang eo boleng bo ngotsoeng ho eonareturnVariable.
Ka holimo re phethile:
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).Mohlaleng ona re abela mofuta oa Python x moelelo Hello mme re batla ho khutlisa boleng ba phapang ea Python x ka sebopeho sa ObjectScript var.
ExecuteCode
ExecuteCode ke mokhoa o sireletsehileng le o se nang lithibelo. SimpleString.
Mehala e sethaleng sa InterSystems IRIS e lekantsoe ho litlhaku tse 3, 'me haeba u batla ho etsa khoutu e telele, u lokela ho sebelisa likhoele.
Likhang tse peli lia amoheloa:
code- khoele kapa molatsoana oa khoutu ea Python ho e etsa.variable- (ho ikhethela) e fana ka sephetho sa ho bolaoacodemofuta ona oa Python.
Mehlala ea tšebeliso:
set sc = ##class(isc.py.Main).ExecuteCode("2*3", "y").Mohlaleng ona, re atisa 2 ka 3 mme re boloka sephetho ka mokhoa o fapaneng oa Python. y.
Phetiso ya data
Fetisa data ho ea le ho tsoa Python.
Python -> InterSystems IRIS
Ho na le mekhoa e 4 ea ho fumana boleng ba phetoho ea Python ho InterSystems IRIS, ho latela serialization eo u e hlokang:
Stringbakeng sa mefuta e bonolo ea data le debugging.Reprbakeng sa ho boloka lintho tse bonolo le ho lokisa liphoso.JSONbakeng sa ho qhekella ha data habonolo lehlakoreng la InterSystems IRIS.Pickleho boloka dintho.
Mekhoa ena e u lumella ho khutlisa mefuta e fapaneng ho tsoa ho Python joalo ka likhoele kapa melapo.
GetVariable(variable, serialization, .stream, useString)- fumanaserializationfeto-fetohavariableвstream. HaebauseStringe lekana le 1 mme serialization e kenella khoeleng, ebe khoele e khutlisoa eseng molatsoana.GetVariableJson(variable, .stream, useString)- fumana serialization ea JSON ea mofuta o fapaneng.GetVariablePickle(variable, .stream, useString, useDill)-fumana Pickle (kapa Dill) serialization ea phetoho.
Ha re leke ho fumana phetoho ea rona y.
set sc = ##class(isc.py.Main).GetVariable("y", , .val, 1)
write val
>6InterSystems IRIS -> Python
E kenya data ho tsoa ho InterSystems IRIS ho Python.
ExecuteQuery(query, variable, type, namespace)- e theha dataset (pandasdataframekapalist) ho tsoa ho potso ea sql ebe e e beha ho mofuta oa Pythonvariable. Mokotla oa polasetikiisc.pye tlameha ho ba teng sebakeng seonamespace- kopo e tla phethisoa moo.ExecuteGlobal(global, variable, type, start, end, mask, labels, namespace)- e jara data ea lefats'eglobalho tsoa ho peeletsostarthoendho Python joalo ka mofuta o fapanengtype:list, kapa li-pandadataframe. Tlhaloso ea likhang tsa boikhethelomask'melabelse fumanehang ka har'a litokomane tsa sehlopha le polokelo .ExecuteClass(class, variable, type, start, end, properties, namespace)- e kenya data ea sehlophaclassho tloha ho idstarthoendho Python joalo ka mofuta o fapanengtype:list, kapa li-pandadataframe.properties- lenane le arohaneng la likoma la thepa ea sehlopha ho kenya dataset. Li-mask lia tšehetsoa*и?. Ka tloaelo -*(thepa tsohle). Thepa%%CLASSNAMEhlokomolohile.ExecuteTable(table, variable, type, start, end, properties, namespace)- e jara data ea tafoletableho tloha ho idstarthoendho Python.
ExecuteQuery - ke bokahohle (potso efe kapa efe e nepahetseng ea SQL e tla fetisetsoa ho Python). Leha ho le joalo, ExecuteGlobal le diphuthelwana tsa yona ExecuteClass и ExecuteTable sebetsa ka mefokolo e mengata. Li potlakile haholo (ka makhetlo a 3-5 ka potlako ho feta mokhanni oa ODBC le makhetlo a 20 ka potlako ExecuteQuery). Lintlha tse ling ho .
Mekhoa ena kaofela e tšehetsa phetiso ea data ho tsoa sebakeng sefe kapa sefe. Pakete isc.py e tlameha ho ba teng sebakeng se shebiloeng.
PhethaQuery
ExecuteQuery(request, variable, type, namespace) - ho fetisetsa liphetho tsa potso efe kapa efe e nepahetseng ea SQL ho Python. Ena ke mokhoa o liehang ka ho fetesisa oa ho fetisa data. E sebelise haeba ExecuteGlobal le liphutheloana tsa eona ha li fumanehe.
Likhang:
query- sql potso.variable- lebitso la phetoho ea Python eo data e ngotsoeng ho eona.type-listkapa pandasdataframe.namespace- sebaka seo kopo e tla phethoa ho sona.
PhethaGlobal
ExecuteGlobal(global, variable, type, start, end, mask, labelels, namespace) - ho fetisetsa lefats'e ho Python.
Likhang:
global- lebitso la lefats'e ntle le^variable- lebitso la phetoho ea Python eo data e ngotsoeng ho eona.type-listkapa pandasdataframe.start- karolo ea pele ea lefats'e. Ho hlokahala%Integer.end- ngoliso ea ho qetela ea lefats'e. Ho hlokahala%Integer.mask- mask a boleng ba lefats'e. Mask e ka ba khuts'oane ho feta palo ea masimo a lefats'e (tabeng ena, masimo a qetellong a tla tlotsoa). Mokhoa oa ho fomata mask:+fetisa boleng kamoo bo leng kateng.-tlola boleng.b- Mofuta o utloahalang (0-False, tse ling tsohle ke -True).d— Letsatsi (ho tloha ho $horolog, ho Windows ho tloha ka 1970, ho ea pele Linux ho tloha ka 1900).t- Nako ($ horolog, metsotsoana ka mor'a khitla).m- Setempe sa nako (khoele e ka sebopeho sa YEAR-MONTH-DAY HOUR:MINUTE:SECOND).
labels— %Lenane la mabitso a kholomo. Ntho ea pele ke lebitso la subscript.namespace- sebaka seo kopo e tla phethoa ho sona.
ExecuteClass
Koahela holimo ExecuteGlobal. Ho itšetlehile ka tlhaloso ea sehlopha, lokisetsa pitso ExecuteGlobal mme a mmitsa.
ExecuteClass(class, variable, type, start, end, properties, namespace) - ho fetisetsa data ea sehlopha ho Python.
Likhang:
class- lebitso la sehlophavariable- lebitso la phetoho ea Python eo data e ngotsoeng ho eona.type-listkapa pandasdataframe.start- ho qala Id.end- Id ea ho qetelaproperties- lenane le arohaneng la likoma la thepa ea sehlopha ho kenya dataset. Li-mask lia tšehetsoa*и?. Ka tloaelo -*(thepa tsohle). Thepa%%CLASSNAMEhlokomolohile.namespace- sebaka seo kopo e tla phethoa ho sona.
Thepa eohle e fetisoa joalo ka ha e le ntle le thepa ea mofuta %Date, %Time, %Boolean и %TimeStamp - li fetoloa litlelase tse tsamaellanang tsa Python.
ExecuteTable
Koahela holimo ExecuteClass. E fetolela lebitso la tafole ho lebitso la sehlopha le mehala ExecuteClass. Tshaeno:
ExecuteTable(table, variable, type, start, end, properties, namespace) - ho fetisetsa data ea tafole ho Python.
Likhang:
table- lebitso la tafole.
Likhang tse ling kaofela li fetisoa joalo ka ha li le joalo.ExecuteClass.
Lintlha
ExecuteGlobal,ExecuteClassиExecuteTablesebetsa ka potlako ka ho lekana.ExecuteGlobalKa makhetlo a 20 ka potlako ho fetaExecuteQueryho sete e kholo ea data (nako ea phetisetso> metsotsoana e 0.01).ExecuteGlobal,ExecuteClassиExecuteTablesebetsa ho li-globals ka sebopeho sena:^global(key) = $lb(prop1, prop2, ..., propN)mookey- palo e felletseng.- etsoe
ExecuteGlobal,ExecuteClassиExecuteTablemefuta e fapaneng ya boleng%Datee tsamaisana le mefutamktimemme e ipapisitse le OS (: 1970-01-01, 1900-01-01, ). Sebelisa%TimeStampho fetisa data ka ntle ho sebaka sena kapa ho sebelisa pandas dataframe kaha lena ke moeli feela. - etsoe
ExecuteGlobal,ExecuteClassиExecuteTableLikhohlano tsohle ntle le mohloli oa data (lefatšeng, sehlopha kapa tafole) le phetoho ke ea boikhethelo.
mehlala
Sehlopha sa liteko e na le mokhoa o bonts'ang likhetho tsohle tsa phetiso ea data:
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)Letsetsa mokhoa do ##class(isc.py.test.Person).Test() ho bona hore na mekhoa eohle ea phetisetso ea data e sebetsa joang.
Mekhoa e thusang
GetVariableInfo(variable, serialization, .defined, .type, .length)- fumana leseli mabapi le phapano: hore na e hlalositsoe, sehlopha sa eona le bolelele ba serialization.GetVariableDefined(variable, .defined)- hore na phapang e hlalositsoe.GetVariableType(variable, .type)- fumana sehlopha sa mefuta e fapaneng.GetStatus()- fumana le ho tlosa mokhelo oa morao-rao ka lehlakoreng la Python.GetModuleInfo(module, .imported, .alias)— fumana ho feto-fetoha ha mojule le boemo ba ho reka kantle ho naha.GetFunctionInfo(function, .defined, .type, .docs, .signature, .arguments)— fumana tlhahisoleseding mabapi le tshebetso.
Ts'ebelisano
Kaha joale u se u ithutile ho letsetsa Python Gateway ho tloha setsing sa ho qetela, ha re qaleng ho e sebelisa tlhahiso. Metheo ea ho sebelisana le Python ka mokhoa ona ke: isc.py.ens.Operation. E re lumella ho:
- Sebelisa khoutu ea Python
- Boloka / Khutlisa moelelo oa Python
- Laola le ho fumana lintlha ho tsoa ho Python
Ha e le hantle, ts'ebetso ea Python ke sekoaelo se pota-potileng isc.py.Main. Tshebetso isc.py.ens.Operation e thusa ho sebelisana le ts'ebetso ea Python ho tsoa ho InterSystems lihlahisoa tsa IRIS. Lipotso tse hlano lia tšehetsoa:
isc.py.msg.ExecutionRequestho kenya khoutu ea Python. E khutlaisc.py.msg.ExecutionResponseka sephetho sa ts'ebetso le boleng ba mefuta e batloang.isc.py.msg.StreamExecutionRequestho kenya khoutu ea Python. E khutlaisc.py.msg.StreamExecutionResponsesephetho sa ts'ebetso le boleng ba mefuta e batloang. Analogeisc.py.msg.ExecutionRequest, empa e amohela le ho khutlisa melapo ho e-na le likhoele.isc.py.msg.QueryRequestho fetisa sephetho sa ho etsa potso ea SQL. E khutlaEns.Response.isc.py.msg.GlobalRequest/isc.py.msg.ClassRequest/isc.py.msg.TableRequestho fetisa data ea lefats'e / sehlopha / tafole. E khutlaEns.Response.isc.py.msg.SaveRequestho boloka moelelo oa Python. E khutlaEns.StringResponsee nang le sesupo sa moelelo.isc.py.msg.RestoreRequestho khutlisa moelelo oa Python.Ho phaella moo,
isc.py.ens.Operatione na le li-setting tse peli:Initializer- khetho ea sehlopha se sebelisang sebopehoisc.py.init.Abstract. E ka sebelisoa ho kenya mesebetsi, li-module, lihlopha, joalo-joalo. E etsoa hang ha ts'ebetso e qala.PythonLib— (bakeng sa feela Linux) haeba o bona diphoso ha o ntse o kenya, beha boleng ba yona holibpython3.6m.sokapa esita le tseleng e felletseng ea ho ea laebraring ea Python.
Ho theha mekhoa ea khoebo
Ho na le lihlopha tse peli tse fumanehang tse etsang hore ho be bonolo ho nts'etsapele lits'ebetso tsa khoebo:
isc.py.ens.ProcessUtilsE u lumella ho ntša litlhaloso ho tsoa mesebetsing e nang le mefuta e meng e fapaneng.isc.py.util.BPEmulatore o lumella ho lekola lits'ebetso tsa khoebo habonolo ka Python. E ka etsa ts'ebetso ea khoebo (likarolo tsa Python) ts'ebetsong ea hajoale.
Phapang e Fetohang
Mekhoa eohle ea khoebo e futsitsoeng ho isc.py.ens.ProcessUtils, e ka sebelisa mokhoa GetAnnotation(name) ho fumana boleng ba tlhaloso ya ketsahalo ka lebitso la yona. Tlhaloso ea ketsahalo e ka ba le mefuta-futa e tla baloa ka lehlakoreng la InterSystems IRIS pele e fetisetsoa ho Python. Mona ke syntax bakeng sa phetoho e fapaneng:
${class:method:arg1:...:argN}- pitso ea mokhoa#{expr}— etsa khoutu ka puo ya ObjectScript.
Mohlala o fumaneha ts'ebetsong ea khoebo ea liteko isc.py.test.Process, mohlala, mosebetsing Correlation Matrix: Graph: f.savefig(r'#{process.WorkDirectory}SHOWCASE${%PopulateUtils:Integer:1:100}.png'). Mohlala ona:
#{process.WorkDirectory}e khutlisetsa thepa ea WorkDirectory ea ntho eoprocess, e leng mohlala oa sehlophaisc.py.test.Processke hore ts'ebetso ea hajoale ea khoebo.${%PopulateUtils:Integer:1:100}bitsa mokhoaIntegerкласса%PopulateUtils, ho fetisa likhang1и100, e khutlisetsang palo e felletseng sebakeng seo1...100.
Mokhoa oa khoebo oa teko
Tlhahiso ea liteko le ts'ebetso ea khoebo ea liteko li fumaneha ka mokhoa o ikhethileng e le karolo ea Python Gateway. Ho li sebelisa:
- Ho terminal ea OS, tsamaisa:
pip install pandas matplotlib seaborn. - Ho terminal ea InterSystems IRIS, matha:
do ##class(isc.py.test.CannibalizationData).Import()ho tlatsa lintlha tsa teko. - Qala sehlahisoa
isc.py.test.Production. - Romela kopo joalo ka
Ens.Requestвisc.py.test.Process.
A re boneng hore na tsohle li sebetsa hammoho joang. Bula isc.py.test.Process ho mohlophisi oa BPL:

Phethahatso ea khoutu
Phephetso ea bohlokoahali ke ho etsa khoutu ea Python:

Potso e sebelisoa isc.py.msg.ExecutionRequest, lintlha tsa eona ke tsena:
Code- Khoutu ea Python.SeparateLines- hore na ho arola khoutu ka mela bakeng sa ho phethahatsoa.$c(10)(n) e sebedisoang ho arola mela. Ka kopo hlokomela hore HA HO khothaletsoe ho sebetsana le molaetsa oohle hang-hang, ts'ebetso ena e etselitsoe ho sebetsa feeladefle lipolelo tse tšoanang tsa mela e mengata. Ka kamehla0.Variables— lenane le arohaneng la dikoma la diphetoho tse tla ekeletswa karabong.Serialization- Mokhoa oa ho hlophisa mefuta-futa eo re batlang ho e khutlisa. Likhetho:Str,Repr,JSON,PickleиDill, ka ho sa felengStr.
Tabeng ea rona, re beha thepa feela Code, kahoo lisebelisoa tse ling kaofela li sebelisa litekanyetso tsa kamehla. Re e beha ka ho letsa process.GetAnnotation("Import pandas"), e khutlisetsang tlhaloso ka nako ea ho sebetsa ka mor'a ho etsa phetoho e fapaneng. Etsoe, khoutu import pandas as pd e tla fetisetsoa ho Python. GetAnnotation e ka ba molemo bakeng sa ho fumana mangolo a mangata a Python, empa ha ho na lithibelo mokhoa ona oa ho fumana khoutu. O ka seta thepa Code ka tsela efe kapa efe e loketseng uena.
Ho fumana mefuta-futa
Phephetso e 'ngoe e khahlisang ea ho sebelisa isc.py.msg.ExecutionRequest - Correlation Matrix: Tabular:

E bala Correlation Matrix ka lehlakoreng la Python mme e ntša phapang corrmat khutlela ho InterSystems IRIS ka sebopeho sa JSON, ka ho beha thepa ea potso:
Variables:"corrmat"Serialization:"JSON"
Re ka bona liphetho ho Visual Trace:

Mme haeba re hloka boleng bona ho BP, re ka bo fumana tjena: callresponse.Variables.GetAt("corrmat").
Phetiso ya data
Ka mor'a moo, re tla bua ka ho fetisetsa data ho tloha ho InterSystems IRIS ho ea Python, likopo tsohle tsa phetisetso ea data li sebelisa sebopeho. isc.py.msg.DataRequest, e fanang ka thepa e latelang:
Variable- mofuta oa Python oo data e ngotsoeng ho oona.Type- mefuta e fapaneng:dataframe(pandas dataframe) kapalist.Namespace- sebaka seo re fumanang data ho sona. Paketeisc.pye tlameha ho ba teng sebakeng sena. Sena e ka 'na ea e-ba sebaka se se nang tšehetso ea lihlahisoa.
Ho ipapisitsoe le sebopeho sena, lihlopha tse 4 tsa lipotso li kengoa tšebetsong:
isc.py.msg.QueryRequest- seta thepaQueryho fetisa potso ea SQL.isc.py.msg.ClassRequest- seta thepaClassho fetisetsa data ea sehlopha.isc.py.msg.TableRequest- beha thepaTableho fetisetsa data ea tafole.isc.py.msg.GlobalRequest- beha thepaGlobalbakeng sa phetiso ea data lefatšeng ka bophara.
Ts'ebetsong ea teko, sheba ts'ebetso RAWkae isc.py.msg.QueryRequest e bontshwang ka ketso.

Boloka / Khutlisa Boemo ba Python
Qetellong, re ka boloka moelelo oa Python ho InterSystems IRIS, ho etsa sena, rea romela isc.py.msg.SaveRequest ka likhang:
Mask- Ho bolokiloe feela lintho tse lumellanang le mask. E tšehelitsoe*и?. Mohlala:"Data*, Figure?". Ea kamehla*.MaxLength- Bolelele bo boholo ba phetoho e lokelang ho bolokoa. Haeba serialization ea phapang e le telele, e tla hlokomolohuoa. Beha 0 ho fumana mefuta e fapaneng ea bolelele bofe kapa bofe. Ea kamehla$$$MaxStringLength.Name- Lebitso la moelelo (boikhethelo).Description- Tlhaloso ea moelelo (boikhethelo).
Ho khutla Ens.StringResponse с Id taba e bolokiloeng. Ts'ebetsong ea teko, sheba ts'ebetso Save Context.
Kopo e tsamaellanang isc.py.msg.RestoreRequest e jara moelelo oa litaba ho tloha ho InterSystems IRIS ho ea Python:
ContextId- sekhetho sa moelelo.Clear- moelelo o hlakileng pele o khutlisa.
Buka ea Jupyter
- ke sesebelisoa sa marang-rang se bulehileng se u lumellang ho theha le ho phatlalatsa libuka tsa ho ngolla tse nang le khoutu, lipono le mongolo. Python Gateway e u lumella ho sheba le ho hlophisa lits'ebetso tsa BPL joalo ka Jupyter Notebook. Hlokomela hore moetsi oa hona joale ke Python 3.
Katoloso ena e nka hore litlatsetso li na le khoutu ea Python mme li sebelisa mabitso a mesebetsi joalo ka lihlohopele. Hona joale hoa khoneha ho hlahisa PythonGateway workflows ho Jupyter Notebook. Mona ke se ka khonehang:
- Theha mekhoa e mecha ea khoebo
- Hlakola mekhoa ea khoebo
- Etsa mesebetsi e mecha
- Fetola mesebetsi
- Hlakola mesebetsi
mona . Le li-screenshots tse ling:
Mokhoa oa ho hlahloba

Mohlophisi oa Ts'ebetso

bophirima
- U tla hloka InterSystems IRIS 2019.2+.
- Kenya PythonGateway v0.8+ (e hloka feela
isc.py.util.Jupyter,isc.py.util.JupyterCheckpointsиisc.py.ens.ProcessUtils). - Ntlafatsa khoutu ea ObjectScript ho tsoa sebakeng sa polokelo.
- Phethahatsa
do ##class(isc.py.util.Jupyter).Install()ebe u latela likeletso.
.
fumanoeng ke
MLToolkit ke sete ea lisebelisoa tse ikemiselitseng ho kopanya mehlala le tikoloho ea transaction e le hore mefuta e hahiloeng e ka sebelisoa habonolo lits'ebetsong tsa hau tsa khoebo. Python Gateway ke karolo ea MLToolkit mme e fana ka kopanyo le puo ea Python, e u lumellang ho hlophisa li-algorithms tsa ho ithuta tsa mochini tse entsoeng Python (tikoloho e ka sehloohong bakeng sa Bo-rasaense ba bangata ba Data), sebelisa lilaebrari tse ngata tse itokiselitseng ho theha ka potlako tharollo ea AI/ML ea AI/ML sethaleng sa InterSystems IRIS.
litšupiso
MLToolkit
MLToolkit User Group ke polokelo ea poraefete ea GitHub e entsoeng e le karolo ea mokhatlo oa InterSystems oa GitHub. E lebisitsoe ho basebelisi ba kantle ba kenyang, ba ithutang, kapa ba seng ba ntse ba sebelisa likarolo tsa MLToolkit, ho kenyeletsoa Python Gateway. Sehlopha se fana ka linyeoe tse ngata tse sebelisoang (tse nang le khoutu ea mohloli le lintlha tsa tlhahlobo) libakeng tsa ho rekisa, ho etsa thepa, meriana le liindasteri tse ling tse ngata. Ho ba setho sa ML Toolkit User Group, ka kopo romella lengolo-tsoibila le lekhutšoane ho: 'me u kenyelletse lintlha tse latelang lengolong la hau:
- GitHub Username
- Mokhatlo (o sebetsa kapa oa ithuta)
- Boemo (boemo ba hau ba 'nete mokhatlong oa hau, kapa "Moithuti" kapa "Ikemetseng").
- naha
Bakeng sa ba balileng sengoloa mme ba khahloa ke bokhoni ba InterSystems IRIS e le sethala sa ho nts'etsapele kapa ho amohela bohlale ba maiketsetso le mekhoa ea ho ithuta ka mochini, re u mema hore u buisane ka maemo a ka khahlang khoebo ea hau. Re thabela ho sekaseka litlhoko tsa khoebo ea hau le ho hlalosa ka kopanelo moralo oa ts'ebetso; aterese ea lengolo-tsoibila la sehlopha sa rona sa litsebi tsa AI/ML ke .
Source: www.habr.com
