如果您已在Open Exchange 发布了应用,大赛期间,您可以登录 Open Exchange, 打开applications。

打开你希望提交给大赛的应用,点击 Apply for Contest.

确保状态是 'Published'.
接下来您的应用会进入审查阶段,如果符合参赛要求,便会被列在 参赛区 进行展示,投票开始后可以接受投票。
如果您已在Open Exchange 发布了应用,大赛期间,您可以登录 Open Exchange, 打开applications。

打开你希望提交给大赛的应用,点击 Apply for Contest.

确保状态是 'Published'.
接下来您的应用会进入审查阶段,如果符合参赛要求,便会被列在 参赛区 进行展示,投票开始后可以接受投票。

Intersystems IRIS 是开发、运行和消耗数据科学服务的绝佳平台。 IRIS 可以使用适配器从任何类型、格式、协议和时间提取数据。 这些数据集可以通过 BPL、DTL 和 Object Script 准备,并存储为 SQL 或 NoSQL 数据。 最后,它可以被 IRIS 内部的开放 ML 算法所消耗,并在 IRIS 仪表板中可视化。 了解详情:https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=PAGE_data_science。

本文将展示如何把 InterSystems IRIS 数据库与 Python 集成,以服务于自然语言处理 (NLP) 的机器学习模型。
随着在世界范围内的广泛采用和使用,Python 拥有了出色的社区,以及许多加速器 | 库用于部署任何类型的应用。 如果您感兴趣,请访问 https://www.python.org/about/apps/
我接触到 ^globals 后很快就熟悉了,它们可以用作快速获取现成数据模型中数据的方法。 因此,首先,我将使用 ^globals 存储训练数据和对话以记录聊天机器人的行为。
自然语言处理或 NLP 是 AI 的一个主题,它创造了机器从我们的语言阅读、理解含义的能力。 显然,这并不简单,但是我将展示如何在这个广阔而美丽的领域中迈出您的第一步。
我在这里部署了 Chatbot 应用作为演示: http://iris-python-suite.eastus.cloudapp.azure.com:8080
首先要知道与普通软件开发相比,机器学习具有不同的范式。 很难理解的要点是机器学习模型的开发周期。
亲爱的社区开发者们,大家好!
欢迎了解InterSystems编程大赛的最新投票规则!

