阿里云机器学习平台DSW2:keras 模型训练与EAS部署

简介: 本文介绍如何在DSW2中使用keras训练并获取模型,然后使用eascmd指令部署模型到eas服务,最后介绍如何使用python sdk调用部署的eas服务。

Step By Step

一、模型训练与保存

1.1 DSW控制台创建DSW2实例

图片.png

1.2 Terminal更新TensorFlow(2.3.1当期最新版本)

pip install tensorflow

图片.png

1.3、python code

# 安装 TensorFlow
import tensorflow as tf

print(tf.__version__)

mnist = tf.keras.datasets.mnist

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)

model.evaluate(x_test,  y_test, verbose=2)

# 将整个模型另存为 SavedModel。
model.save('saved_model_2/my_model') 

图片.png

4、模型格式
图片.png

二、eascmd部署模型

2.1 压缩模型到zip包

zip -r model ./

图片.png

2.2 eascmd 用户认证

eascmd64 config -i -k -e pai-eas.cn-hangzhou.aliyuncs.com

图片.png

2.3 上传文件

eascmd upload [filename] --inner

图片.png

2.4 创建模型部署json文件

{

"name": "taro_eas_keras_demo",
"generate_token": "true",
"model_path": "oss://eas-model-hangzhou/18482178/model.zip",
"processor": "tensorflow_cpu_1.14",
"metadata": {

"instance": 1,
"cpu": 1

}
}

更多参考:EASCMD客户端使用说明

2.5 部署模型

eascmd create [service_desc_json]

图片.png

2.6 eas 控制台查看成功部署的模型
图片.png

三、sdk 调用模型

3.1 获取模型信息。

通过GET请求可以获取模型的相关信息,包括signature_name、name、type及shape,示例如下: curl <访问地址> -H 'Authorization:' | python -mjson.tool

图片.png

3.2 Python SDK调用 Code Sample

#!/usr/bin/env python
from eas_prediction import PredictClient, TFRequest
import cv2
import numpy as np

with open('2.jpg', 'rb') as infile:
    buf = infile.read()
    # 使用numpy将字节流转换成array
    x = np.fromstring(buf, dtype='uint8')
    # 将读取到的array进行图片解码获得28 × 28的矩阵
    img = cv2.imdecode(x, cv2.IMREAD_UNCHANGED)
    # 由于预测服务API需要长度为784的一维向量将矩阵reshape成784
    img = np.reshape(img, 784)

if __name__ == '__main__':

    # http://1848217*********.cn-shanghai.pai-eas.aliyuncs.com/api/predict/kears_model
    client = PredictClient('1848217*********.cn-shanghai.pai-eas.aliyuncs.com', 'kears_model')
    #  注意上面的client = PredictClient()内填入的信息,是通过对调用信息窗口(下图)中获取的访问地址的拆分
    client.set_token('*********')
    #  Token信息在“EAS控制台—服务列表—服务—调用信息—公网地址调用—Token”中获取
    client.init()

    req = TFRequest('serving_default') # signature_name 参数:serving_default
    req.add_feed('flatten_input', [1, 28, 28], TFRequest.DT_FLOAT, img)

    resp = client.predict(req)
    print(resp)

3.3 测试结果

outputs {
  key: "dense_1"
  value {
    dtype: DT_FLOAT
    array_shape {
      dim: 1
      dim: 10
    }
    float_val: 0.0
    float_val: 0.0
    float_val: 1.0
    float_val: 0.0
    float_val: 0.0
    float_val: 0.0
    float_val: 0.0
    float_val: 0.0
    float_val: 0.0
    float_val: 0.0
  }
}

参考链接:阿里云机器学习PAI EAS部署TensorFlow Model

参考链接

阿里云机器学习PAI EAS部署TensorFlow Model
TensorFlow服务请求构造
EASCMD客户端使用说明

相关文章
|
2月前
|
机器学习/深度学习 测试技术
阿里云入选Gartner数据科学和机器学习平台挑战者象限
Gartner® 正式发布了《数据科学与机器学习平台魔力象限》报告(Magic Quadrant™ for Data Science and Machine Learning Platforms),阿里云成为唯一一家入选该报告的中国厂商,被评为“挑战者”(Challengers)。
|
8天前
|
API Python
PAI EAS Flask应用部署Quick Start
本文介绍了如何将Python Flask应用快速部署到阿里云PAI EAS,并通过API对外提供服务。示例代码包括`web.py`和`demo.py`两个文件,展示了基本的Flask应用和跨文件导入功能。最后,通过阿里云控制台完成服务部署和调用。
56 28
|
8天前
|
开发者 Python
阿里云PAI DSW快速部署服务
在使用阿里云DSW实例进行开发的时候,可能需要快速部署服务测试应用效果。DSW实例目前已经支持通过自定义服务访问配置功能,对外提供服务访问能力,您在应用开发过程中无需分享整个DSW实例,即可将服务分享给协作开发者进行测试和验证。
52 23
|
29天前
|
机器学习/深度学习 人工智能 算法
国内首家! 阿里云人工智能平台 PAI 通过 ITU 国际标准测评
阿里云人工智能平台 PAI 顺利通过中国信通院组织的 ITU-T AICP-GA国际标准和《智算工程平台能力要求》国内标准一致性测评,成为国内首家通过该标准的企业。阿里云人工智能平台 PAI 参与完成了智算安全、AI 能力中心、数据工程、模型开发训练、模型推理部署等全部八个能力域,共计220余个用例的测试,并100%通过测试要求,获得了 ITU 国际标准和国内可信云标准评估通过双证书。
国内首家! 阿里云人工智能平台 PAI 通过 ITU 国际标准测评
|
28天前
|
机器学习/深度学习 人工智能 监控
AutoTrain:Hugging Face 开源的无代码模型训练平台
AutoTrain 是 Hugging Face 推出的开源无代码模型训练平台,旨在简化最先进模型的训练过程。用户无需编写代码,只需上传数据即可创建、微调和部署自己的 AI 模型。AutoTrain 支持多种机器学习任务,并提供自动化最佳实践,包括超参数调整、模型验证和分布式训练。
114 4
AutoTrain:Hugging Face 开源的无代码模型训练平台
|
14天前
|
机器学习/深度学习 人工智能 自然语言处理
【NeurIPS'24】阿里云 PAI 团队论文被收录为 Spotlight,并完成主题演讲分享
12月10日,NeurIPS 2024在温哥华开幕,阿里云PAI团队论文《PertEval: Unveiling Real Knowledge Capacity of LLMs with Knowledge-Invariant Perturbations》入选Spotlight,PAI团队还进行了“可信AI的技术解读与最佳实践”主题演讲,展示AI工程化平台产品能力。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【EMNLP2024】阿里云人工智能平台 PAI 多篇论文入选 EMNLP2024
阿里云人工智能平台 PAI 的多篇论文在 EMNLP2024 上入选。论文成果是阿里云与华南理工大学金连文教授团队、复旦大学王鹏教授团队共同研发。EMNLP 是人工智能自然语言处理领域的顶级国际会议,聚焦于自然语言处理技术在各个应用场景的学术研究,尤其重视自然语言处理的实证研究。该会议曾推动了预训练语言模型、文本挖掘、对话系统、机器翻译等自然语言处理领域的核心创新,在学术和工业界都有巨大的影响力。此次入选标志着阿里云人工智能平台 PAI 在自然语言处理和多模态算法能力方面研究获得了学术界认可。
|
29天前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
97 4
|
8天前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
23 2
|
26天前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
43 1

热门文章

最新文章