TensorBoard视觉化网络每层权重分布、视觉化网络层结构

小灰灰 2023-07-03 03:16 14阅读 0赞

" class="reference-link">20191009191333910.png

日萌社

人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)


tensorflow 2.0 画出model网络模型的拓扑图

tensorflow 2.0 的回调函数callbacks(TensorBoard、ModelCheckpoint)

TensorBoard视觉化网络每层权重分布、视觉化网络层结构

MSE(均方误差)、MAE(平均绝对误差)

from_logits

CE(Cross-Entropy)、BCE(Binary Cross-Entropy 即Sigmoid+CE)、CCE(Categorical Cross-Entropy 即Softmax+CE)

对连续值/离散值进行预处理的两种方式(标准化/one-hot化)、反标准化/逆标准化、字符串预处理

损失函数loss、指标函数metrics

激活函数 Sigmoid、Tanh、ReLU、Softmax

Batch Normalization

反向传播、梯度下降、学习率、优化器optimizers(GD、SGD、Momentum、AdaGrad、Adam)

权重初始化对于激活函数的选择:随机常态分布/随机正态分布初始化(标准差为0.01或1)、Xavier(Glorot)初始化、He初始化

图像增强(IA)、数据预处理

混淆矩阵tf.math.confusion_matrix

使用预训练网络训练的两种方式:Keras Applications、TensorFlow Hub


  1. TensorBoard
  2. 先导入 from tensorflow import keras
  3. keras.callbacks.TensorBoard的初始化默认值如下
  4. keras.callbacks.TensorBoard(log_dir='./logs', histogram_freq=0, batch_size=32, write_graph=True,
  5. write_grads=False, write_images=False, embeddings_freq=0, embeddings_layer_names=None,
  6. embeddings_metadata=None, embeddings_data=None, update_freq='epoch')
  7. Tensorboard 基本可视化。
  8. TensorBoard 是由 Tensorflow 提供的一个可视化工具。
  9. 这个回调函数为 Tensorboard 编写一个日志, 这样你可以可视化测试和训练的标准评估的动态图像,
  10. 也可以可视化模型中不同层的激活值直方图。
  11. 如果你已经使用 pip 安装了 Tensorflow,你应该可以从命令行启动 Tensorflowtensorboard --logdir=/full_path_to_your_logs
  12. 参数:
  13. log_dir: 用来保存被 TensorBoard 分析的日志文件的文件名。
  14. histogram_freq: 对于模型中各个层计算激活值和模型权重直方图的频率(训练轮数中)。 如果设置成 0 ,直方图不会被计算。
  15. 对于直方图可视化的验证数据(或分离数据)一定要明确的指出。
  16. write_graph: 是否在 TensorBoard 中可视化图像。 如果 write_graph 被设置为 True,日志文件会变得非常大。
  17. write_grads: 是否在 TensorBoard 中可视化梯度值直方图。 histogram_freq 必须要大于 0
  18. batch_size: 用以直方图计算的传入神经元网络输入批的大小。
  19. write_images: 是否在 TensorBoard 中将模型权重以图片可视化。
  20. embeddings_freq: 被选中的嵌入层会被保存的频率(在训练轮中)。
  21. embeddings_layer_names: 一个列表,会被监测层的名字。 如果是 None 或空列表,那么所有的嵌入层都会被监测。
  22. embeddings_metadata: 一个字典,对应层的名字到保存有这个嵌入层元数据文件的名字。 查看 详情 关于元数据的数据格式。
  23. 以防同样的元数据被用于所用的嵌入层,字符串可以被传入。
  24. embeddings_data: 要嵌入在 embeddings_layer_names 指定的层的数据。 Numpy 数组(如果模型有单个输入)或 Numpy 数组列表(如果模型有多个输入)。
  25. update_freq: 'batch' 'epoch' 整数。当使用 'batch' 时,在每个 batch 之后将损失和评估值写入到 TensorBoard 中。
  26. 同样的情况应用到 'epoch' 中。如果使用整数,例如 10000,这个回调会在每 10000 个样本之后将损失和评估值写入到 TensorBoard 中。
  27. 注意,频繁地写入到 TensorBoard 会减缓你的训练。
  28. 1.TensorBoard 视觉化网络每层权重分布:
  29. model = keras.callbacks.TensorBoard(log_dir='./logs', histogram_freq=1)
  30. #histogram_freq=1代表每训练一个epoch,把各层的网络权重分布都记录下来
  31. 2.TensorBoard 视觉化网络层结构:
  32. model = keras.callbacks.TensorBoard(log_dir='./logs')
  33. model.set_model(model) #将网络模型存储到TensorBoard上

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9henVzYS5ibG9nLmNzZG4ubmV0_size_16_color_FFFFFF_t_70

发表评论

表情:
评论列表 (有 0 条评论,14人围观)

还没有评论,来说两句吧...

相关阅读