使用Pypeline库访问机器学习模型

使用Pypeline库在本地访问基于Pytho的已训练的器学习模型。

如果一个已经部署并训练好的机器学习模型可以通过Python库访问,那么就可以使用Pypeline——一个定制的AnyLogic库来查询这个模型。Pypeline允许您在AnyLogic模型内部执行带有参数的Python脚本或交互式地运行Python代码,这需要依赖于本地安装的Python环境。

下载库

在AnyLogic中开发的任何模型都是 Java应用程序,可以使用Java编程语言进行本地定制。不过,也可以在模型中引入Python作为辅助编程语言,从而有机会使用基于Python的库和算法。

Pypeline库可用于以下情况:

  • 使用最初用Python编写的代码,无需移植到Java。
  • 在Python中编写复杂的算法,然后在Java中调用,还可以在两种语言之间传递对象/数据。
  • 与任何Python专属库协同工作。
  • 将仿真用作测试训练好的人工智能策略的测试平台。

该软件与任何有效许可证(学习版、教育版或专业版)的AnyLogic以及计算机上安装的任何Python 3版本(Windows商店除外)兼容。

为了帮助在Python和AnyLogic (Java)环境之间传输数据,Pypeline还具有将数据对象转换为JSON格式或从JSON格式转换为JSON格式的功能。这是一种开放的标准文件格式和数据交换格式,对人类和计算机的解析都很友好

AnyLogic公司开发的Pypeline是一个免费、开源的第三方库,是一个可选的连接工具,没有义务提供官方支持或承诺任何形式的兼容性。该库的用户可在 GitHub页面的“问题”或“讨论”选项卡上提出问题或评论。

网络研讨会: Pypeline——AnyLogic 的Python连接器库

本网络研讨会全面介绍Pypeline。讲座首先解释了Pypeline的定义和各种用例。随后是深入的技术探讨,演示如何将Pypeline优化集成到仿真模型中。有关最新更新,包括新设置和新功能,请参阅项目的GitHub存储库

示例模型


以下示例展示了Pypeline 库的各种用例和复杂程度;这些示例可从GitHub存储库和AnyLogic任何版本的内部模型库(AnyLogic欢迎页面→示例模型→如何使用模型/示例)中获取。


  • 01

    基本功能
    (Pypeline 交互式介绍)

    Pypeline 库基本功能模型

    这是一个介绍性演示,您可以在其中探索Pypeline在三个不同函数中提供的基本功能--“run”(运行)、“runResults”(运行结果)和 “runFile”(运行文件)。

    与其他模型不同的是,它的设置允许您交互式地配置PyCommunicator对象,并向底层Python环境发送或接收信息。在本演示中,将展示Pypeline的主要功能,为您提供使用Pypeline的实践介绍。

    探索

  • 02

    简化医院(人工智能试验台)

    简化医院模型

    该模型描述了一个简化的医院,病人到达医院后停留一段时间,然后离开。其中使用了两个神经网络:一个用于根据最近几天的到达率预测病人的到达率,另一个用于根据个人的24个健康相关属性预测病人的住院时间。

    探索

  • 03

    供应链优化器

    供应链优化器模型

    这是一个单一产品的三梯队供应链模型。客户每周向工厂订购不同数量的产品,工厂可将其储存在仓库中。

    该模型包括在供应链三个层级之间运输产品的相关成本。供应链在启动时从 Excel文件导入数据库。每周开始时,当前的模型状态会被发送到Python优化器,以确定发送多少产品以及发送给谁。

    探索

  • 04

    旅行推销员

    旅行推销员模型

    该模型展示了旅行推销员问题(TSP)的一个示例。在 TSP 中,有一组城市,其中一个被指定为原籍地。

    给定要访问的任意数量的城市,目标是找到一条起点和终点都在家乡的最短路线。为了优化顺序,我们使用了 Python库OR-tools(由 Google 提供)。

    探索

  • 05

    洛伦兹天气模型
    (与Pypeline)

    洛伦兹天气模型(带Pypeline)模型

    该模型是原始AnyLogic示例模型的略微修改版。原始模型是一个系统动力学模型,展示了一个混乱但又确定的系统。模型启动时,Pypeline 会生成一个新的3D窗口(通过Python库“MatPlotLib”),并开始向其传输数据流。

    您可以通过拖动三维图形从不同角度观察模型,或者通过改变仿真中的滑块来查看结果。该模型还展示了Pypeline无需任何额外代码即可进行并行仿真的能力。

    探索

  • 06

    互联呼叫中心
    (使用Pypeline的网络应用程序)

    互联呼叫中心(网络应用程序与 Pypeline)模型

    该模型是原始AnyLogic示例模型“互联呼叫中心”的略微修改版本。它展示了如何使用仪表盘库(本例中为“Dash”库)为执行模型构建实时网络应用程序。

    启动模型后,网络应用程序将在后台 Python环境中启动。您可以打开一个新的浏览器标签页“localhost:8050”来查看它。模型会定期将其当前状态传输给 Python,然后由Python更新网络应用。您可以使用此策略创建其他界面,以便在模型运行时对其进行分析。

    探索

  • 07

    使用JSON初始化和导出

    使用JSON初始化和导出

    该模型演示了Pypeline内置的JSON功能的基本用例。这些功能包括将模型对象序列化为JSON(将数据传输到 Python或用于日志记录),以及将 JSON文本反序列化为智能体和群。

    序列化功能还可通过内置过滤器对象进行定制。这套JSON功能来自 Pypeline内置的AnyLogic JSONifier库。

    探索

  • 08

    机器优化器

    机器优化器模型

    该模型演示了使用Python库Numpy和Scipy解决静态优化问题。在该模型中,有三种类型的机器;每种机器都有自己的生产成本,分三个阶段制造,每个阶段都有不同的时间要求。

    有两个约束条件:分配的机器生产数量和每个阶段分配的累计时间。目标是改变每种类型机器的生产数量,使生产成本最小。

    探索

  • 09

    实验屏幕中的 Python

    来自实验屏幕的 Python 模型

    这是如何在实验中使用Pypeline的 PyCommunicator对象的概念验证模型。虽然PyCommunicator对象在技术上是一个智能体,但通过从某些实验操作字段初始化它,Python可以被调用,在本例中,生成参数变化实验中的下一个值。

    探索

用于培训和测试人工智能的仿真 ——电子邮件包

AnyLogic仿真是企业人工智能的培训和测试平台。利用AnyLogic通用仿真,您可以构建详细而强大的虚拟环境,用于训练和测试人工智能模型。独特的多方法仿真功能为机器学习提供了全面的工具。这一完全支持云的平台已在各行业的领先企业中得到广泛应用,其开放式API正在增强和加速当今的人工智能开发。请在我们的人工智能电子邮件包和白皮书中了解有关这一强大机器学习工具的更多信息!

人工智能包和白皮书