小白带你如何快速开始使用TensorBoard

本文介绍了机器学习工具TensorBoard,它可提供机器学习工作流所需的测量和可视化。文中以mnist为例,讲解了如何快速开始使用TensorBoard,包括建立模型、在model.fit中使用、页面展现、仪表板作用等内容,还说明了如何继续用仪表盘查看算法调动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

机器学习的 TensorBoard

TensorBoard是一个工具,用于提供机器学习工作流期间所需的测量和可视化。它可以跟踪实验指标,如损失和精度,可视化模型图,将嵌入投影到低维空间,等等。

如何快速开始使用TensorBoard

使用mnist的例子进行TensorBoard例子

建立模型

mnist = tf.keras.datasets.mnist

(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

def create_model():
  return tf.keras.models.Sequential([
    tf.keras.layers.Flatten(input_shape=(28, 28)),
    tf.keras.layers.Dense(512, activation='relu'),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(10, activation='softmax')
  ])

在model.fit和TensorBoard使用

项目的目录需要建立一个logs/fit目录,手工建立即可。model训练时候,会有回调callBacks=[tensortboard_callback]将日志按照时间搓的写入到文件夹中的文件中。

model = create_model()
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)

model.fit(x=x_train, 
          y=y_train, 
          epochs=5, 
          validation_data=(x_test, y_test), 
          callbacks=[tensorboard_callback])

运行记录截取部分。生成的目录文件夹截取

在项目的目录下运行 tensorboard --logdir logs/fit

tensorboard --logdir logs/fit
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.1.1 at http://localhost:6006/ (Press CTRL+C to quit)

页面展现

仪表板作用

  • Scalars仪表板显示了损失和度量是如何随每个时代而变化的。您还可以使用它来跟踪训练速度、学习率和其他标量值。
  • 图形仪表板帮助您可视化模型。在这种情况下,将显示层的路缘石图形,这有助于确保正确构建。
  • 分布图和直方图仪表板显示了张量随时间的分布。这有助于可视化权重和偏差,并验证它们是否以预期的方式变化。

继续用TensorFlow仪表盘

用仪表盘查看算法调动。如

开始训练。在训练或者测试期间,在编写器的范围内记录指标(损失和准确性),以便将摘要写入磁盘。您可以控制记录哪些指标以及记录的频率。其他tf.总结函数允许记录其他类型的数据。保存到目录如下图

再次打开仪表盘

 tensorboard --logdir logs/gradient_tape
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.1.1 at http://localhost:6006/ (Press CTRL+C to quit)

恭喜你已经学会了。请关注我,谢谢!

