使用深度学习中的高级主题,例如优化算法,超参数调整,丢失和错误分析,以及解决训练深度神经网络时遇到的典型问题的策略。您将首先研究激活函数,主要是使用单个神经元(ReLu,Sigmoid和Swish),了解如何使用TensorFlow执行线性和逻辑回归,并选择正确的成本函数。 下一节将讨论具有多个层和神经元的更复杂的神经网络架构,并探讨权重随机初始化的问题。整章专门介绍神经网络误差分析的完整概述,给出了解决来自不同分布的方差,偏差,过度拟合和数据集的问题的示例。 Applied Deep Lear
训练好了一个网络,想要查看网络里面参数是否经过BP算法优化过,可以直接读取网络里面的参数,如果一直是随机初始化的值,则证明训练代码有问题,需要改。
下面介绍如何直接读取网络的weight 和 bias。
(1) 获取参数的变量名。可以使用一下函数获取变量名:
def vars_generate1(self,scope_name_var): return [var for var in tf.global_variables() if scope_name_var in var.name ]
一开始没看懂stddev是什么参数,找了一下,在tensorflow/python/ops里有random_ops,其中是这么写的:
def random_normal(shape, mean=0.0, stddev=1.0, dtype=types.float32,
seed=None, name=None):
"""Outputs random values from a normal distribution.
Args:
shape: A 1-D intege