ãã®èšäºã¯ãInterSystems IRIS ããŒã¿ ãã©ãããã©ãŒã ã®ãªãŒãã³ ãœãŒã¹ ã³ãã¥ãã㣠ãããžã§ã¯ãã§ãã Python Gateway ã«ã€ããŠèª¬æããŸãã ãã®ãããžã§ã¯ãã§ã¯ãPython (å€ãã®ããŒã¿ ãµã€ãšã³ãã£ã¹ãã«ãšã£ãŠäž»èŠãªç°å¢) ã§äœæãããæ©æ¢°åŠç¿ã¢ã«ãŽãªãºã ã調æŽããå€æ°ã®æ¢è£œã©ã€ãã©ãªã䜿çšããŠãé©å¿åã®ããããåæ AI/ML ãœãªã¥ãŒã·ã§ã³ã InterSystems IRIS ãã©ãããã©ãŒã äžã§è¿ éã«äœæã§ããŸãã ãã®èšäºã§ã¯ãInterSystems IRIS ã Python ã§ããã»ã¹ã調æŽããåæ¹åããŒã¿ãå¹ççã«éä¿¡ããã€ã³ããªãžã§ã³ããªããžãã¹ ããã»ã¹ãäœæããæ¹æ³ã説æããŸãã
èšç»
- ã¯ããã«ã
- ããŒã«ã
- ã€ã³ã¹ããŒã«
- APIã§ãã
- çžäºéçšæ§ã
- ãžã¥ãã¿ãŒããŒãã
- çµè«ã
- ãªã³ã¯ã
- MLããŒã«ãããã
å°å ¥
Python ã¯ãéçºè ã®çç£æ§ãšã³ãŒãã®å¯èªæ§ãåäžãããããšãç®çãšããé«ã¬ãã«ã®æ±çšããã°ã©ãã³ã°èšèªã§ãã ãã®äžé£ã®èšäºã§ã¯ãInterSystems IRIS ãã©ãããã©ãŒã 㧠Python ã䜿çšããå¯èœæ§ã«ã€ããŠèª¬æããŸãããã®èšäºã®äž»ãªçŠç¹ã¯ãæ©æ¢°åŠç¿ã¢ãã«ãäœæããã³å®è¡ããããã®èšèªãšã㊠Python ã䜿çšããããšã§ãã
æ©æ¢°åŠç¿ (ML) ã¯äººå·¥ç¥èœææ³ã®äžçš®ã§ããããã®ç¹åŸŽã¯ãåé¡ãçŽæ¥è§£æ±ºããã®ã§ã¯ãªããå€ãã®åæ§ã®åé¡ã解決ããéçšã§åŠç¿ããããšã§ãã
æ©æ¢°åŠç¿ã®ã¢ã«ãŽãªãºã ãšã¢ãã«ã¯ãããäžè¬çã«ãªãã€ã€ãããŸãã ããã«ã¯å€ãã®çç±ããããŸãããçµå±ã®ãšãããã¢ã¯ã»ã¹ãããããã·ã³ãã«ãããããŠå®çšçãªçµæã®éæã«åž°çããŸãã ã¯ã©ã¹ã¿ãªã³ã°ããããã¯ãã¥ãŒã©ã« ãããã¯ãŒã¯ ã¢ããªã³ã°ã¯æ°ãããã¯ãããžãŒã§ãã?
ãã¡ããããã§ã¯ãããŸããããçŸåšã§ã¯ãåäžã®ã¢ãã«ãå®è¡ããããã«äœåäžè¡ãã®ã³ãŒããèšè¿°ããå¿ èŠã¯ãªããªããã¢ãã«ã®äœæãšäœ¿çšã«ãããã³ã¹ãã¯ãŸããŸãäœããªãã€ã€ãããŸãã
ããŒã«ã¯é²åããŠããŸããå®å šã« GUI äžå¿ã® AI/ML ããŒã«ã¯ãããŸããããBI ãªã©ã®ä»ã®å€ãã®ã¯ã©ã¹ã®æ å ±ã·ã¹ãã ã§èŠãŠããé²æ©ã¯ (ã³ãŒãã®èšè¿°ãããã¬ãŒã ã¯ãŒã¯ã GUI äžå¿ã®æ§æå¯èœãªãœãªã¥ãŒã·ã§ã³ã®äœ¿çšãŸã§)ã AI/ML ãäœæããããŒã«ã§ã芳å¯ãããŸãã ç§ãã¡ã¯ãã§ã«ã³ãŒããæžã段éãéããŠãããçŸåšã¯ãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠã¢ãã«ãæ§ç¯ããã³ãã¬ãŒãã³ã°ããŠããŸãã
ãšã³ããŠãŒã¶ãŒãç¹å®ã®ããŒã¿ã§ã¢ãã«ã®ãã¬ãŒãã³ã°ãå®äºããã ãã§æžãäºåãã¬ãŒãã³ã°æžã¿ã¢ãã«ãé åžããæ©èœãªã©ããã®ä»ã®æ¹åç¹ã«ãããæ©æ¢°åŠç¿ãç°¡åã«éå§ã§ããããã«ãªããŸããã ãããã®é²æ©ã«ãããå°é家ãšäžè¬äŒæ¥ã®äž¡æ¹ã«ãšã£ãŠãæ©æ¢°åŠç¿ã®åŠç¿ãã¯ããã«ç°¡åã«ãªããŸããã
ãã®äžæ¹ã§ãç§ãã¡ã¯ãŸããŸãå€ãã®ããŒã¿ãåéããŠããŸãã InterSystems IRIS ã®ãããªçµ±åããŒã¿ ãã©ãããã©ãŒã ã䜿çšãããšãããããã¹ãŠã®æ å ±ãããã«æºåããŠãæ©æ¢°åŠç¿ã¢ãã«ãžã®å ¥åãšããŠäœ¿çšã§ããŸãã
ã¯ã©ãŠããžã®ç§»è¡ã«ãããAI/ML ãããžã§ã¯ãã®ç«ã¡äžãããããŸã§ããç°¡åã«ãªããŸããã ç§ãã¡ã¯å¿ èŠãªãªãœãŒã¹ã ããæ¶è²»ããããšãã§ããŸãã ããã«ãã¯ã©ãŠã ãã©ãããã©ãŒã ãæäŸãã䞊ååã®ãããã§ãè²»ããæéãç¯çŽã§ããŸãã
ããããçµæã¯ã©ãã§ããããïŒ ããã§äºæ ã¯ããã«è€éã«ãªããŸãã ã¢ãã«ãæ§ç¯ããããã®ããŒã«ã¯æ°å€ããããŸãããããã«ã€ããŠã¯æ¬¡ã«èª¬æããŸãã åªããã¢ãã«ãæ§ç¯ããã®ã¯ç°¡åã§ã¯ãããŸãããã次ã«äœãããã°ããã§ãããã? ããžãã¹ã¢ãã«ã䜿çšããŠå©çãäžããããšãç°¡åãªäœæ¥ã§ã¯ãããŸããã åé¡ã®æ ¹æ¬ã¯ãåæã¯ãŒã¯ããŒããšãã©ã³ã¶ã¯ã·ã§ã³ ã¯ãŒã¯ããŒããããã³ããŒã¿ ã¢ãã«ã®åé¢ã«ãããŸãã ã¢ãã«ããã¬ãŒãã³ã°ãããšãã¯ãéåžžãå±¥æŽããŒã¿ã«åºã¥ããŠãã¬ãŒãã³ã°ãè¡ããŸãã ãã ããæ§ç¯ãããã¢ãã«ã®åœ¹å²ã¯ãã©ã³ã¶ã¯ã·ã§ã³ ããŒã¿åŠçã«ãããŸãã æé©ãªäžæ£ååŒæ€åºã¢ãã«ã XNUMX æ¥ã« XNUMX åå®è¡ããå Žåãã©ã®ãããªå¹æãããã§ãããã? è©æ¬ºåž«ãã¡ã¯ãã£ãšåã«éãæã£ãŠç«ã¡å»ã£ãã å±¥æŽããŒã¿ã«åºã¥ããŠã¢ãã«ããã¬ãŒãã³ã°ããå¿ èŠããããŸãããããžãã¹ ããã»ã¹ãã¢ãã«ã«ãã£ãŠè¡ãããäºæž¬ã«åºã¥ããŠåäœã§ããããã«ãæ°ããåä¿¡ããŒã¿ã«ã¢ãã«ããªã¢ã«ã¿ã€ã ã§é©çšããå¿ èŠããããŸãã
ML ããŒã«ãããã¯ãã¢ãã«ãšãã©ã³ã¶ã¯ã·ã§ã³ç°å¢ãçµ±åããŠãæ§ç¯ãããã¢ãã«ãããžãã¹ ããã»ã¹ã§çŽæ¥ç°¡åã«äœ¿çšã§ããããã«ããããšãç®çãšããããŒã« ã»ããã§ãã Python Gateway 㯠ML Toolkit ã®äžéšã§ãããPython èšèªãšã®çµ±åãæäŸããŸã (ML Toolkit ã®äžéšã§ãã R Gateway ã R èšèªãšã®çµ±åãæäŸããã®ãšåæ§ã§ã)ã
ããŒã«ããã
å ã«é²ãåã«ãåŸã§äœ¿çšãã Python ããŒã«ãšã©ã€ãã©ãªã«ã€ããŠããã€ã説æããããšæããŸãã
æè¡
- Python ã¯ãã€ã³ã¿ãŒããªã¿åã®é«ã¬ãã«ã®æ±çšããã°ã©ãã³ã°èšèªã§ãã ãã®èšèªã®äž»ãªå©ç¹ã¯ãæ°åŠãMLãAI ã©ã€ãã©ãªã®å€§èŠæš¡ãªã©ã€ãã©ãªã§ããããšã§ãã ObjectScript ãšåæ§ã«ãããã¯ãªããžã§ã¯ãæåèšèªã§ããããã¹ãŠã¯éçã§ã¯ãªãåçã«å®çŸ©ãããŸãã ãŸãããã¹ãŠã¯ãªããžã§ã¯ãã§ãã 以éã®èšäºã¯ããã®èšèªã«ããçšåºŠæ
£ããŠããããšãåæãšããŠããŸãã åŠç¿ãå§ãããå Žåã¯ãããå§ããããšããå§ãããŸã
ããã¥ã¡ã³ããŒã·ã§ã³ . - åŸç¶ã®æŒç¿ã§ã¯ã次ã®ããã«èšå®ããŸãã
Python 3.6.7 64 ããã . - IDE: 䜿ã£ãŠããŸã
PyCharm ããããäžè¬çã«åœŒãã¯ÐŒÐœÐŸÐ³ÐŸ ã Atelier ã䜿çšããå Žåã¯ãPython éçºè åãã® Eclipse ãã©ã°ã€ã³ããããŸãã VS Code ã䜿çšããŠããå Žåã¯ãPython çšã®æ¡åŒµæ©èœããããŸãã - ããŒãããã¯: IDE ã®ä»£ããã«ããªã³ã©ã€ã³ ããŒãããã¯ã§ã¹ã¯ãªãããäœæããŠå
±æã§ããŸãã ãã®äžã§æã人æ°ã®ããã®ã¯ã
ãžã¥ãã¿ãŒ .
ã©ã€ãã©ãª
以äžã¯æ©æ¢°åŠç¿ã©ã€ãã©ãªã® (ãã¹ãŠã§ã¯ãªã) ãªã¹ãã§ãã
ãã³ã·ãŒ â æ£ç¢ºãªèšç®ã®ããã®åºæ¬çãªããã±ãŒãžããã³ã â é«æ§èœã®ããŒã¿æ§é ãšããŒã¿åæããŒã«ãmatplotlib â ã°ã©ãã®äœæãã·ãŒããŒã³ â matplotlib ã«åºã¥ãããŒã¿ã®èŠèŠåãã¹ã¯ã©ãŒã³ â æ©æ¢°åŠç¿ææ³ãXGããŒã¹ã â åŸé ããŒã¹ãã£ã³ã°ææ³ã®æ çµã¿å ã®æ©æ¢°åŠç¿ã¢ã«ãŽãªãºã ãã²ã³ã·ã â NLPãã±ã©ã¹ - ãã¥ãŒã©ã«ãããã¯ãŒã¯ããã³ãœã«ãã㌠â æ©æ¢°åŠç¿ã¢ãã«ãäœæããããã®ãã©ãããã©ãŒã ããã€ããŒã ã¯ãPython ãäžå¿ãšããæ©æ¢°åŠç¿ã¢ãã«ãäœæããããã®ãã©ãããã©ãŒã ã§ããnyoka - ããŸããŸãªã¢ãã«ã® PMMLã
AI/ML ãã¯ãããžãŒã«ãããããžãã¹ãããå¹ççã«ãªããé©å¿å¯èœã«ãªããŸãã ããã«ãä»æ¥ã§ã¯ããããã®ãã¯ãããžãŒã®éçºãšå®è£ ã容æã«ãªã£ãŠããŠããŸãã AI/ML ãã¯ãããžãŒãšããããçµç¹ã®æé·ã«ã©ã®ããã«åœ¹ç«ã€ãã«ã€ããŠåŠã³å§ããŸãããã
ã€ã³ã¹ããŒã«
Python Gateway ãã€ã³ã¹ããŒã«ããŠäœ¿çšããã«ã¯ãããã€ãã®æ¹æ³ããããŸãã
- ÐС
- Windows
- Linux
- Mac
- ããã«ãŒ
- DockerHub ã®ã€ã¡ãŒãžã䜿çšãã
- ç¬èªã®å€èŠ³ãäœæããŸã
ã€ã³ã¹ããŒã«æ¹æ³ã«é¢ä¿ãªãããœãŒã¹ã³ãŒããå¿
èŠã«ãªããŸãã ã³ãŒããããŠã³ããŒãã§ããå¯äžã®å Žæã¯ã
ÐС
Python Gateway ããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«ã€ã³ã¹ããŒã«ããå Žåã¯ã(ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«é¢ä¿ãªã) ãŸã Python ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã ãã®ããã«ïŒ
Python 3.6.7 64 ããããã€ã³ã¹ããŒã«ãã ã Python ã¯ããã©ã«ãã®ãã£ã¬ã¯ããªã«ã€ã³ã¹ããŒã«ããããšããå§ãããŸãã- ã¢ãžã¥ãŒã«ãã€ã³ã¹ããŒã«ãã
dill
:pip install dill
. - ObjectScript ã³ãŒããããŠã³ããŒãããŸã (ã€ãŸãã
do $system.OBJ.ImportDir("C:InterSystemsReposPythoniscpy", "*.cls", "c",,1)
ïŒè£œåã®ãããããããšãªã¢ã«ã æ¢åã®ãšãªã¢ã§è£œåããµããŒããããå Žåã¯ã次ãå®è¡ããŸããwrite ##class(%EnsembleMgr).EnableNamespace($Namespace, 1)
. - å Žæ
ã³ãŒã«ã¢ãŠã DLL/SO/DYLIB ãã©ã«ãã«bin
InterSystems IRIS ã€ã³ã¹ã¿ã³ã¹ã ã©ã€ãã©ãª ãã¡ã€ã«ã¯è¿ããããã¹ã§äœ¿çšã§ããå¿ èŠããããŸãwrite ##class(isc.py.Callout).GetLib()
.
Windows
- ç°å¢å€æ°ã確èªããŠãã ãã
PYTHONHOME
Python 3.6.7 ãæããŸãã - ã·ã¹ãã ç°å¢å€æ°ã次ã§ããããšã確èªããŠãã ããã
PATH
å€æ°ãå«ãŸããŠããŸãPYTHONHOME
(ãŸãã¯ãããæããã£ã¬ã¯ããª)ã
Linux (Debian/Ubuntu)
- ç°å¢å€æ°ã次ã§ããããšã確èªããŸãã
PATH
å«ãŸããŠããŸã/usr/lib
О/usr/lib/x86_64-linux-gnu
ã ãã¡ã€ã«ã䜿çšãã/etc/environment
ç°å¢å€æ°ãèšå®ããŸãã - ãšã©ãŒã®å Žå
undefined symbol: _Py_TrueStruct
èšå®ãããPythonLib
ã ãŸãReadmeãã¡ã€ã« ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã»ã¯ã·ã§ã³ããããŸãã
Mac
- çŸåšãPython 3.6.7 ã®ã¿ããµããŒããããŠããŸã
Python.org ã å€æ°ã確èªããŠãã ããPATH
.
ç°å¢å€æ°ãå€æŽããå Žåã¯ãã€ã³ã¿ãŒã·ã¹ãã ãºè£œåãåèµ·åããŸãã
ããã«ãŒ
ã³ã³ãããŒã䜿çšãããšã次ã®ãããªå€ãã®å©ç¹ããããŸãã
- 移æ€æ§
- æå¹æ§
- æç±
- 軜ã
- äžå€æ§
ããããã§ãã¯ããŠãã ãã
çŸåšããã¹ãŠã® Python Gateway ãã«ãã¯ã³ã³ããããŒã¹ã§ã 2019.4
.
æºåå®äºã€ã¡ãŒãž
èµ°ãïŒ docker run -d -p 52773:52773 --name irispy intersystemscommunity/irispy-community:latest
InterSystems IRIS Community Edition 㧠Python Gateway ãããŠã³ããŒãããŠå®è¡ããŸãã ããã ãã§ãã
ç¬èªã®å€èŠ³ãäœæããŸã
Docker ã€ã¡ãŒãžãæ§ç¯ããã«ã¯ããªããžããªã®ã«ãŒãã§å®è¡ããŸãã docker build --force-rm --tag intersystemscommunity/irispy:latest .
.
ããã©ã«ãã§ã¯ãã€ã¡ãŒãžã¯ã€ã¡ãŒãžã«åºã¥ããŠæ§ç¯ãããŸãã store/intersystems/iris-community:2019.4.0.383.0
ãã ããå€æ°ãèšå®ããããšã§ãããå€æŽã§ããŸã IMAGE
.
InterSystems IRIS ãããã«ãããã«ã¯ããdocker build --build-arg IMAGE=store/intersystems/iris:2019.4.0.383.0 --force-rm --tag intersystemscommunity/irispy:latestããå®è¡ããŸãã
ãã®åŸãdocker ã€ã¡ãŒãžãå®è¡ã§ããŸãã
docker run -d
-p 52773:52773
-v /<HOST-DIR-WITH-iris.key>/:/mount
--name irispy
intersystemscommunity/irispy:latest
--key /mount/iris.key
InterSystems IRIS Community Edition ã«åºã¥ãã€ã¡ãŒãžã䜿çšããŠããå Žåã¯ãããŒãçç¥ã§ããŸãã
泚é
- ãã¹ãããã»ã¹
isc.py.test.Process
å€æ°ã®ç»åãäžæãã£ã¬ã¯ããªã«ä¿åããŸãã ãã®ãã¹ãããŠã³ãããããã£ã¬ã¯ããªã«å€æŽããããšãã§ããŸãã ãããè¡ãã«ã¯ãèšå®ãç·šéããŸãWorkingDir
ããŠã³ãããããã£ã¬ã¯ããªãæå®ããŸãã - ã¿ãŒããã«ã«ã¢ã¯ã»ã¹ããã«ã¯ã次ã®ã³ãã³ããå®è¡ããŸãã
docker exec -it irispy sh
. - ãã°ã€ã³ã«ããã·ã¹ãã 管çããŒã¿ã«ãžã®ã¢ã¯ã»ã¹
SuperUser
/SYS
. - ã³ã³ãããåæ¢ããã«ã¯ã次ãå®è¡ããŸãã
docker stop irispy && docker rm --force irispy
.
ã€ã³ã¹ããŒã«ã®ç¢ºèª
Python Gateway ãã€ã³ã¹ããŒã«ãããããããåäœããŠããããšã確èªããŠãã ããã InterSystems IRIS ã¿ãŒããã«ã§æ¬¡ã®ã³ãŒããå®è¡ããŸãã
set sc = ##class(isc.py.Callout).Setup()
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).
write var
çµæã¯æ¬¡ã®ããã«ãªããŸãã HELLO
â Python å€æ°ã®å€ x
ã è¿åã¹ããŒã¿ã¹ã®å Žå sc
ãšã©ãŒã§ãããã var
空ã§ãããã§ãã¯ããŠãã ãã
API
Python Gateway ãã€ã³ã¹ããŒã«ãããåäœããããšã確èªãããŸããã ããã䜿ãå§ããæãæ¥ãŸããïŒ
Python ãžã®äž»ãªã€ã³ã¿ãŒãã§ã€ã¹ã¯æ¬¡ã®ãšããã§ãã isc.py.Main
ã 以äžã®ã¡ãœããã®ã°ã«ãŒããæäŸããŸã (ãã¹ãŠã®ã¡ãœãããè¿ãããŸã) %Status
):
- ã³ãŒãã®å®è¡
- ããŒã¿è»¢é
- è£å©çãª
ã³ãŒãã®å®è¡
ãããã®ã¡ãœããã䜿çšãããšãä»»æã® Python ã³ãŒããå®è¡ã§ããŸãã
åçŽãªæåå
SimpleString
- ãããäž»ãªæ¹æ³ã§ãã 4 ã€ã®ãªãã·ã§ã³ã®åŒæ°ãåããŸãã
code
â å®è¡ããã³ãŒãè¡ã æ¹è¡æå:$c(10)
.returnVariable
â è¿ãå€æ°ã®ååãserialization
- ã·ãªã¢ã«åããæ¹æ³returnVariable
ã 0 â æåå (ããã©ã«ã)ã1 â åçŸãresult
â ByRef å€ãæžã蟌ãŸããå€æ°ãžã®åç §returnVariable
.
äžèšã§ã¯æ¬¡ã®ããã«ããŸããã
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).
ãã®äŸã§ã¯ãPython å€æ°ã«ä»£å
¥ããŸãã x
зМаÑеМОе Hello
Python å€æ°ã®å€ãè¿ããã x
ObjectScript å€æ°ãž var
.
ã³ãŒãã®å®è¡
ExecuteCode ã¯ãããå®å
šã§å¶éã®å°ãªã代æ¿æ段ã§ã SimpleString
.
InterSystems IRIS ãã©ãããã©ãŒã ã®è¡æ°ã¯ 3 æåã«å¶éãããŠãããããããé·ãã³ãŒããå®è¡ããå Žåã¯ã¹ã¬ããã䜿çšããå¿
èŠããããŸãã
次㮠XNUMX ã€ã®åŒæ°ãåãå
¥ããããŸãã
code
â å®è¡ããã Python ã³ãŒãã®è¡ãŸãã¯ã¹ããªãŒã ãvariable
â (ãªãã·ã§ã³) å®è¡çµæãå²ãåœãŠãŸããcode
ãã® Python å€æ°ã
䜿çšäŸ:
set sc = ##class(isc.py.Main).ExecuteCode("2*3", "y").
ãã®äŸã§ã¯ã2 ãš 3 ãä¹ç®ããçµæã Python å€æ°ã«æžã蟌ã¿ãŸãã y
.
ããŒã¿è»¢é
Python ãšã®éã§ããŒã¿ãåãæž¡ããŸãã
Python -> ã€ã³ã¿ãŒã·ã¹ãã 㺠IRIS
InterSystems IRIS 㧠Python å€æ°ã®å€ãååŸããã«ã¯ãå¿ èŠãªã·ãªã¢ã«åã«å¿ã㊠4 ã€ã®æ¹æ³ããããŸãã
String
åçŽãªããŒã¿åãšãããã°çšãRepr
åçŽãªãªããžã§ã¯ãã®ä¿åãšãããã°ã«äœ¿çšãããŸããJSON
InterSystems IRIS åŽã§ã®ããŒã¿æäœã容æã«ããŸããPickle
ãªããžã§ã¯ããä¿åããŸãã
ãããã®ã¡ãœããã䜿çšãããšãPython ããå€æ°ãæååãŸãã¯ã¹ããªãŒã ãšããŠååŸã§ããŸãã
GetVariable(variable, serialization, .stream, useString)
- åŸãserialization
å€æ°variable
вstream
ã ããuseString
ã 1 ã§ãã·ãªã¢ã«åãæååã«é 眮ããããšãã¹ããªãŒã ã§ã¯ãªãæååãè¿ãããŸããGetVariableJson(variable, .stream, useString)
â å€æ°ã® JSON ã·ãªã¢ã«åãååŸããŸããGetVariablePickle(variable, .stream, useString, useDill)
-get å€æ°ã® Pickle (ãŸã㯠Dill) ã·ãªã¢ã«åã
å€æ°ãååŸããŠã¿ãŸããã y
.
set sc = ##class(isc.py.Main).GetVariable("y", , .val, 1)
write val
>6
ã€ã³ã¿ãŒã·ã¹ãã 㺠IRIS -> Python
InterSystems IRIS ãã Python ã«ããŒã¿ãããŒãããŸãã
ExecuteQuery(query, variable, type, namespace)
- ããŒã¿ã»ãããäœæããŸã (ãã³ãdataframe
ãŸãã¯list
) SQL ã¯ãšãªããååŸããããã Python å€æ°ã«èšå®ããŸãvariable
ã ãããŒã«è¢isc.py
ãã®å°åã§å©çšã§ããå¿ èŠããããŸãnamespace
â ãªã¯ãšã¹ãã¯ããã§å®è¡ãããŸããExecuteGlobal(global, variable, type, start, end, mask, labels, namespace)
- ã°ããŒãã«ããŒã¿ãããŒãããŸãglobal
äžä»ãæåããstart
ЎПend
Python ã§ã¯åå€æ°ãšããŠtype
:list
ããŸãã¯ãã³ãdataframe
ã ãªãã·ã§ã³ã®åŒæ°ã®èª¬æmask
&labels
ã¯ã©ã¹ã®ããã¥ã¡ã³ããšãªããžããªã§å©çšå¯èœããŒã¿è»¢éã«é¢ããããã¥ã¡ã³ã .ExecuteClass(class, variable, type, start, end, properties, namespace)
- ã¯ã©ã¹ããŒã¿ãããŒãããŸãclass
IDããstart
ЎПend
Python ã§ã¯åå€æ°ãšããŠtype
:list
ããŸãã¯ãã³ãdataframe
.properties
â ããŒã¿ã»ããã«ããŒãããå¿ èŠãããã¯ã©ã¹ããããã£ã®ãªã¹ã (ã«ã³ãã§åºåãããŠããŸã)ã ãã¹ã¯ã®ãµããŒã*
О?
ã ããã©ã«ã -*
(ãã¹ãŠã®ããããã£)ã 財ç£%%CLASSNAME
ç¡èŠãããŸãããExecuteTable(table, variable, type, start, end, properties, namespace)
- ããŒãã«ããŒã¿ãããŒãããŸãtable
IDããstart
ЎПend
Pythonã§ã
ExecuteQuery
â ãŠãããŒãµã« (æ£ãã SQL ã¯ãšãªã Python ã«æž¡ãããŸã)ã ãããã ExecuteGlobal
ãšãã®ã©ãã㌠ExecuteClass
О ExecuteTable
å€ãã®å¶éãããäžã§äœæ¥ããŸãã éåžžã«é«éã§ã (ODBC ãã©ã€ããŒãã 3 ïœ 5 åã20 åé«éã§ã) ExecuteQuery
ïŒã 詳现ã«ã€ããŠã¯ã
ãããã®æ¹æ³ã¯ãã¹ãŠããããããšãªã¢ããã®ããŒã¿è»¢éããµããŒãããŸãã ãããŒã«è¢ isc.py
察象ãšãªã¢ã§å©çšå¯èœã§ããå¿
èŠããããŸãã
ã¯ãšãªã®å®è¡
ExecuteQuery(request, variable, type, namespace)
â æ£ãã SQL ã¯ãšãªã®çµæã Python ã«è»¢éããŸãã ããã¯æãé
ãããŒã¿è»¢éæ¹æ³ã§ãã 以äžã®å Žåã«äœ¿çšããŠãã ãã ExecuteGlobal
ãããŠãã®ã©ãããŒã¯å©çšã§ããŸããã
åŒæ°ïŒ
query
- SQLã¯ãšãªãvariable
â ããŒã¿ãæžã蟌ãŸãã Python å€æ°ã®ååãtype
-list
ãŸãã¯ãã³ãdataframe
.namespace
â ãªã¯ãšã¹ããå®è¡ãããé åã
å®è¡ã°ããŒãã«
ExecuteGlobal(global, variable, type, start, end, mask, labelels, namespace)
- Python ã§ã°ããŒãã«ãæž¡ãã
åŒæ°ïŒ
global
- ã°ããŒãã«åãªã^
variable
â ããŒã¿ãæžã蟌ãŸãã Python å€æ°ã®ååãtype
-list
ãŸãã¯ãã³ãdataframe
.start
â ã°ããŒãã«ã®æåã®æ·»åã å¿ ç¶çã«%Integer
.end
â ã°ããŒãã«ã®æåŸã®æ·»åã å¿ ç¶çã«%Integer
.mask
â ã°ããŒãã«å€ãã¹ã¯ã ãã¹ã¯ã¯ã°ããŒãã«å ã®ãã£ãŒã«ãã®æ°ãããçãããããšãã§ããŸã (ãã®å ŽåãæåŸã®ãã£ãŒã«ãã¯ã¹ããããããŸã)ã ãã¹ã¯ããã©ãŒãããããæ¹æ³:+
å€ããã®ãŸãŸæž¡ããŸãã-
ã¹ãããå€ãb
â ããŒã«å (0
-False
ãæ®ãã¯ãã¹ãŠ -True
).d
â æ¥ä» ($horolog ãããWindows ã§ã¯ 1970 幎ãããLinux ã§ã¯ 1900 幎ãã)ãt
â æé ($horologãåå XNUMX æããã®ç§æ°)ãm
â ã¿ã€ã ã¹ã¿ã³ã (圢åŒæåå YEAR-MONTH-DAY HOUR:MINUTE:SECOND)ã
labels
â %ååã®ãªã¹ãã æåã®èŠçŽ ã¯æ·»ãåã®ååã§ããnamespace
â ãªã¯ãšã¹ããå®è¡ãããé åã
å®è¡ã¯ã©ã¹
ã©ãããªãŒã㌠ExecuteGlobal
ã ã¯ã©ã¹å®çŸ©ã«åºã¥ããŠåŒã³åºããæºåããŸã ExecuteGlobal
ãããŠåœŒã«é»è©±ããŸãã
ExecuteClass(class, variable, type, start, end, properties, namespace)
- Python ã§ã¯ã©ã¹ ããŒã¿ãæž¡ããŸãã
åŒæ°ïŒ
class
- ã¯ã©ã¹åvariable
â ããŒã¿ãæžã蟌ãŸãã Python å€æ°ã®ååãtype
-list
ãŸãã¯ãã³ãdataframe
.start
â éå§IDãend
â æçµIDproperties
â ããŒã¿ã»ããã«ããŒãããå¿ èŠãããã¯ã©ã¹ããããã£ã®ãªã¹ã (ã«ã³ãã§åºåãããŠããŸã)ã ãã¹ã¯ã®ãµããŒã*
О?
ã ããã©ã«ã -*
(ãã¹ãŠã®ããããã£)ã 財ç£%%CLASSNAME
ç¡èŠãããŸãããnamespace
â ãªã¯ãšã¹ããå®è¡ãããé åã
åããããã£ãé€ããã¹ãŠã®ããããã£ã¯ãã®ãŸãŸæž¡ãããŸãã %Date
, %Time
, %Boolean
О %TimeStamp
- 察å¿ãã Python ã¯ã©ã¹ã«å€æãããŸãã
å®è¡ããŒãã«
ã©ãããªãŒã㌠ExecuteClass
ã ããŒãã«åãã¯ã©ã¹åã«å€æããŠåŒã³åºããŸãã ExecuteClass
ã ãµã€ã³ïŒ
ExecuteTable(table, variable, type, start, end, properties, namespace)
- ããŒãã« ããŒã¿ã Python ã«æž¡ããŸãã
åŒæ°ïŒ
table
â ããŒãã«åã
ä»ã®ãã¹ãŠã®åŒæ°ã¯ãã®ãŸãŸæž¡ãããŸããExecuteClass
.
ããŒã
ExecuteGlobal
,ExecuteClass
ОExecuteTable
åæ§ã«éãäœæ¥ããŸããExecuteGlobal
ããã 20 åé«éExecuteQuery
倧èŠæš¡ãªããŒã¿ ã»ããã®å Žå (転éæé >0.01 ç§)ãExecuteGlobal
,ExecuteClass
ОExecuteTable
次ã®æ§é ã§ã°ããŒãã«ãæäœããŸãã^global(key) = $lb(prop1, prop2, ..., propN)
ã©ãkey
â æŽæ°ã- ã®ããã«
ExecuteGlobal
,ExecuteClass
ОExecuteTable
ãµããŒããããå€ã®ç¯å²%Date
ç¯å²ã«å¯Ÿå¿ããmktime
OSã«ãã£ãŠç°ãªããŸãïŒãŠã£ã³ããŠãº ïŒ1970-01-01ãlinuxã® 1900-01-01ãMAC ïŒã 䜿çš%TimeStamp
ãã®ç¯å²å€ã«ããŒã¿ã転éãããããã³ãã®ããŒã¿ãã¬ãŒã ã䜿çšããã«ã¯ã ããã¯ãªã¹ãã®ã¿ã®å¶éã§ãã - ã®ããã«
ExecuteGlobal
,ExecuteClass
ОExecuteTable
ããŒã¿ ãœãŒã¹ (ã°ããŒãã«ãã¯ã©ã¹ããŸãã¯ããŒãã«) ãšå€æ°ãé€ããã¹ãŠã®åŒæ°ã¯ãªãã·ã§ã³ã§ãã
äŸ
ãã¹ãã¯ã©ã¹
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)
ã¡ãœãããåŒã³åºã do ##class(isc.py.test.Person).Test()
ãã¹ãŠã®ããŒã¿è»¢éæ¹æ³ãã©ã®ããã«æ©èœãããã確èªããŸãã
ãã«ããŒã¡ãœãã
GetVariableInfo(variable, serialization, .defined, .type, .length)
â å€æ°ã«é¢ããæ å ±ãååŸããŸããå€æ°ãå®çŸ©ãããŠãããã©ãããã¯ã©ã¹ããã³ã·ãªã¢ã«åã®é·ãã§ããGetVariableDefined(variable, .defined)
â å€æ°ãå®çŸ©ãããŠãããã©ãããGetVariableType(variable, .type)
â å€æ°ã®ã¯ã©ã¹ãååŸããŸããGetStatus()
- Python åŽã§æåŸã®äŸå€ãååŸããŠåé€ããŸããGetModuleInfo(module, .imported, .alias)
â ã¢ãžã¥ãŒã«å€æ°ãšã€ã³ããŒãã¹ããŒã¿ã¹ãååŸããŸããGetFunctionInfo(function, .defined, .type, .docs, .signature, .arguments)
â é¢æ°ã«é¢ããæ å ±ãååŸããŸãã
çžäºéçšæ§
ã¿ãŒããã«ãã Python Gateway ãåŒã³åºãæ¹æ³ãåŠç¿ããŸãããä»åºŠã¯å®çšŒåç°å¢ã§ Python Gateway ã䜿çšããŠã¿ãŸãããã ãã®ã¢ãŒã㧠Python ãæäœããããã®åºç€ã¯æ¬¡ã®ãšããã§ãã isc.py.ens.Operation
ã ããã«ãã次ã®ããšãå¯èœã«ãªããŸãã
- Pythonã§ã³ãŒããå®è¡ãã
- Python ã³ã³ããã¹ãã®ä¿å/埩å
- Python ããããŒã¿ãããŒãããã³åä¿¡ãã
åºæ¬çã«ãPython æäœã¯ã©ãããŒã§ãã isc.py.Main
ã æè¡ isc.py.ens.Operation
InterSystems IRIS 補åãã Python ããã»ã¹ãšå¯Ÿè©±ããæ©èœãæäŸããŸãã 次㮠XNUMX ã€ã®ã¯ãšãªããµããŒããããŠããŸãã
isc.py.msg.ExecutionRequest
Python ã³ãŒããå®è¡ããŸãã æ»ãå€isc.py.msg.ExecutionResponse
å®è¡çµæãšãªã¯ãšã¹ããããå€æ°ã®å€ãisc.py.msg.StreamExecutionRequest
Python ã³ãŒããå®è¡ããŸãã æ»ãå€isc.py.msg.StreamExecutionResponse
å®è¡çµæãšèŠæ±ãããå€æ°ã®å€ã ã¢ããã°isc.py.msg.ExecutionRequest
ã§ãããæååã®ä»£ããã«ã¹ããªãŒã ãåãå ¥ããŠè¿ããŸããisc.py.msg.QueryRequest
SQLã¯ãšãªã®å®è¡çµæãéä¿¡ããŸãã æ»ãå€Ens.Response
.isc.py.msg.GlobalRequest
/isc.py.msg.ClassRequest
/isc.py.msg.TableRequest
ã°ããŒãã«/ã¯ã©ã¹/ããŒãã« ããŒã¿ãæž¡ãããã æ»ãå€Ens.Response
.isc.py.msg.SaveRequest
Python ã³ã³ããã¹ããä¿åããŸãã æ»ãå€Ens.StringResponse
ã³ã³ããã¹ãIDä»ãã-
isc.py.msg.RestoreRequest
Python ã³ã³ããã¹ãã埩å ããŸããå ããŠã
isc.py.ens.Operation
XNUMX ã€ã®èšå®ããããŸã:Initializer
â ã€ã³ã¿ãŒãã§ãŒã¹ãå®è£ ããã¯ã©ã¹ã®éžæisc.py.init.Abstract
ã é¢æ°ãã¢ãžã¥ãŒã«ãã¯ã©ã¹ãªã©ãããŒãããããã«äœ¿çšã§ããŸãã ããã»ã¹éå§æã«äžåºŠå®è¡ãããŸããPythonLib
- (Linux ã®ã¿) ããŒãæã«ãšã©ãŒã衚瀺ãããå Žåã¯ããã®å€ã次ã®ããã«èšå®ããŸããlibpython3.6m.so
ãŸã㯠Python ã©ã€ãã©ãªãžã®ãã«ãã¹ã§ãã
ããžãã¹ããã»ã¹ã®äœæ
ããžãã¹ ããã»ã¹ã®éçºã容æã«ãã XNUMX ã€ã®ã¯ã©ã¹ãå©çšå¯èœã§ãã
isc.py.ens.ProcessUtils
å€æ°çœ®æã䜿çšããŠã¢ã¯ãã£ããã£ããã¢ãããŒã·ã§ã³ãæœåºã§ããŸããisc.py.util.BPEmulator
Python ã䜿çšããŠããžãã¹ ããã»ã¹ãç°¡åã«ãã¹ãã§ããŸãã çŸåšã®ããã»ã¹å ã§ããžãã¹ããã»ã¹ïŒPythonéšåïŒãå®è¡ã§ããŸãã
å€æ°ã®çœ®æ
ãã¹ãŠã®ããžãã¹ ããã»ã¹ã¯æ¬¡ããç¶æ¿ãããŸãã isc.py.ens.ProcessUtils
ãã¡ãœããã䜿çšã§ããŸã GetAnnotation(name)
ã¢ã¯ãã£ããã£ã®ã¢ãããŒã·ã§ã³å€ãååã§ååŸããŸãã ã¢ã¯ãã£ãã㣠ã¢ãããŒã·ã§ã³ã«ã¯ãPython ã«æž¡ãããåã« InterSystems IRIS åŽã§èšç®ãããå€æ°ãå«ããããšãã§ããŸãã å€æ°çœ®æã®æ§æã¯æ¬¡ã®ãšããã§ãã
${class:method:arg1:...:argN}
- ã¡ãœããåŒã³åºã#{expr}
â ObjectScript èšèªã§ã³ãŒããå®è¡ããŸãã
ãµã³ãã«ã¯ãã¹ã ããžãã¹ ããã»ã¹ã§å©çšå¯èœã§ã isc.py.test.Process
ããšãã°ãã¢ã¯ãã£ããã£ã«ãã㊠Correlation Matrix: Graph
: f.savefig(r'#{process.WorkDirectory}SHOWCASE${%PopulateUtils:Integer:1:100}.png')
ã ãã®äŸã§ã¯:
#{process.WorkDirectory}
ãªããžã§ã¯ãã® WorkDirectory ããããã£ãè¿ããŸããprocess
ãã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã§ãisc.py.test.Process
ãããã®ã çŸåšã®ããžãã¹ããã»ã¹ã${%PopulateUtils:Integer:1:100}
ã¡ãœãããåŒã³åºãInteger
ã¯ã©ã¹%PopulateUtils
ãåŒæ°ãæž¡ã1
О100
ãç¯å²å ã®ã©ã³ãã ãªæŽæ°ãè¿ããŸã1...100
.
ããžãã¹ããã»ã¹ããã¹ããã
ãã¹ã補åãšãã¹ã ããžãã¹ ããã»ã¹ã¯ãPython ã²ãŒããŠã§ã€ã®äžéšãšããŠããã©ã«ãã§å©çšå¯èœã§ãã ãããã䜿çšããã«ã¯:
- OS ã¿ãŒããã«ã§æ¬¡ãå®è¡ããŸãã
pip install pandas matplotlib seaborn
. - InterSystems IRIS ã¿ãŒããã«ã§ã次ãå®è¡ããŸãã
do ##class(isc.py.test.CannibalizationData).Import()
ãã¹ãããŒã¿ãå ¥åããŸãã - 補åãçºå£²ãã
isc.py.test.Production
. - éä¿¡ãªã¯ãšã¹ãã¿ã€ã
Ens.Request
вisc.py.test.Process
.
ãã¹ãŠãã©ã®ããã«é£æºããŠæ©èœããããèŠãŠã¿ãŸãããã éãã isc.py.test.Process
BPL ãšãã£ã¿ãŒã§:
ã³ãŒãã®å®è¡
æãéèŠãªèª²é¡ã¯ãPython ã³ãŒããå®è¡ããããšã§ãã
䜿çšãããã¯ãšãª isc.py.msg.ExecutionRequest
ããã®ããããã£ã¯æ¬¡ã®ãšããã§ãã
Code
â Python ã³ãŒããSeparateLines
- å®è¡ã®ããã«ã³ãŒããè¡ã«åå²ãããã©ããã$c(10)
(n
) ã¯æååãåºåãããã«äœ¿çšãããŸãã ã¡ãã»ãŒãžå šäœãäžåºŠã«åŠçããããšã¯ãå§ãã§ããŸããããã®æ©èœã¯åŠçã®ã¿ãç®çãšããŠããŸããdef
ããã³åæ§ã®è€æ°è¡ã®åŒã ããã©ã«ã0
.Variables
â å¿çã«è¿œå ãããå€æ°ã®ã«ã³ãåºåãã®ãªã¹ããSerialization
â è¿ãããå€æ°ãã·ãªã¢ã«åããæ¹æ³ã ãªãã·ã§ã³:Str
,Repr
,JSON
,Pickle
ОDill
ã ããã©ã«ãStr
.
ç§ãã¡ã®å Žåãããããã£ãèšå®ããã ãã§ã Code
ãããã£ãŠãä»ã®ãã¹ãŠã®ããããã£ã¯ããã©ã«ãå€ã䜿çšããŸãã åŒã³åºããŠèšå®ããŸã process.GetAnnotation("Import pandas")
ãå®è¡æã«å€æ°çœ®æãå®è¡ãããåŸã«ã¢ãããŒã·ã§ã³ãè¿ããŸãã çµå±ã®ãšãããã³ãŒã㯠import pandas as pd
Pythonã«æž¡ãããŸãã GetAnnotation
è€æ°è¡ã® Python ã¹ã¯ãªãããååŸããå Žåã«äŸ¿å©ã§ãããã³ãŒããååŸãããã®æ¹æ³ã«ã¯å¶éããããŸããã ããããã£ãèšå®ã§ããŸã Code
ããªãã«ãšã£ãŠéœåã®è¯ãæ¹æ³ã§ã
å€æ°ã®ååŸ
ã䜿çšãããã XNUMX ã€ã®èå³æ·±ãèª²é¡ isc.py.msg.ExecutionRequest
- Correlation Matrix: Tabular
:
PythonåŽã§çžé¢è¡åãèšç®ããå€æ°ãæœåºããŸãã corrmat
ãªã¯ãšã¹ãã®ããããã£ãèšå®ããŠãJSON 圢åŒã§ InterSystems IRIS ã«æ»ããŸãã
Variables
:"corrmat"
Serialization
:"JSON"
çµæ㯠Visual Trace ã§ç¢ºèªã§ããŸãã
BP ã§ãã®å€ãå¿
èŠãªå Žåã¯ã次ã®ããã«ååŸã§ããŸãã callresponse.Variables.GetAt("corrmat")
.
ããŒã¿è»¢é
次ã«ãInterSystems IRIS ãã Python ãžã®ããŒã¿è»¢éã«ã€ããŠèª¬æããŸããããŒã¿è»¢éã®ãã¹ãŠã®ãªã¯ãšã¹ãã¯ã€ã³ã¿ãŒãã§ã€ã¹ãå®è£
ããŸãã isc.py.msg.DataRequest
ããã¯æ¬¡ã®ããããã£ãæäŸããŸãã
Variable
â ããŒã¿ãæžã蟌ãŸãã Python å€æ°ãType
â å€æ°ã®å:dataframe
(ãã³ãããŒã¿ãã¬ãŒã ) ãŸãã¯list
.Namespace
â ããŒã¿ãåä¿¡ããé åã ãããŒã«è¢isc.py
ãã®ãšãªã¢ã§å©çšã§ããã¯ãã§ãã ããã¯è£œåãµããŒãã®ãªãé åã§ããå¯èœæ§ããããŸãã
ãã®ã€ã³ã¿ãŒãã§ã€ã¹ã«åºã¥ããŠã4 ã€ã®ã¯ã©ã¹ã®ãªã¯ãšã¹ããå®è£ ãããŸãã
isc.py.msg.QueryRequest
- ããããã£ãèšå®ããŸãQuery
SQL ã¯ãšãªãéä¿¡ããŸããisc.py.msg.ClassRequest
- ããããã£ãèšå®ããŸãClass
ã¯ã©ã¹ããŒã¿ãæž¡ãããã«ãisc.py.msg.TableRequest
- ããããã£ãèšå®ããTable
ããŒãã«ããŒã¿ã転éããŸããisc.py.msg.GlobalRequest
- ããããã£ãèšå®ããGlobal
ã°ããŒãã«ããŒã¿è»¢éçšã
ãã¹ãããã»ã¹ã§ã¢ã¯ãã£ããã£ã確èªããŸã RAW
ã©ã isc.py.msg.QueryRequest
ã¢ã¯ã·ã§ã³ã§ç€ºãããŠããŸãã
Python ã³ã³ããã¹ãã®ä¿å/埩å
æåŸã«ãPython ã³ã³ããã¹ãã InterSystems IRIS ã«ä¿åã§ããŸãããããè¡ãã«ã¯ã isc.py.msg.SaveRequest
åŒæ°ä»ã:
Mask
â ãã¹ã¯ã«äžèŽããå€æ°ã®ã¿ãä¿åãããŸãã ãµããŒããããŠããŸã*
О?
ã äŸïŒ"Data*, Figure?"
ã ããã©ã«ã*
.MaxLength
â æ ŒçŽãããå€æ°ã®æ倧é·ã å€æ°ã®ã·ãªã¢ã«åãé·ãå Žåã¯ç¡èŠãããŸãã ä»»æã®é·ãã®å€æ°ãååŸããã«ã¯ã0 ã«èšå®ããŸãã ããã©ã«ã$$$MaxStringLength
.Name
â ã³ã³ããã¹ãå (ãªãã·ã§ã³)ãDescription
â ã³ã³ããã¹ãã®èª¬æ (ãªãã·ã§ã³)ã
æ»ãå€ Ens.StringResponse
Ñ Id
ä¿åãããã³ã³ããã¹ãã ãã¹ãããã»ã¹ã§ã¢ã¯ãã£ããã£ã確èªããŸã Save Context
.
é¢é£ãªã¯ãšã¹ã isc.py.msg.RestoreRequest
InterSystems IRIS ãã Python ã«ã³ã³ããã¹ããããŒãããŸãã
ContextId
â ã³ã³ããã¹ãèå¥åãClear
â 埩å ããåã«ã³ã³ããã¹ããã¯ãªã¢ããŸãã
ãžã¥ãã¿ãŒããŒã
ãã®æ¡åŒµæ©èœã¯ã泚éã« Python ã³ãŒããå«ãŸããŠããããšãåæãšããã¢ã¯ãã£ããã£åãå è¡ã¿ã€ãã«ãšããŠäœ¿çšããŸãã Jupyter Notebook 㧠PythonGateway ããžãã¹ ããã»ã¹ãéçºã§ããããã«ãªããŸããã å¯èœãªããšã¯æ¬¡ã®ãšããã§ãã
- æ°ããããžãã¹ããã»ã¹ãäœæãã
- ããžãã¹ããã»ã¹ãåé€ãã
- æ°ããã¢ã¯ãã£ããã£ãäœæãã
- å€æŽæŽ»å
- ã¢ã¯ãã£ããã£ã®åé€
ããã§
ããã»ã¹ãšã¯ã¹ãããŒã©ãŒ
ããã»ã¹ãšãã£ã¿ãŒ
ã€ã³ã¹ããŒã«
- InterSystems IRIS 2019.2 以éãå¿ èŠã§ãã
- PythonGateway v0.8+ ãã€ã³ã¹ããŒã«ããŸã (å¿
é ã®ã¿)
isc.py.util.Jupyter
,isc.py.util.JupyterCheckpoints
Оisc.py.ens.ProcessUtils
). - ãªããžããªãã ObjectScript ã³ãŒããæŽæ°ããŸãã
- å®è¡ãã
do ##class(isc.py.util.Jupyter).Install()
ãããŠããã³ããã«åŸã£ãŠãã ããã
æèŠ
MLToolkit ã¯ãã¢ãã«ãšãã©ã³ã¶ã¯ã·ã§ã³ç°å¢ãçµã¿åãããŠãæ§ç¯ãããã¢ãã«ãããžãã¹ ããã»ã¹ã§ç°¡åã«çŽæ¥äœ¿çšã§ããããã«ããããšãç®çãšããäžé£ã®ããŒã«ã§ãã Python Gateway 㯠MLToolkit ã®äžéšã§ãããPython èšèªãšã®çµ±åãæäŸããŸããããã«ãããPython (å€ãã®ããŒã¿ ãµã€ãšã³ãã£ã¹ãã«ãšã£ãŠäž»èŠãªç°å¢) ã§äœæãããæ©æ¢°åŠç¿ã¢ã«ãŽãªãºã ã調æŽããå€æ°ã®æ¢è£œã®ã©ã€ãã©ãªã䜿çšããŠãé©å¿æ§ã®ããããããåæ AI ãè¿ éã«äœæã§ããŸãã InterSystems ãã©ãããã©ãŒã IRIS äžã® ML ãœãªã¥ãŒã·ã§ã³ã
ãªãã¡ã¬ã³ã¹
åã®èšäº Python ã²ãŒããŠã§ã€ Python ã²ãŒããŠã§ã€ã®ãµã³ãã« éäžåæ Python 3.6.7 64 ããã Python ã®ããã¥ã¡ã³ããšã³ãŒã¹
MLããŒã«ããã
MLToolkit ãŠãŒã¶ãŒ ã°ã«ãŒãã¯ãInterSystems äŒæ¥ GitHub çµç¹ã®äžéšãšããŠäœæããããã©ã€ããŒã GitHub ãªããžããªã§ãã ããã¯ãPython ã²ãŒããŠã§ã€ãå«ã MLToolkit ã³ã³ããŒãã³ããã€ã³ã¹ããŒã«ãåŠç¿ããŸãã¯ãã§ã«äœ¿çšããŠããå€éšãŠãŒã¶ãŒã察象ãšããŠããŸãã ãã®ã°ã«ãŒãã¯ãããŒã±ãã£ã³ã°ã補é ãå»çããã®ä»å€ãã®æ¥çã®åéã§å€æ°ã®å®è£
äºäŸ (ãœãŒã¹ ã³ãŒããšãã¹ã ããŒã¿ãå«ã) ãæã£ãŠããŸãã ML Toolkit ãŠãŒã¶ãŒ ã°ã«ãŒãã«åå ããã«ã¯ã次ã®ã¢ãã¬ã¹ã«çãé»åã¡ãŒã«ãéä¿¡ããŠãã ããã
- GitHubã®ãŠãŒã¶ãŒå
- çµç¹ïŒä»äºãŸãã¯å匷ïŒ
- åœ¹è· (çµç¹å ã§ã®å®éã®åœ¹è·ããåŠçããŸãã¯ãç¬ç«è ãã®ãããã)ã
- åœ
ãã®èšäºãèªãã§ã人工ç¥èœããã³æ©æ¢°åŠç¿ãšã³ãžã³ãéçºãŸãã¯ãã¹ãããããã®ãã©ãããã©ãŒã ãšããŠã® InterSystems IRIS ã®æ©èœã«èå³ãããæ¹ã¯ã貎瀟ã«ãšã£ãŠèå³æ·±ãã·ããªãªã«ã€ããŠè©±ãåãããšããå§ãããŸãã ç§ãã¡ã¯åãã§è²Žç€Ÿã®ããŒãºãåæããå
±åã§è¡åèšç»ã決å®ããŸãã AI/ML å°é家ããŒã ã®é£çµ¡å
é»åã¡ãŒã« ã¢ãã¬ã¹ â
åºæïŒ habr.com