在AI Studio上部署外部可以直接调用的云端服务

Posted 卓晴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在AI Studio上部署外部可以直接调用的云端服务相关的知识,希望对你有一定的参考价值。

简 介: 按照 百度上的快速部署的两个平台:EasyDL以及AI Studio体验馆 的例子,对于在云端部署可以直接调用的服务进行了测试。但最后没有能够测试成功。后面还需要通过具体的例子来测试完整进行AI Studio云端服务的功能。

关键词 Paddle云端服务

部署应用
文章目录
简单模型
样本
建立BP网络
建立数据加载对象
构建网络
训练网络
验证网络
部署应用
转换模型
部署过程
总 结

 

§01 署应用


  于一个训练好的模型,直接部署在云端可以减少对于局部运算资源的需求。这在一些局域网络通讯条件良好的情况下是快速验证和系统搭建的方式。

  在 百度上的快速部署的两个平台:EasyDL以及AI Studio体验馆 中按照说明初步测试了 Ai Studio 中的趣味体验馆的搭建过程,不过最终测试结果并没有完成通过。下面计划使用一个更加简单的模型进行搭建,熟悉网络部署的过程。

1.1 简单模型

  这个简单模型是使用单层的BP网络来实现 2021年人工神经网络第三题:函数逼近

▲ 图1.1.1 二维函数的3D图像

1.1.1 样本

▲ 图1.1.2 二维函数图像模型

from headm import *                 # =
from mpl_toolkits.mplot3d import Axes3D

def fxy(x,y):
    return 3*(1-x)**2*exp(-(x**2+(y+1)**2))+\\
           10*(x/5-x**3-y**5)*exp(-(x**2+y**2))-\\
           exp(-((x+1)**2+y**2))/3

grid_num = 100
x = linspace(-4,4,grid_num)
y = linspace(-4,4,grid_num)
x,y = meshgrid(x,y)

xx = x.flatten()
yy = y.flatten()

ff = fxy(xx,yy).reshape(x.shape)

ax = Axes3D(plt.figure(figsize=(12,8)))
ax.plot_surface(x,y,ff,
                rstride=1,
                cstride=1,
                cmap=plt.cm.Blues)
plt.show()

▲ 图1.1.3 二维函数图像模型

1.2 建立BP网络

1.2.1 建立数据加载对象

(1)数据加载代码

def fxy(x,y):
    return 3*(1-x)**2*exp(-(x**2+(y+1)**2))+\\
           10*(x/5-x**3-y**5)*exp(-(x**2+y**2))-\\
           exp(-((x+1)**2+y**2))/3

grid_num = 100
x = linspace(-4,4,grid_num)
y = linspace(-4,4,grid_num)
x,y = meshgrid(x,y)

xx = x.flatten()
yy = y.flatten()

ff = fxy(xx,yy)
xy = array(list(zip(xx,yy)))

print(shape(ff), shape(xy))

class Dataset(paddle.io.Dataset):
    def __init__(self, num_samples):
        super(Dataset, self).__init__()
        self.num_samples = num_samples

    def __getitem__(self, index):
        data = xy[index]
        label = ff[index]
        return paddle.to_tensor(data,dtype='float32'), paddle.to_tensor(label,dtype='float32')

    def __len__(self):
        return self.num_samples

_dataset = Dataset(len(ff))
train_loader = paddle.io.DataLoader(_dataset, batch_size=1000, shuffle=True)

(2)测试数据加载代码

data = train_loader().next()
print("data: ".format(data))
data: [Tensor(shape=[10, 2], dtype=float32, place=CPUPlace, stop_gradient=True,
       [[ 0.52525252, -3.19191909],
        [-1.57575762,  1.73737371],
        [ 3.27272725, -1.73737371],
        [ 4.        ,  2.78787875],
        [ 2.14141417, -2.38383842],
        [-3.35353541,  2.94949484],
        [ 0.68686867, -0.52525252],
        [ 1.73737371, -2.70707059],
        [ 2.30303025, -2.14141417],
        [ 3.83838391, -0.28282827]]), Tensor(shape=[10, 1], dtype=float32, place=CPUPlace, stop_gradient=True,
       [[ 0.09874938],
        [-0.50992441],
        [-0.00000177],
        [-0.00000011],
        [ 0.02933590],
        [-0.00000427],
        [-0.56279999],
        [ 0.04941760],
        [ 0.02375283],
        [-0.00019992]])]

1.2.2 构建网络

class bpnn(paddle.nn.Layer):
    def __init__(self, ):
        super(bpnn, self).__init__()
        self.L1     = paddle.nn.Linear(in_features=2, out_features=120)
        self.L2     = paddle.nn.Linear(in_features=120, out_features=1)

    def forward(self, x):
        x = self.L1(x)
        x = paddle.nn.functional.sigmoid(x)
        x = self.L2(x)
        return x

model = bpnn()
---------------------------------------------------------------------------
 Layer (<

以上是关于在AI Studio上部署外部可以直接调用的云端服务的主要内容,如果未能解决你的问题,请参考以下文章

混合部署环境本地邮件被云端传输规则当成外部邮件处理

百度上的快速部署的两个平台:EasyDL以及AI Studio体验馆

全球云端数据仓库领导者 MaxCompute 将于本月10日正式开服美东节点

智能AI辅助客服回复生成答案配置

AI 生成二次元女孩,免费云端部署(仅需5分钟)

AI开发利器:HiLens Studio技术解读