PAI实现的深度学习网络可视化编辑功能-FastNeuralNetwork

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 在深度学习领域流传着这样一句话,“一张好的表示图,胜过一千个公式” 本文会介绍如何通过PAI-DSW中的FastNerualNetwork功能实现深度学习网络的可视化编辑。 神经网络最早诞生于生物领域,用来模仿生物大脑复杂的神经元构成,后来人类为了探索大脑是如何思考,通过一层一层的数学公式来模拟大脑分析事物的过程。
在深度学习领域流传着这样一句话,“一张好的表示图,胜过一千个公式”
本文会介绍如何通过PAI-DSW中的FastNeuralNetwork功能实现深度学习网络的可视化编辑。

PAI产品入口:https://data.aliyun.com/product/learn
神经网络最早诞生于生物领域,用来模仿生物大脑复杂的神经元构成,后来人类为了探索大脑是如何思考,通过一层一层的数学公式来模拟大脑分析事物的过程。再后来就有了深度学习框架,人们可以通过代码去构建深度学习网络,复杂的深度学习网络通常由几十行甚至几百行代码构成,每一层网络又由许多参数组成,如下图:

当层数增多,通过代码去构建深度学习网络变的困难,并且难以维护和调整。FastNeuralNetwork功能可以将深度学习构图代码一键式转化成网络架构图,并且可以实现可视化编辑,大大增强了模型解读性和可维护性,如下图:

下面就介绍下如何使用FastNeuralNetwork功能。

功能介绍

1.创建

进入DSW,目前只有KerasCode和KerasGraph两个Kernel实现了FastNeuralNetwork功能。

  • KerasCode:先写深度学习网络代码,然后将代码转成图
  • KerasGraph:直接通过画布构建深度学习网络,并且将图转成代码

也可以通过左侧Demo列表提供的官方代码FNNDemo直接使用。

2.Magic Command介绍

打开Keras Code功能进入交互式开发页面,先通过代码构建深度学习网络。如以下示例代码:

import keras
from keras.models import Model
from keras.models import Sequential
from keras.layers import Conv2D, Dense, MaxPooling2D, Flatten, Dropout
from keras.initializers import VarianceScaling, Zeros

model = Sequential()
model.add(MaxPooling2D(padding='valid', data_format='channels_last', pool_size=(2, 2), strides=(2, 2), trainable=True))
model.add(Conv2D(dilation_rate=(1, 1), padding='valid', data_format='channels_last', bias_initializer=Zeros(), use_bias=True, filters=64, strides=(1, 1), trainable=True, kernel_initializer=VarianceScaling(mode='fan_avg', seed=None, scale=1.0, distribution='uniform'), activation='relu', kernel_size=(3, 3)))
model.add(MaxPooling2D(padding='valid', data_format='channels_last', pool_size=(2, 2), strides=(2, 2), trainable=True))
model.add(Dropout(rate=0.25, trainable=True))
model.add(Flatten(data_format='channels_last', trainable=True))
model.add(Dense(bias_initializer=Zeros(), use_bias=True, units=128, trainable=True, kernel_initializer=VarianceScaling(mode='fan_avg', seed=None, scale=1.0, distribution='uniform'), activation='relu'))
model.add(Dropout(rate=0.4, trainable=True))
model.add(Dropout(rate=0.2))

代码中构建了一个Sequential模型,模型对象是model,可以通过输入Magic Command 将代码转化成图

%show_model model

点击图片进入画图编辑界面:

3.编辑网络

FNN功能实现了Keras的原生Cell向画布拖拽并且编辑的功能,画布分为Cell列表区,画布编辑区和参数配置区。

相同作用的Cell会自动编排成组:

画布中的组件会跟代码做自动映射:

4.代码保存

点击To Code按钮弹窗,提示通过画布的修改会导致代码有哪些变化:

点击ok,即可在原有代码文件中生成新的模型构建代码。

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
1月前
|
机器学习/深度学习 存储 算法
深度学习500问——Chapter02:机器学习基础(4)
深度学习500问——Chapter02:机器学习基础(4)
33 0
|
13天前
|
机器学习/深度学习 算法 PyTorch
【动手学深度学习】深入浅出深度学习之线性神经网络
【动手学深度学习】深入浅出深度学习之线性神经网络
54 9
|
2天前
|
机器学习/深度学习 传感器 数据可视化
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
14 1
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
|
6天前
|
机器学习/深度学习 数据可视化 Shell
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化(二)
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化
28 1
|
6天前
|
机器学习/深度学习 数据采集 数据可视化
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化(一)
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化
31 0
|
6天前
|
机器学习/深度学习 数据可视化 测试技术
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
19 0
|
7天前
|
机器学习/深度学习 数据采集 数据可视化
R语言用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化
R语言用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化
101 7
|
7天前
|
机器学习/深度学习 API 算法框架/工具
R语言深度学习:用keras神经网络回归模型预测时间序列数据
R语言深度学习:用keras神经网络回归模型预测时间序列数据
16 0
|
7天前
|
机器学习/深度学习 数据采集 TensorFlow
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
24 0
|
7天前
|
数据可视化
R语言用igraph绘制网络图可视化
R语言用igraph绘制网络图可视化
15 0

热门文章

最新文章

相关产品

  • 人工智能平台 PAI