华为云用户手册

  • 如何在ModelArts上获得RANK_TABLE_FILE进行分布式训练? ModelArts会帮用户生成RANK_TABLE_FILE文件,可通过环境变量查看文件位置。 在Notebook中打开terminal,可以运行如下命令查看RANK_TABLE_FILE: 1 env | grep RANK 在训练作业中,您可以在训练启动脚本的首行加入如下代码,把RANK_TABLE_FILE的值打印出来: 1 os.system('env | grep RANK') 父主题: 功能咨询
  • 使用python命令 执行nvidia-ml-py3命令(常用)。 !pip install nvidia-ml-py3 import nvidia_smi nvidia_smi.nvmlInit() deviceCount = nvidia_smi.nvmlDeviceGetCount() for i in range(deviceCount): handle = nvidia_smi.nvmlDeviceGetHandleByIndex(i) util = nvidia_smi.nvmlDeviceGetUtilizationRates(handle) mem = nvidia_smi.nvmlDeviceGetMemoryInfo(handle) print(f"|Device {i}| Mem Free: {mem.free/1024**2:5.2f}MB / {mem.total/1024**2:5.2f}MB | gpu-util: {util.gpu:3.1%} | gpu-mem: {util.memory:3.1%} |") 执行nvidia_smi + wapper + prettytable命令。 用户可以将GPU信息显示操作看作一个装饰器,在模型训练过程中就可以实时的显示GPU状态信息。 def gputil_decorator(func): def wrapper(*args, **kwargs): import nvidia_smi import prettytable as pt try: table = pt.PrettyTable(['Devices','Mem Free','GPU-util','GPU-mem']) nvidia_smi.nvmlInit() deviceCount = nvidia_smi.nvmlDeviceGetCount() for i in range(deviceCount): handle = nvidia_smi.nvmlDeviceGetHandleByIndex(i) res = nvidia_smi.nvmlDeviceGetUtilizationRates(handle) mem = nvidia_smi.nvmlDeviceGetMemoryInfo(handle) table.add_row([i, f"{mem.free/1024**2:5.2f}MB/{mem.total/1024**2:5.2f}MB", f"{res.gpu:3.1%}", f"{res.memory:3.1%}"]) except nvidia_smi.NVMLError as error: print(error) print(table) return func(*args, **kwargs) return wrapper 执行pynvml命令。 nvidia-ml-py3可以直接查询nvml c-lib库,而无需通过nvidia-smi。因此,这个模块比nvidia-smi周围的包装器快得多。 from pynvml import * nvmlInit() handle = nvmlDeviceGetHandleByIndex(0) info = nvmlDeviceGetMemoryInfo(handle) print("Total memory:", info.total) print("Free memory:", info.free) print("Used memory:", info.used) 执行gputil命令。 !pip install gputil import GPUtil as GPU GPU.showUtilization() import GPUtil as GPU GPUs = GPU.getGPUs() for gpu in GPUs: print("GPU RAM Free: {0:.0f}MB | Used: {1:.0f}MB | Util {2:3.0f}% | Total {3:.0f}MB".format(gpu.memoryFree, gpu.memoryUsed, gpu.memoryUtil*100, gpu.memoryTotal)) 注:用户在使用pytorch/tensorflow等深度学习框架时也可以使用框架自带的api进行查询。
  • 解决方法 查看ModelArts创建的项目与创建的OBS桶是否在同一区域。 查看创建的OBS桶所在区域。 登录OBS管理控制台。 进入“对象存储”界面,可在桶列表的“桶名称”列查找,或在右上方的搜索框中输入已经创建的桶名称搜索,找到您创建的OBS桶。 在“区域”列可查看创建的OBS桶的所在区域,如图1所示。 图1 OBS桶所在区域 查看ModelArts所在区域。 登录ModelArts控制台,在控制台左上角可查看ModelArts所在区域。 比对您创建的OBS桶所在区域与ModelArts所在区域是否一致。务必保证OBS桶与ModelArts所在区域一致。 配置访问授权(权限管理) 登录ModelArts管理控制台,在左侧导航栏选择“权限管理”,进入“权限管理”页面。 单击“添加授权”,进入“访问授权”页面,根据参数说明进行配置。 图2 查看权限列表 然后勾选“我已经详细阅读并同意《ModelArts服务声明》”,单击“创建”,即完成委托配置。
  • 线上训练得到的模型是否支持离线部署在本地? 通过ModelArts预置算法训练得到的模型是保存在OBS桶里的,模型支持下载到本地。 在训练作业列表找到需要下载模型的训练作业,单击名称进入详情页,获取训练输出路径。 图1 获取训练输出位置 单击“输出路径”,跳转至OBS对象路径,下载训练得到的模型。 在本地环境进行离线部署。 具体请参见模型调试章节在本地导入模型,参见服务调试章节,将模型离线部署在本地并使用。 父主题: 功能咨询
  • 在线服务的API接口组成规则是什么? AI应用部署成在线服务后,用户可以获取API接口用于访问推理。 API接口组成规则如下: https:// 域名 /版本/infer/服务ID 示例如下: https://6ac81cdfac4f4a30be95xxxbb682.apig.xxx.xxx.com/v1/infers/468d146d-278a-4ca2-8830-0b6fb37d3b72 图1 API接口 父主题: 在线服务
  • 训练作业一直在等待中(排队)? 训练作业状态一直在等待中状态表示当前所选的资源池规格资源紧张,作业需要进行排队,请耐心等待。如想降低排队时间,根据您所选资源池的类型,有以下建议: 公共资源池: 公共资源池资源较少,高峰期如举办相关活动时会存在资源不足情况。有以下方法可以尝试: 如果使用的是免费规格,可以换成收费规格,免费规格资源较少,排队概率高。 规格选择卡数尽量少,如可以选择1卡,相比于选择8卡排队几率大大降低。 可以尝试使用其他Region(如北京四切换为上海一)。 如果有长期的资源使用诉求,可以购买独占使用的专属资源池。 专属资源池: 如有多个可用的专属资源池,可尝试选择其他较为空闲的资源池。 可清理当前资源池下的其他资源,如停止长时间不使用的Notebook。 在非高峰期时提交训练作业。 如长期长时间排队可以联系该专属资源池的账号管理员,管理员可根据使用情况对资源池进行扩容。 相关问题:为什么资源充足还是在排队? 父主题: 创建训练作业
  • VS Code中设置远端默认安装的插件 在VS Code的配置文件settings.json中添加remote.SSH.defaultExtensions参数,如自动安装Python和Maven插件,可配置如下。 "remote.SSH.defaultExtensions": [ "ms-python.python", "vscjava.vscode-maven" ], 其中,插件名称可以单击VS Code的某个插件后获取,如下所示。 父主题: VS Code使用技巧
  • VS Code背景配置为豆沙绿 在VS Code的配置文件settings.json中添加如下参数 "workbench.colorTheme": "Atom One Light", "workbench.colorCustomizations": { "[Atom One Light]": { "editor.background": "#C7EDCC", "sideBar.background": "#e7f0e7", "activityBar.background": "#C7EDCC", }, }, 父主题: VS Code使用技巧
  • Notebook实例重新启动后,需要删除本地known_hosts才能连接 可以在本地的ssh config文件中对这个Notebook配置参数“StrictHostKeyChecking no”和“UserKnownHostsFile=/dev/null”,如下参考所示: Host roma-local-cpu HostName x.x.x.x #IP地址 Port 22522 User ma-user IdentityFile C:/Users/my.pem StrictHostKeyChecking no ForwardAgent yes 提示:因为SSH登录时会忽略known_hosts文件,有安全风险 父主题: VS Code使用技巧
  • 安装远端插件时不稳定,需尝试多次 方法一:离线包安装方式(推荐) 到VS Code插件官网vscode_marketplace搜索待安装的Python插件,Python插件路径。 单击进入Python插件的Version History页签后,下载该插件的离线安装包,如图所示。 图1 Python插件离线安装包 在本地VS Code环境中,将下载好的.vsix文件拖动到远端Notebook中。 右键单击该文件,选择Install Extension VSIX。 方法二:设置远端默认安装的插件 按照VS Code中设置远端默认安装的插件配置,即会在连接远端时自动安装,减少等待时间。 方法三:VS Code官网排查方式https://code.visualstudio.com/docs/remote/troubleshooting 小技巧(按需调整远端连接的相关参数): "remote.SSH.connectTimeout": 10, "remote.SSH.maxReconnectionAttempts": null, "remote.downloadExtensionsLocally": true, "remote.SSH.useLocalServer": false, "remote.SSH.localServerDownload": "always", 父主题: VS Code使用技巧
  • 如何使用API接口获取订阅算法的订阅id和版本id? 调用API接口使用“我的订阅”方式创建训练作业时,请求参数需要填写算法的订阅id(algorithm.subscription_id)和版本id(algorithm.item_version_id)。可调用如下接口获取相关信息,如下以北京四为例: 从AI Gallery获取订阅的算法列表 GET https://modelarts.cn-north-4.myhuaweicloud.com/v1/aihub/subscriptions?content_types=algo&offset=0&limit=5&sort_dir=desc 获取订阅算法的subscription_id,假设为43b22aeb-5b28-4fad-9581-e3c16d5a3e68,该值即为算法的订阅id。 根据subscription_id获取订阅算法的版本列表 GET https://modelarts.cn-north-4.myhuaweicloud.com/v1/aihub/subscriptions/43b22aeb-5b28-4fad-9581-e3c16d5a3e68/versions 获取订阅算法的版本的version_id,该值即为算法的版本id。 父主题: API/SDK
  • 在线服务预测时,如何提高预测速度? 部署在线服务时,您可以选择性能更好的“计算节点规格”提高预测速度。例如使用GPU资源代替CPU资源。 部署在线服务时,您可以增加“计算节点个数”。 如果节点个数设置为1,表示后台的计算模式是单机模式;如果节点个数设置大于1,表示后台的计算模式为分布式的。您可以根据实际需求进行选择。 推理速度与模型复杂度强相关,您可以尝试优化模型提高预测速度。 ModelArts中提供了模型版本管理的功能,方便溯源和模型反复调优。 图1 部署在线服务 父主题: 在线服务
  • 在ModelArts创建分布式训练时如何设置NCCL环境变量? ModelArts训练平台预置了部分NCCL环境变量,如表1所示。这些环境变量建议保持默认值。 表1 预置的环境变量 环境变量 说明 NCCL_SOCKET_IFNAME 指定通信的网卡名称。 NCCL_IB_GID_INDEX 系统设置的默认值为3,表示使用RoCE v2协议。 NCCL_IB_TC 系统设置的默认值为128,表示数据包走交换机的队列4,队列4使用PFC流控机制来保证网络是无损的。 如果训练时,需要提升通信稳定性,可以增加配置其他NCCL环境变量,如表2所示。 表2 建议增加的环境变量 环境变量 建议值 说明 NCCL_IB_TIMEOUT 18 用于控制IB通信超时时间,算法为“4.096 µs * 2 ^ timeout”。如出现NCCL通信超时问题可适当调大,最大可调整至22。较大的值可能会影响性能,设置为18相对平衡。 NCCL_IB_RETRY_CNT 15 IB通信重试次数。建议设置为最大值15,减少IB通信失败的概率。 父主题: 创建训练作业
  • 训练代码中,如何获取依赖文件所在的路径? 由于用户本地开发的代码需要上传至ModelArts后台,训练代码中涉及到依赖文件的路径时,用户设置有误的场景较多。因此推荐通用的解决方案:使用os接口得到依赖文件的绝对路径,避免报错。 以下示例展示如何通过os接口获得其他文件夹下的依赖文件路径。 文件目录结构: project_root #代码根目录 └─bootfile.py #启动文件 └─otherfileDirectory #其他依赖文件所在的目录 └─otherfile.py #其他依赖文件 在启动文件代码中,建议用户参考以下方式获取其他依赖文件所在路径,即示例中的“otherfile_path”。 import os current_path = os.path.dirname(os.path.realpath(__file__)) # 获得启动文件bootfile.py的路径 project_root = os.path.dirname(current_path) # 通过启动文件路径获得工程的根目录,对应ModelArts训练控制台上设置的代码目录 otherfile_path = os.path.join(project_root, "otherfileDirectory", "otherfile.py") # 通过工程的根目录得到依赖文件路径 父主题: 编写训练代码
  • 解析输入路径参数、输出路径参数 运行在ModelArts的模型读取存储在OBS服务的数据,或者输出至OBS服务指定路径,输入和输出数据需要配置3个地方: 训练代码中需解析输入路径参数和输出路径参数。ModelArts推荐以下方式实现参数解析。 1 2 3 4 5 6 7 8 9 10 import argparse # 创建解析 parser = argparse.ArgumentParser(description="train mnist", formatter_class=argparse.ArgumentDefaultsHelpFormatter) # 添加参数 parser.add_argument('--train_url', type=str, help='the path model saved') parser.add_argument('--data_url', type=str, help='the training data') # 解析参数 args, unknown = parser.parse_known_args() 完成参数解析后,用户使用“data_url”、“train_url”代替算法中数据来源和数据输出所需的路径。 在使用预置框架创建算法时,根据1中的代码参数设置定义的输入输出参数。 训练数据是算法开发中必不可少的输入。“输入”参数建议设置为“data_url”,表示数据输入来源,也支持用户根据1的算法代码自定义代码参数。 模型训练结束后,训练模型以及相关输出信息需保存在OBS路径。“输出”数据默认配置为模型输出,代码参数为“train_url”,也支持用户根据1的算法代码自定义输出路径参数。 在创建训练作业时,填写输入路径和输出路径。 训练输入选择对应的OBS路径或者数据集路径,训练输出选择对应的OBS路径。
  • 新旧版创建训练作业方式差异 旧版训练支持使用“算法管理”(包含已保存的算法和订阅的算法)、“常用框架”、“自定义”(即 自定义镜像 )方式创建训练作业。 新版训练支持使用“自定义算法”、“我的算法”、“我的订阅”方式来创建训练作业。 新版训练的创建方式有了更明确的类别划分,选择方式和旧版训练存在区别。 旧版中使用“算法管理”中已保存的算法创建训练作业的用户,可以在新版训练中使用“我的算法”创建训练作业。 旧版中使用“算法管理”中订阅的算法创建训练作业的用户,可以在新版训练中使用“我的订阅”创建训练作业。 旧版中使用“常用框架”创建训练作业的用户,可以在新版训练中使用“自定义算法”创建训练作业(启动方式选择“预置框架”)。 旧版中使用“自定义”(即自定义镜像)创建训练作业的用户,可以在新版训练中使用“自定义算法”创建训练作业(启动方式选择“自定义”)。
  • 新旧版训练代码适配的差异 旧版训练中,用户需要在输入输出数据上做如下配置: #解析命令行参数 import argparse parser = argparse.ArgumentParser(description='MindSpore Lenet Example') parser.add_argument('--data_url', type=str, default="./Data", help='path where the dataset is saved') parser.add_argument('--train_url', type=str, default="./Model", help='if is test, must provide\ path where the trained ckpt file') args = parser.parse_args() ... #下载数据参数至容器本地,在代码中使用local_data_path代表训练输入位置 mox.file.copy_parallel(args.data_url, local_data_path) ... #上传容器本地数据至obs路径 mox.file.copy_parallel(local_output_path, args.train_url)
  • 新旧版训练预置引擎差异 新版的预置训练引擎默认安装Moxing2.0.0及以上版本。 新版的预置训练引擎统一使用了Python3.7及以上版本。 新版镜像修改了默认的HOME目录,由“/home/work”变为“/home/ma-user”,请注意识别训练代码中是否有“/home/work”的硬编码。 提供预置引擎类型有差异。新版的预置引擎在常用的训练引擎上进行了升级。 如果您需要使用旧版训练引擎,单击显示旧版引擎即可选择旧版引擎。新旧版支持的预置引擎差异请参考表1。详细的训练引擎版本说明请参考新版训练和旧版训练分别支持的AI引擎。 表1 新旧版预置引擎差异 工作环境 预置训练I引擎与版本 旧版训练 新版训练 TensorFlow Tensorflow-1.8.0 √ x Tensorflow-1.13.1 √ 后续版本支持 Tensorflow-2.1.0 √ √ MXNet MXNet-1.2.1 √ x Caffe Caffe-1.0.0 √ x Spark_MLlib Spark-2.3.2 √ x Ray RAY-0.7.4 √ x XGBoost-Sklearn XGBoost-0.80-Sklearn-0.18.1 √ x PyTorch PyTorch-1.0.0 √ x PyTorch-1.3.0 √ x PyTorch-1.4.0 √ x PyTorch-1.8.0 x √ Ascend-Powered-Engine Mindspore-1.3.0 √ x Mindspore-1.7.0 x √ Tensorflow-1.15 √ √ MPI MindSpore-1.3.0 x √ Horovod horovod_0.20.0-tensorflow_2.1.0 x √ horovod_0.22.1-pytorch_1.8.0 x √ MindSpore-GPU MindSpore-1.1.0 √ x MindSpore-1.2.0 √ x
  • JupyterLab默认工作路径是什么? 带OBS存储的Notebook实例 JupyterLab文件默认存储路径,为创建Notebook时指定的OBS路径。 在文件列表的所有文件读写操作都是基于所选择的OBS路径下的内容操作的,跟当前实例空间没有关系。如果用户需要将内容同步到实例空间,需使用JupyterLab上传下载功能。 带EVS存储的Notebook实例 JupyterLab文件默认存储路径,为创建Notebook实例时,系统自动分配的EVS空间。 在文件列表的所有文件读写操作都是基于所选择的EVS下的内容操作的。使用EVS类型的挂载,可将大数据挂载至“~/work”目录下。 父主题: 数据存储
  • 如何将两个数据集合并? 目前不支持直接合并。 但是可以参考如下操作方式,将两个数据集的数据合并在一个数据集中。 例如需将数据集A和数据集B进行合并。 分别将数据集A和数据集B进行发布。 发布后可获得数据集A和数据集B的Manifest文件。可通过数据集的“数据集输出位置”获得此文件。 创建一个空数据集C,即无任何输出,其输入位置选择一个空的OBS文件夹。 在数据集C中,执行导入数据操作,将数据集A和数据集B的Manifest文件导入。 导入完成后,即将数据集A和数据集B的数据分别都合并至数据集C中。如需使用合并后的数据集,再针对数据集C执行发布操作即可。 父主题: Standard数据管理
  • 如何购买或开通ModelArts? ModelArts是一个即开即用的平台,无需购买或开通,直接进入ModelArts管理控制台,完成权限管理配置,然后选择所需功能,直接使用即可。 ModelArts平台仅针对使用计算规格的功能才涉及计费,公共资源池全部为按需模式,根据选用规格以及作业运行时长收费。专属资源池可按需购买,也可选择包年包月购买,在运行训练作业或部署服务时,选择专属资源池,无需另外付费。 父主题: 一般性问题
  • JupyterLab目录的文件、Terminal的文件和OBS的文件之间的关系 JupyterLab目录的文件与Terminal中work目录下的文件相同。即用户在Notebook中新建的,或者是从OBS目录中同步的文件。 挂载OBS存储的Notebook,JupyterLab目录的文件可以与OBS的文件进行同步,使用JupyterLab文件上传下载功能。Terminal的文件与JupyterLab目录的文件相同。 挂载EVS存储的Notebook,JupyterLab目录的文件可使用Moxing接口或SDK接口,读取OBS中的文件。Terminal的文件与JupyterLab目录的文件相同。 父主题: 更多功能咨询
  • ModelArts自动学习与ModelArts PRO的区别 ModelArts自动学习,提供了AI初学者,零编码、零AI基础情况下,可使用自动学习功能,开发用于图像分类、物体检测、预测分析、文本分类、声音分类等场景的模型。 而ModelArts PRO是一款为企业级AI应用打造的专业开发套件。用户可根据预置工作流生成指定场景模型,无需深究底层模型开发细节。ModelArts PRO底层依托ModelArts平台提供数据标注、模型训练、模型部署等能力。也可以理解过增强版的自动学习,提供行业AI定制化开发套件,沉淀行业知识,让开发者聚焦自身业务。 父主题: 功能咨询
  • 不启用自动停止,系统会自动停掉Notebook实例吗?会删除Notebook实例吗? 针对此问题,需要根据选择的不同资源规格进行说明。 如果使用免费规格,Notebook实例将在运行1小时后,自动停止。如果72小时内没有再次启动,会释放资源,即删除此Notebook实例。因此使用免费规格时,关注运行时间并注意文件备份。 如果使用收费的公共资源池,未启用自动停止功能时,Notebook实例不会自动停止,且不会被删除。 如果使用专属资源池,Notebook实例也不会自动停止。但是如果专属资源池被删除,则会导致此Notebook实例不可用。 父主题: 更多功能咨询
  • 1个节点的专属资源池,能否部署多个服务? 支持。 在部署服务时,选择专属资源池,在选择“计算节点规格”时选择“自定义规格”,设置小一些或者选择小规格的服务节点规格,当资源池节点可以容纳多个服务节点规格时,就可以部署多个服务。如果使用此方式进行部署推理,选择的规格务必满足模型的要求,当设置的规格过小,无法满足模型的最小推理要求时,则会出现部署失败或预测失败的情况。 图1 设置自定义规格 父主题: Standard资源池
  • AI Gallery支持哪些区域? 首先,AI Gallery本身不区分区域,任意区域进入AI Gallery,其展示的商品和功能是一致的。 订阅算法或模型。 从AI Gallery订阅的算法、模型,不区分区域,但是,在前往控制台使用订阅的产品时,需选择对应的区域。支持的区域与ModelArts相同,包含华北-北京一、华北-北京四、华东-上一、华南-广州(以界面上实际支持的区域为准)。 下载数据集。 在AI Gallery中下载数据集时,不管是下载至OBS还是下载至数据集,均需设置对应的使用区域。支持的区域与ModelArts相同,包含华北-北京一、华北-北京四、华东-上一、华南-广州(以界面上实际支持的区域为准)。 父主题: AI Gallery
  • 在AI Gallery订阅的数据集可以在SDK中使用吗? 支持。 将AI Gallery数据集下载至OBS,然后在SDK直接使用此OBS目录下的数据即可。详细操作步骤如下所示: 将AI Gallery数据集下载至OBS。详细指导请参见下载数据集。 数据集可以直接下载至OBS,也可以下载至ModelArts数据集中,不管任何方式,其最终的存储路径均为OBS目录。 下载至OBS时,在下载任务完成后,数据将存储在下载时设置的OBS目录中。请注意下载任务中设置的区域,后续使用SDK或ModelArts控制台时,使用的区域需一致。 下载至数据集时,可以在下载任务完成后,前往ModelArts控制台,发布此数据集,在“数据集输出位置”参数获取对应的OBS目录。即数据集存储的位置。 在SDK中调用对应OBS目录下的数据。 SDK的下载和使用,请参见《SDK参考》。 可参考从OBS下载文件,通过接口直接使用上述步骤中下载的数据集。 父主题: AI Gallery
  • 团队标注时,为什么团队成员收不到邮件? 团队标注时,成员收不到邮件的可能原因如下: 当数据集中的所有数据已完成标注,即“未标注”数据为空时,创建的团队标注任务,因为没有数据需要标注,不会给团队成员发送标注邮件。在发起团队标注任务时,请确保数据集中存在“未标注”数据。 只有当创建团队标注任务时,标注人员才会收到邮件。创建标注团队及添加标注团队的成员并不会发送邮件。 请确保您的邮箱已完成配置且配置无误。可参考管理成员,完成邮箱配置。 团队成员自检其邮箱是否有拦截设置。 父主题: Standard数据管理
  • 背景说明 针对ModelArts中的数据集,在创建数据集时,需指定“数据集输入位置”和“数据集输出位置”。两个参数填写的均是OBS路径。 “数据集输入位置”即原始数据存储的OBS路径。 “数据集输出位置”,指在ModelArts完成数据标注后,执行数据集发布操作后,在此指定路径下,按数据集版本,生成相关目录。包含ModelArts中使用的Manifest文件(包含数据及标注信息)。详细文件说明可参见数据集发布后,相关文件的目录结构说明。
  • 在线服务和边缘服务有什么区别? 在线服务 将模型部署为一个Web服务,您可以通过管理控制台或者API接口访问在线服务。 边缘服务 云端服务是集中化的离终端设备较远,对于实时性要求高的计算需求,把计算放在云上会引起网络延时变长、网络拥塞、服务质量下降等问题。而终端设备通常计算能力不足,无法与云端相比。在此情况下,通过在靠近终端设备的地方建立边缘节点,将云端计算能力延伸到靠近终端设备的边缘节点,从而解决上述问题。 智能边缘平台(Intelligent EdgeFabric)通过纳管您的边缘节点,提供将云上应用延伸到边缘的能力,联动边缘和云端的数据,满足客户对边缘计算资源的远程管控、数据处理、分析决策、智能化的诉求。 ModelArts支持将模型通过智能边缘平台IEF,在边缘节点将模型部署为一个Web服务。您可以通过API接口访问边缘服务。 父主题: 功能咨询
共100000条