在 TensorSpace 中,“模型”的定义并不是我们在机器学习中所指的传统意义上的神经网络模型(如由 TensorFlow、Keras、TensorFlow.js 所训练的模型)。它是一个构成
TensorSpace 的基础概念。通过它,我们才能构造、渲染3D可视化的神经网络模型。
模型不仅是载体
对于 TensorSpace 来说,所有的基本对象——不管是神经网络模型的对象,还是可视化交互对象——都是由“模型”来进行承载的。开发者可以通过模型来添加、提取所需要的网络层;开发者也可以通过模型来加载、使用所需要的神经网络模型。所有用于神经网络 3D可视化的组件都包含于“模型”之中。
图1 - TensorSpace 模型中展开的层
模型更是连结
所有用于可视化的组件都是在模型中创建的。在此过程中,模型确保为可视化组件与神经网络模型中的对应部分进行链接。因此当神经网络模型进行预测计算时:所有中间层的输出数据将在其对应的 TensorSpace层进行渲染;不同层之间的关系将由关系连线所连接;特征图上的信息将由文本组件展示……
所有的可视化组件与神经网络模型都通过“模型”进行连结。
图2 - 观察预测过程
小结
“模型”集成了从神经网络模型预处理到中间层数据渲染的整个过程。它不仅仅展示了神经网络的结构,更呈现出神经网络中数据流动、关联的过程。
关键点
模型对象
- filter_center_focus 模型对象是 TensorSpace 的基本构成组件。
- filter_center_focus 它的主要作用是用来存储组件的。
- filter_center_focus 详情参见模型。
网络层
- filter_center_focus “网络层”对象是 TensorSpace 的基本构成组件。
- filter_center_focus 它主要是用来搭建可视化网络结构的。
- filter_center_focus 不同的层拥有不同的配置方式、特征以及功能。
- filter_center_focus 详情参见网络层。
创建
- filter_center_focus init() 方法是创建 TensorSpace 模型的真正开始。
- filter_center_focus 所有可视化对象的初始化均采用了:优先配置、延迟初始化以及统一初始化的策略。
- filter_center_focus 由于几乎所有的对象创建都在init()中进行,因此init()将花费较长的时间来完成运行。
- filter_center_focus 当init()被调用之后,所有的对象将被创建。若需要更新对象或重新对某一对象更改配置,可能需要重新初始化。
- filter_center_focus 我们可以添加一个回调函数作为参数。当init()执行完成后,它将触发这个回调函数。例如:我们可以以此计算出初始化当前模型的总用时。
加载
- filter_center_focus load() 方法将神经网络模型的3D可视化展示变为可能。
- filter_center_focus 详情参见加载。
预测
- filter_center_focus predict() 方法在神经网络模型与3D可视化组件之间起到了连接的作用。
- filter_center_focus 详情参见预测。