当前位置: 首页 > 知识库问答 >
问题:

如何利用AWS SageMaker上训练的模型,利用内置的语义分割算法在本地PC机上进行推理?

白嘉石
2023-03-14

类似的问题是,经过培训的模型可以部署在其他平台上,而无需依赖sagemaker或aws服务?。

我使用内置的语义分割算法在AWS SageMaker上训练了一个模型。该训练模型被命名为模型。焦油gz存储在S3上。所以我想从S3下载这个文件,然后用它在本地PC上进行推断,而不再使用AWS SageMaker。由于内置的算法语义分割是使用MXNet Gluon框架和Gluon CV工具包构建的,因此我尝试参考MXNet和Gluon CV的文档在本地PC上进行推理。

从S3下载此文件很容易,然后我解压缩此文件以获得三个文件:

  1. 超参数。json:包括网络架构、数据输入和培训的参数。参见语义分段超参数
  2. 模型_algo-1
  3. 最好是模特儿。params

model_algo-1和model_best.params都是训练好的模型,我认为是net.save_parameters的输出(参考训练神经网络)。我还可以用函数mxnet.ndarray.load加载它们。

请参阅使用预训练模型的预测。我发现有两个必要的东西:

  1. 重建网络进行推理
  2. 加载经过训练的参数

至于重建网络进行推理,因为我从训练中使用了PSPNet,所以我可以使用类gluoncv。模特儿动物园。PSPNet重建网络。我知道如何使用AWS SageMaker的一些服务,例如批量转换作业,来进行推断。我想在本地PC上复制它。如果我使用类gluoncv。模特儿动物园。PSPNet为了重建网络,我无法确定此网络的参数是否与AWS SageMaker在进行推理时使用的参数相同。因为我看不到图像501404015308。dkr。ecr。ap-东北-1。亚马逊。com/语义分段:详细介绍最新的

至于加载经过训练的参数,我可以使用load\u参数。但是对于模型1和模型1来说最好。params,我不知道该用哪一个。

共有1个答案

方博
2023-03-14

下面的代码对我来说很好。

import mxnet as mx
from mxnet import image
from gluoncv.data.transforms.presets.segmentation import test_transform
import gluoncv

# use cpu
ctx = mx.cpu(0)

# load test image
img = image.imread('./img/IMG_4015.jpg')
img = test_transform(img, ctx)
img = img.astype('float32')

# reconstruct the PSP network model
model = gluoncv.model_zoo.PSPNet(2)

# load the trained model
model.load_parameters('./model/model_algo-1')

# make inference
output = model.predict(img)
predict = mx.nd.squeeze(mx.nd.argmax(output, 1)).asnumpy()
 类似资料:
  • 在 M600 上使用 Polar 应用程式可让您充分利用这款专门针对运动而设计的智能手表。 通过以下链接了解有关如何使用 M600 上的 Polar 应用程式进行训练的详细信息: 佩戴 M600 开始训练 训练期间 暂停/停止训练 训练后

  • 到目前为止,这是我认为我需要的行,但不确定它是否正确。 如果有人能告诉我如何正确地保存训练过的模型,以及使用哪些变量来使用保存的模型进行推理,我会非常感激的。

  • 本文向大家介绍利用TensorFlow训练简单的二分类神经网络模型的方法,包括了利用TensorFlow训练简单的二分类神经网络模型的方法的使用技巧和注意事项,需要的朋友参考一下 利用TensorFlow实现《神经网络与机器学习》一书中4.7模式分类练习 具体问题是将如下图所示双月牙数据集分类。 使用到的工具: python3.5    tensorflow1.2.1   numpy   matp

  • 本文向大家介绍Tensorflow实现在训练好的模型上进行测试,包括了Tensorflow实现在训练好的模型上进行测试的使用技巧和注意事项,需要的朋友参考一下 Tensorflow可以使用训练好的模型对新的数据进行测试,有两种方法:第一种方法是调用模型和训练在同一个py文件中,中情况比较简单;第二种是训练过程和调用模型过程分别在两个py文件中。本文将讲解第二种方法。 模型的保存 tensorflo

  • 我在amazon sagemaker上使用aws blazingtext算法训练了一个模型,并且我能够使用sagemaker部署一个endpoint。然而,在我的情况下,这是不符合成本效益的,我想在本地运行它。我发现这方面的文档很混乱。 我拥有的是一个经过训练的模型,它被保存为一个“model.tar.gz”文件,我从s3 bucket下载了这个文件。我在网上读到,您可以使用tensorflow和

  • 我从Tensorflow Hub重新训练了一个mobilenet-v1图像分类模型,并使用toco对其进行转换,以便使用Tensorflow Lite进行推断。 但是,当我使用tflite模型运行推断时,它需要与我使用指定的输入大小不同的输入大小。 我如何在自己的数据上重新训练一个mobilenetv1量化模型? 下面是我尝试的步骤: > 从tensorflow for poets Codelab