🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
**构建网络** 通过叠加`Dense`层来构建网络: `keras.layers.Dense(512, activation='relu')` =![](https://img.kancloud.cn/6d/db/6ddb995db4baa6b87b38f78e22f926eb_254x143.png) 这个**层**(layers)就是一个函数 层的**权重**。权重是利用随机梯度下降学到的一个或多个张量,其中包含网络的**知识**。 **逐元素运算**(element-wise):该运算独立地应用于张量中的每个元素 ``` #relu运算 def naive_relu(x): assert len(x.shape) == 2 x = x.copy() for i in range(x.shape[0]): for j in range(x.shape[1]): x[i, j] = max(x[i, j], 0) return x #加法 def naive_add(x, y): assert len(x.shape) == 2 assert x.shape == y.shape x = x.copy() for i in range(x.shape[0]): for j in range(x.shape[1]): x[i, j] += y[i, j] return x ``` **广播**(broadcast):(只出现在算法中,而没有发生在内存中) 两个形状不同的张量相加,较小的张量会被**广播**: 1. 向较小的张量添加轴(叫作**广播轴**),使其`ndim`与较大的张量相同。 2. 将较小的张量沿着新轴重复,使其形状与较大的张量相同。 ***** **张量积**(tensor produc,点积运算):~~‘*’逐元素乘积~~ `dot`运算符,实现点积 (只有元素个数相同的向量之间才能做点积) ~~~ np.dot(x, y) <=> x.y ~~~ **张量变形**(tensor reshaping):改变张量的行和列,以得到想要的形状 **转置**(transposition):将行和列互换