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
|
1月前
|
机器学习/深度学习 数据采集 人工智能
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
38 0
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
8天前
|
机器学习/深度学习 算法 PyTorch
【动手学深度学习】深入浅出深度学习之线性神经网络
【动手学深度学习】深入浅出深度学习之线性神经网络
53 9
|
1天前
|
机器学习/深度学习 数据可视化 Shell
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化(二)
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化
11 1
|
1天前
|
机器学习/深度学习 数据采集 数据可视化
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化(一)
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化
18 0
|
2天前
|
机器学习/深度学习 数据采集 数据可视化
R语言用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化
R语言用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化
91 7
|
2天前
|
机器学习/深度学习 数据采集 TensorFlow
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
22 0
|
2天前
|
数据可视化
R语言用igraph绘制网络图可视化
R语言用igraph绘制网络图可视化
13 0
|
2天前
|
机器学习/深度学习 数据可视化 PyTorch
PyTorch小技巧:使用Hook可视化网络层激活(各层输出)
这篇文章将演示如何可视化PyTorch激活层。可视化激活,即模型内各层的输出,对于理解深度神经网络如何处理视觉信息至关重要,这有助于诊断模型行为并激发改进。
8 1

相关产品

  • 人工智能平台 PAI