阿里云机器学习平台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客户端使用说明

相关文章
|
8月前
|
人工智能 自然语言处理 运维
【新模型速递】PAI-Model Gallery云上一键部署Kimi K2模型
月之暗面发布开源模型Kimi K2,采用MoE架构,参数达1T,激活参数32B,具备强代码能力及Agent任务处理优势。在编程、工具调用、数学推理测试中表现优异。阿里云PAI-Model Gallery已支持云端部署,提供企业级方案。
477 0
【新模型速递】PAI-Model Gallery云上一键部署Kimi K2模型
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
Cosmos on PAI系列一:PAI-Model Gallery云上一键部署NVIDIA Cosmos Reason-1
本篇文章介绍 Cosmos 最新世界基础模型 Cosmos Reason-1 如何在阿里云人工智能平台 PAI 上进行快速部署使用。
|
8月前
|
人工智能 自然语言处理 运维
【新模型速递】PAI-Model Gallery云上一键部署gpt-oss系列模型
阿里云 PAI-Model Gallery 已同步接入 gpt-oss 系列模型,提供企业级部署方案。
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
阿里云人工智能平台 PAI 开源 EasyDistill 框架助力大语言模型轻松瘦身
本文介绍了阿里云人工智能平台 PAI 推出的开源工具包 EasyDistill。随着大语言模型的复杂性和规模增长,它们面临计算需求和训练成本的障碍。知识蒸馏旨在不显著降低性能的前提下,将大模型转化为更小、更高效的版本以降低训练和推理成本。EasyDistill 框架简化了知识蒸馏过程,其具备多种功能模块,包括数据合成、基础和进阶蒸馏训练。通过数据合成,丰富训练集的多样性;基础和进阶蒸馏训练则涵盖黑盒和白盒知识转移策略、强化学习及偏好优化,从而提升小模型的性能。
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
【新模型速递】PAI-Model Gallery云上一键部署MiniMax-M1模型
MiniMax公司6月17日推出4560亿参数大模型M1,采用混合专家架构和闪电注意力机制,支持百万级上下文处理,高效的计算特性使其特别适合需要处理长输入和广泛思考的复杂任务。阿里云PAI-ModelGallery现已接入该模型,提供一键部署、API调用等企业级解决方案,简化AI开发流程。
|
10月前
|
机器学习/深度学习 人工智能 JSON
DistilQwen-ThoughtX 蒸馏模型在 PAI-ModelGallery 的训练、评测、压缩及部署实践
通过 PAI-ModelGallery,可一站式零代码完成 DistilQwen-ThoughtX 系列模型的训练、评测、压缩和部署。
|
6月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
1552 6
|
11月前
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
728 8
|
12月前
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。

热门文章

最新文章