待解决的问题:
1. 什么是WebGL
全称是 Web Graphics Library,是一种3D绘图协议,允许把JavaScript和OpenGL结合在一起,为HTML5 Canvas提供硬件3D加速渲染。简单理解就是WebGL可以使用显卡来做计算和数据处理。
基础概念:
1. Tensor
简单理解就是N维数据集,可以是单个数字,可以是向量,可以是矩阵......
2. Variable
Tensor是不可变的(immutable),而Variable是可变的,可用于存储中间变量,提高内存的使用率。
3. Operation
对数据进行的操作,加减乘除、乘方等等......
4. Model 和 Layer
Model简单理解就是方程,输入X,输出Y。举例来说:
y = 2x + 1
当输入x = 2, 则y = 5。这个方程就是一个Model。
Layer简单理解就是Model集合,从中可以方便的产生Model。同样举例说明:
y = ax + b
制定a = 2, b = 1,就得到一个Model。
5. 内存管理——dispose 和 tf.tidy
在tensor或variable上调用dispose,就会释放该tensor或variable所占用的GPU内存。
tf.tidy需要传入一个函数作为参数,它会立即释放参数函数创建的tensor占用的内存,但是会保留返回值的内存。
使用tf.tidy有两点需要注意:
a). tf.tidy的参数函数只能是同步的,并且不能返回Promise
b). tf.tidy不能用来释放variable占用的内存
网友评论