boston_housing module: Boston housing price regression dataset. cifar10 module: CIFAR10 small images classification dataset. cifar100 module: CIFAR100 small images classification dataset. fashion_mnist module: Fashion-MNIST dataset. imdb module: IMDB sentiment classification dataset. mnist module: MNIST handwritten digits dataset. reuters module: Reuters topic classification dataset. import tensorflow as tf from tensorflow import keras fashion_mnist = keras.datasets.fashion_mnist (x_train, y_train), (x_test, y_test) = fashion_mnist.load_data() mnist = keras.datasets.mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() cifar100 = keras.datasets.cifar100 (x_train, y_train), (x_test, y_test) = cifar100.load_data() cifar10 = keras.datasets.cifar10 (x_train, y_train), (x_test, y_test) = cifar10.load_data() imdb = keras.datasets.imdb (x_train, y_train), (x_test, y_test) = imdb.load_data() # word_index is a dictionary mapping words to an integer index word_index = imdb.get_word_index() # We reverse it, mapping integer indices to words reverse_word_index = dict([(value, key) for (key, value) in word_index.items()]) # We decode the review; note that our indices were offset by 3 # because 0, 1 and 2 are reserved indices for "padding", "start of sequence", and "unknown". decoded_review = ' '.join([reverse_word_index.get(i - 3, '?') for i in x_train[0]]) print(decoded_review) boston_housing = keras.datasets.boston_housing (x_train, y_train), (x_test, y_test) = boston_housing.load_data() reuters= keras.datasets.reuters (x_train, y_train), (x_test, y_test) = reuters.load_data() tf.keras.datasets.reuters.get_word_index( path='reuters_word_index.json' )
<think>我们正在回答用户关于“科研新手如何入门学习算法”的问题,特别是科研常用算法基础介绍。根据引用[2],我们知道算法和数据结构是密不可分的,数据结构是算法的基础。因此,我们需要从基础的数据结构和算法讲起。 首先,我们需要明确科研中常用的算法基础包括哪些。通常,科研中常用的算法基础包括但不限于: 1. 排序算法(如快速排序、归并排序等) 2. 搜索算法(如二分查找) 3. 图算法(如最短路径、最小生成树等) 4. 动态规划 5. 贪心算法 6. 分治算法 7. 字符串匹配算法(如KMP) 此外,对于不同的科研领域(如计算机视觉、自然语言处理等),还会涉及一些特定的算法,例如在计算机视觉中常用的卷积神经网络(CNN)等深度学习算法。但作为基础,我们首先应该掌握通用的算法。 接下来,我们将按照以下结构回答: 1. 算法入门的基本步骤 2. 科研常用基础算法介绍(每个算法简要介绍,包括思想、应用场景) 3. 学习资源推荐 4. 如何实践 由于用户是科研入门者,我们应尽量用通俗易懂的语言,并给出实际科研中应用的例子。 注意:在回答中,我们可能会引用站内引用,但注意引用的内容要与当前问题相关。根据提供的引用,我们主要参考引用[1]和[2]。</think>### 科研新手算法入门指南 #### 一、基础学习路径 1. **核心基础** - **数据结构**:数组、链表、栈、队列、树(二叉树/B树)、图、哈希表 - **算法思想**:分治、贪心、动态规划、回溯、搜索(DFS/BFS) - **复杂度分析**:掌握 $O(1)$、$O(\log n)$、$O(n^2)$ 等符号含义,理解时间/空间权衡 2. **科研常用算法** | 算法类型 | 典型算法 | 科研应用场景 | |----------------|--------------------------|----------------------------------| | **分类算法** | SVM、决策树、随机森林 | 数据分类、特征识别 | | **聚类算法** | K-means、DBSCAN | 无监督数据分组 | | **优化算法** | 梯度下降、遗传算法 | 模型参数优化 | | **图算法** | PageRank、最短路径 | 社交网络分析、路径规划 | | **神经网络** | CNN、RNN、Transformer | 计算机视觉、自然语言处理[^1] | 3. **数学基础** - 线性代数(矩阵运算):$A \cdot B = C$ - 概率统计:贝叶斯定理 $P(A|B) = \frac{P(B|A)P(A)}{P(B)}$ - 微积分:梯度计算 $\nabla f(x,y)$ #### 二、高效学习方法 1. **三步实践法** ```mermaid graph LR A[理解原理] --> B[手写实现] B --> C[对比优化] C --> D[应用场景验证] ``` 2. **工具推荐** - **代码实践**:Python(NumPy/SciPy)、MATLAB - **可视化**:TensorBoard、Matplotlib - **论文复现**:GitHub开源项目(如YOLO复现[^3]) 3. **科研关键技巧** - 学会阅读论文中的**算法伪代码** - 掌握**消融实验**设计方法(如逐步移除模块验证有效性[^3]) - 使用**Latex**规范书写公式(如独立公式格式:$$ \frac{\partial L}{\partial w} $$) #### 三、入门资源推荐 1. **经典教材** - 《算法导论》 - 系统学习理论基础 - 《Python机器学习》 - 实战案例驱动 2. **在线课程** - Coursera《机器学习》(吴恩达) - 国内慕课《数据结构与算法》(清华/北大) 3. **科研社区** - Kaggle竞赛(实战算法应用) - Papers With Code(最新算法复现) > **关键提示**:科研算法学习需注重**可复现性**,建议使用Jupyter Notebook记录实验过程,并掌握Git版本管理。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KENYCHEN奉孝

您的鼓励是我的进步源泉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值