详情如下:
有两种使用%SQL.Statement类执行SQL语句的方法:
%Execute(),它执行以前使用%Prepare()或%PrepareClassQuery()准备的SQL语句。%ExecDirect(),它同时准备和执行一条SQL语句。也可以通过使用$SYSTEM.SQL.Execute()方法执行SQL语句而无需创建对象实例。此方法既准备又执行SQL语句。它创建一个缓存的查询。下面的终端示例显示Execute()方法:
USER>SET topnum=5
USER>SET rset=$SYSTEM.SQL.Execute("SELECT TOP :topnum Name,Age FROM Sample.Person")
USER>DO rset.%Display()
准备查询后,可以通过调用%SQL.Statement类的%Execute()实例方法来执行查询。对于非SELECT语句,%Execute()调用所需的操作(例如执行INSERT)。对于SELECT查询,%Execute()生成一个结果集,用于后续遍历和数据检索。例如:
SET rset = tStatement.%Execute()
%Execute()方法为所有SQL语句设置%SQL.
继上一部分,现在要利用 IntegratedML VALIDATION MODEL 语句提供信息以监视您的 ML 模型。 您可以在此处观看实际运作。
此处所示代码衍生自 InterSystems IntegragedML 模板或 IRIS 文档提供的示例,我主要是把代码混合了起来。 这是一个简单的示例,目的是为进一步讨论和未来工作提供一个起点。
注:此处提供的代码仅作说明之用。 如果您想尝试,我开发了一个 Open Exchange 技术示例应用 (iris-integratedml-monitor-example),并将其提交到 InterSystems IRIS AI Contest。 读完这篇文章后您可以去看看,如果喜欢,就请投我一票吧! :)
要监视 ML 模型,至少需要两个功能:
幸运的是,IRIS 为我们提供了这两个必要的功能。
几个月前,我在 MIT Technology Review 读到一篇很有意思的文章,作者解释了新冠疫情如何给全球 IT 团队带来关乎机器学习 (ML) 系统的难题。
这篇文章引起我对 ML 模型部署后如何处理性能问题的思考。
我在一个 Open Exchange 技术示例应用 (iris-integratedml-monitor-example) 中模拟了一个简单的性能问题场景,并提交到 InterSystems IRIS AI Contest。 读完这篇文章后您可以去看看,如果喜欢,就请投我一票吧! :)
讨论 COVID-19 以及它对全球 ML 系统的影响之前,我们先来简单谈谈 InterSystems IRIS IntegratedML。
通过将特征选择之类的任务及其与标准 SQL 数据操作语言的集成自动化,IntegratedML 可以协助开发和部署 ML 解决方案。
.png)
对于有海量数据运算场景的机器学习项目来说,IRIS 是一个很好的选择,原因包括:
Covid-19 肺部 X 射线分类和 CT 检测演示 关键字:COVID-19,医学影像,深度学习,PACS Viewer 和 HealthShare。
在这场史无前例的新冠疫情笼罩之下, 我们竭尽所能为客户提供支援,同时利用先进的 AI 技术观察着不同的疫情战线。
去年,我简单提及了一个深度学习演示环境。 在这个漫长的复活节周末,我们就来看一看现实世界的图像,在 Covid-19 肺部 X 射线数据集上测试运行一些深度学习模型以进行快速分类,并见证这类用于 X 射线甚至 CT 的工具如何通过 docker 等方式快速部署到云端,实现及时的“AI 分诊”并协助放射科医生。
这只是一个 10 分钟的快速笔记,希望通过简单的方法帮助各位上手实践。
去年,AWS推出了基于ARM架构的AWS Graviton处理器第一代Amazon EC2 A1实例。在2019年AWS re:Invent 大会上,亚马逊宣布了第二代AWS Graviton2处理器和相关的Amazon EC2 M6g实例。相比前一代基于Intel Xeon的M5实例,Amazon EC2 M6g实例的性价比提升幅度高达40%。
AI届的没有免费午餐(No Free Lunch)理论:如果平均到所有问题的话,所有算法是等价的。换句话说,没有单一的“最优”算法。(详细概念请自行搜索)
所以需要对任何特定数据集/问题测试很多不同算法,没有办法能够提前知道哪种算法是最优的。
因此,自动化机器学习帮助用户用多种自动化的用多种主流算法来进行测试,用户能从中选出最优的结果。
动态SQL是指在运行时准备并执行的SQL语句。在动态SQL中,准备和执行SQL命令是单独的操作。通过动态SQL,可以以类似于ODBC或JDBC应用程序的方式在InterSystems IRIS中进行编程(除了要在与数据库引擎相同的进程上下文中执行SQL语句)。动态SQL是从ObjectScript程序调用的。
动态SQL查询是在程序执行时准备的,而不是在编译时准备的。这意味着编译器无法在编译时检查错误,并且不能在Dynamic SQL中使用预处理器宏。这也意味着执行程序可以响应用户或其他输入而创建专门的Dynamic SQL查询。
动态SQL可用于执行SQL查询。它也可以用于发出其他SQL语句。本章中的示例执行SELECT查询。
动态SQL用于执行InterSystems IRIS SQL Shell,InterSystems IRIS管理门户网站“执行查询”界面,SQL代码导入方法以及“数据导入和导出实用程序”。
在Dynamic SQL(和使用它的应用程序)中,行的最大大小为3,641,144个字符。
动态SQL与嵌入式SQL在以下方面有所不同:
2021年3月19日,在InterSystems极客俱乐部首次进行的直播课中,InterSystems中国技术支持专家杨乐乐( @Lele Yang)介绍了“InterSystems全球响应中心服务”,InterSystems全球响应中心(Worldwide Response Center)提供的全面服务以及独特之处,更重要的是,作为InterSystems用户,您将如何获取快速响应、并高效得到您想要的技术支持服务。
2021年3月19日,在InterSystems极客俱乐部首次进行的直播课中,InterSystems中国售前支持专家刘皆良( @Jeff Liu)分享了一个有趣的主题:告诉你从Caché数据库升级到InterSystems IRIS数据平台的N个理由。直播视频贴上,欢迎大家围观。
下面的示例显示了一个持久类,其中包含一个类方法和一个实例方法,两者都包含嵌入式SQL:
Class Sample.MyClass Extends %Persistent [DdlAllowed]
{
ClassMethod NameInitial(Myval As %String) As %String [SqlProc]
{
&sql(SELECT Name INTO :n FROM Sample.Stuff WHERE Name %STARTSWITH :Myval)
IF SQLCODE<0 {WRITE "SQLCODE error ",SQLCODE RETURN %msg}
ELSEIF SQLCODE=100 {WRITE "Query returns no results" RETURN}
WRITE "Hello " RETURN n
}
Method CountRows() As %Integer
{
&sql(SELECT COUNT(*) INTO :count FROM Sample.以下局部变量在嵌入式SQL中具有特殊用途。这些局部变量名称区分大小写。在过程启动时,这些变量是不确定的。它们由嵌入式SQL操作设置。也可以使用SET命令直接设置它们,或使用NEW命令将其重置为未定义。像任何局部变量一样,值将在过程持续期间或直到设置为另一个值或使用NEW进行定义之前一直存在。例如,某些成功的嵌入式SQL操作未设置%ROWID。执行这些操作后,%ROWID是未定义的或保持设置为其先前值。
%msg%ROWCOUNT%ROWIDSQLCODE这些局部变量不是由Dynamic SQL设置的。 (请注意,SQL Shell和Management Portal SQL接口执行Dynamic SQL。)相反,Dynamic SQL设置相应的对象属性。
在嵌入式SQL中使用以下ObjectScript特殊变量。这些特殊的变量名称不区分大小写。在过程启动时,这些变量将初始化为一个值。它们由嵌入式SQL操作设置。不能使用SET或NEW命令直接设置它们。
$TLEVEL$USERNAME作为已定义的InterSystems IRIS嵌入式SQL接口的一部分,InterSystems IRIS可以在嵌入式SQL处理期间设置任何这些变量。
游标是指向数据的指针,该数据允许嵌入式SQL程序对所指向的记录执行操作。通过使用游标,Embedded SQL可以遍历结果集。嵌入式SQL可以使用游标执行查询,该查询从多个记录返回数据。嵌入式SQL还可以使用游标更新或删除多个记录。
必须首先对SQL游标进行DECLARE,并为其命名。在DECLARE语句中,提供了SELECT语句,该语句标识游标将指向的记录。然后,将此游标名称提供给OPEN游标语句。然后,反复发出FETCH游标语句以遍历SELECT结果集。然后,发出CLOSE游标语句。
DECLARE游标名称CURSOR FOR SELECT来选择记录,并(可选)将select列值返回到输出主机变量中。 FETCH语句遍历结果集,使用这些变量返回选定的列值。DELETE或UPDATE使用DECLARE游标名CURSOR FOR SELECT选择操作的记录。没有指定输出主机变量。 FETCH语句遍历结果集。 DELETE或UPDATE语句包含WHERE CURRENT OF子句,以标识当前光标位置,以便对所选记录执行操作。请注意,游标不能跨越方法。因此,必须在同一类方法中声明,打开,获取和关闭游标。在生成类和方法的所有代码(例如从.CSP文件生成的类)中考虑这一点很重要。
主机变量是将文字值传入或传出嵌入式SQL的局部变量。 最常见的是,主机变量用于将本地变量的值作为输入值传递给Embedded SQL,或者将SQL查询结果值作为输出主机变量传递给Embedded SQL查询。
主机变量不能用于指定SQL标识符,例如架构名称,表名称,字段名称或游标名称。主机变量不能用于指定SQL关键字。
INTO子句中指定,INTO子句是仅嵌入式SQL支持的SQL查询子句。“?”向SQL语句输入文字。输入参数。这 ”?”语法不能在Embedded SQL中使用。在嵌入式SQL中,可以在可以使用文字值的任何位置使用输入主机变量。使用SELECT或FETCH语句的INTO子句指定输出主机变量。
注意:当SQL NULL输出到ObjectScript时,它由一个ObjectScript空字符串(“”)表示,该字符串的长度为零。
要将变量或属性引用用作宿主变量,请在其前面加上一个冒号(:)。 嵌入式InterSystems SQL中的主机变量可以是以下之一:
myvar,指定为以逗号分隔的列表。局部变量可以完全形成并且可以包含下标。可以将简单的SQL语句(单个嵌入式SQL语句)用于各种操作,包括:
INSERT,UPDATE,INSERT OR UPDATE和DELETE语句。GRANT和REVOKE语句。SELECT语句(或者如果只对返回的第一行感兴趣)。简单的SQL语句也被称为非基于游标的SQL语句。本章稍后将介绍基于游标的嵌入式SQL。
例如,以下语句查找ID为43的(唯一的)患者的姓名:
&sql(SELECT Name INTO :name
FROM Patient
WHERE %ID = 43)
如果对可以返回多行的查询使用简单语句,则只返回第一行:
&sql(SELECT Name INTO :name
FROM Patient
WHERE Age = 43)
根据查询的不同,不能保证哪一行将首先被返回。此外,如果一个查询包含一个INTO语句,并且该表不包含任何数据(SQLCODE=100),执行该查询将导致未定义(空)的输出主机变量。因此,在访问输出主机变量之前,所有简单嵌入式SQL语句都应该测试SQLCODE=0。
表名,视图名或存储过程名是合格的(指定架构名称)或不合格的(不指定架构名称)。
中文社区的开发者们,大家好!
我们调整了开发者社区的积分规则,将其调整为双倍积分!
通过持续进行云投资,InterSystems能够提供礼宾级的云服务。
可以将SQL语句嵌入InterSystemsIRIS®数据平台使用的ObjectScript代码中。这些嵌入式SQL语句在运行时转换为优化的可执行代码。
嵌入式SQL有两种:
注意:嵌入式SQL不能输入到Terminal命令行,也不能在XECUTE语句中指定。要从命令行执行SQL,请使用$SYSTEM.SQL.Execute()方法或SQL Shell接口。
当包含嵌入式SQL的例程被编译时,嵌入式SQL不会被编译。 相反,嵌入式SQL的编译发生在SQL代码的第一次执行(运行时)。 第一次执行定义了一个可执行的缓存查询。 这与动态SQL的编译类似,在动态SQL中,直到执行SQL Prepare操作才编译SQL代码。
直到第一次执行例程,嵌入式SQL代码才会根据SQL表和其他实体进行验证。 因此,可以编译包含嵌入式SQL的持久化类的例程或方法,这些SQL引用在例程编译时不存在的表或其他SQL实体。 由于这个原因,大多数SQL错误是在运行时执行时返回的,而不是编译时返回的。
InterSystems SQL提供了一个特殊的–>运算符,作为从相关表中获取值的快捷方式,而在某些常见情况下无需指定显式的JOIN即可。可以使用此箭头语法代替显式联接语法,也可以将其与显式联接语法结合使用。箭头语法执行左外部联接。
箭头语法可用于类的属性或父表的关系属性的引用。其他类型的关系和外键不支持箭头语法。不能在ON子句中使用箭头语法(–>)。
可以使用- >操作符作为从“引用表”获取值的简写。
例如,假设定义了两个类:Company:
Class Sample.Company Extends %Persistent [DdlAllowed]
{
/// The Company name
Property Name As %String;
}
Employee:
Class Sample.Employee Extends %Persistent [DdlAllowed]
{
/// The Employee name
Property Name As %String;
/// The Company this Employee works for
Property Company As Company;
}
Employee类包含一个属性,该属性是对Company对象的引用。
在基于对象的应用程序中,可以使用点语法遵循此引用。
嗨,开发者们,
欢迎查询 [InterSystems Developers YouTube 频道] InterSystems Developers YouTube Channel:
|
按观看次数排名前 10 的视频 |
||
| № | Video | Views |
| 1 | Active Directory 与 LDAP 的集成 | 13 079 |
| 2 | FHIR 上的 SMART:基础知识 | 7 463 |
| 3 | 构建现代 Web 应用程序 | 6 133 |
| 4 | 使用 Visual Studio Code 编写 ObjectScript | 5 491 |
| 5 | 使用 FHIR 进行开发 - REST API | 5 195 |
| 6 | 使用 IRIS 社区版、GitHub、Docker 和 VSCode 创建你的第一段 InterSystems ObjectScript 代码 | 1 487 |
| 7 | 托管文件传输 | 1 326 |
| 8 | 规模调整和容量计划 | 1 200 |
| 9 | 使用 Visual Studio Code 和 ObjectScript | 1 155 |
| 10 | 5 分钟内为 InterSystems IRIS 创建 CRUD REST API | 1 013 |
大家好, 现在是九局下半,但在我们的技术世界大赛还留了几手
JDBC 兼容性状态 **这是一篇 [InterSystems 常见问题解答网站](https://faq.intersystems.co.jp/)文章。
版本 2009.1 及更高版本与 JDBC 4.0 API 兼容。 有关详细信息,请查阅以下文档。 [关于 JDBC 支持](First Look: JDBC and InterSystems Databases - InterSystems IRIS Data Platform 2020.3
)
InterSystems SQL提供了排序规则功能,可用于更改字段的排序规则或显示。
为了建设一个开放、包容的环境,我们(社区贡献者、社区版主、社区经理)承诺为使用InterSystems开发者社区的所有成员提供没有任何骚扰的环境,而不论其年龄、体型、残障、种族、性别认同和表达、经验水平高低、国籍、外表、种族、宗教或性取向。
排序规则指定值的排序和比较方式,并且是InterSystems SQL和InterSystemsIRIS®数据平台对象的一部分。有两种基本排序规则:数字和字符串。
null,然后是负数,从最大到最小,零,然后是正数,从最小到最大。这将创建如下序列:–210,–185,–54,–34,-.02、0、1、2、10、17、100、120。null,A,AA,AA,AAA,AAB,AB,B。对于数字,这将创建以下顺序:–.02,–185,–210,–34,–54 ,0、1、10、100、120、17、2。默认的字符串排序规则是SQLUPPER;为每个名称空间设置此默认值。 SQLUPPER排序规则将所有字母都转换为大写(出于排序的目的),并在字符串的开头附加一个空格字符。此转换仅用于整理目的;在InterSystems中,无论所应用的排序规则如何,SQL字符串通常以大写和小写字母显示,并且字符串的长度不包括附加的空格字符。
时间戳记是一个字符串,因此遵循当前的字符串排序规则。但是,由于时间戳是ODBC格式,因此如果指定了前导零,则字符串排序规则与时间顺序相同。
InterSystems SQL允许您在SQL查询中调用类方法。这为扩展SQL语法提供了强大的机制。
若要创建用户定义的函数,请在持久性InterSystems IRIS类中定义一个类方法。该方法必须具有文字(非对象)返回值。这必须是一个类方法,因为在SQL查询中将没有对象实例可以在其上调用实例方法。还必须将其定义为SQL存储过程。
例如,我们可以在MyApp.Person类中定义一个Cube()方法:
Class MyApp.Person Extends %Persistent [DdlAllowed]
{
/// Find the Cube of a number
ClassMethod Cube(val As %Integer) As %Integer [SqlProc]
{
RETURN val * val * val
}
}
可以使用CREATE FUNCTION,CREATE METHOD或CREATE PROCEDURE语句创建SQL函数。
要调用SQL函数,请指定SQL过程的名称。可以在可能指定标量表达式的任何地方以SQL代码调用SQL函数。函数名称可以使用其架构名称进行限定,也可以不限定。不合格的函数名称采用用户提供的模式搜索路径或系统范围内的默认模式名称。函数名称可以是定界标识符。