tensorflow的tfdbg指令

本文介绍了如何使用TensorFlow的官方调试工具tfdbg进行图计算的调试。通过创建tf_debug.LocalCLIDebugWrapperSession封装普通Session,然后在命令行启动Python程序并附加--debug参数。当遇到session.run()时,tfdbg会进入字符界面,通过特定命令如`lt -n 张量名`来查看张量。如果张量不存在,可能是因为程序还未执行到相应代码,需要结合log输出判断程序执行进度。
摘要由CSDN通过智能技术生成

因为tensorflow的图计算方式,传统的调试方式是无法进行变量值动态查看的。google提供了tensorflow的官方调试其tfdbg来进行调试工作。

现将基本使用方式概述如下:

1、在源码中用tfdbf的专属Session来封装普通Session,这个很简单,如下:

from tensorflow.python import debug as tf_debug

sess2 = tf_debug.LocalCLIDebugWrapperSession(sess1)

session1是tf普通的session, 使用LocalCLIDebugWrapperSession封装过的session2,可以替代session1来执行后续操作。

2、在控制台命令行下执行python程序,并附带--debug参数,例如:

pyton  -m demo.py  --debug

此时,tf将执行该demo程序,一直到代码中遇到session.run()的语句会停止。此时,tfdbg将进入debug字符界面。这是一种特殊交互方式,需配合命令与鼠标一起操作。

3、tensor张量的debug

在debug某个张量之前,需事先知道这个张量的名称。根据个人经验,这个可以在IDE下,用普通的debug模式查看该张量的名称。

知道名称后,可以用如下指令列出该张量。

lt -n 张量名

如果tfdbg找到该张量,则会以列表形式罗列出来。

找到需要查看的张量,用鼠标可以点击打开。

如下示例:

4、有时候,需要查看的张量会不存在,那么很有可能是因为程序还没执行到产生该张量的代码位置。

根据个人的使用经验,需要debug的程序往往很长,而且该debug方式不同于常见的debuger。因此,需要观察log的输出,可以用来判断程序执行到哪个位置,进而判断想要查看的张量是否已经存在。

5、常用的tfdbg指令

命令 语法或选项 说明 示例
lt   列出转储张量。 lt
  -n <name_pattern> 列出名称符合指定正则表达式格式的转储张量。 lt -n Softmax.*
  -t <op_pattern> 列出指令类型符合指定正则表达式格式的转储张量。 lt -t MatMul
  -f <filter_name> 列出仅通过已注册张量过滤器的张量。 lt -f has_inf_or_nan
  -f <filter_name> -fenn <regex> 列出仅通过已注册张量过滤器的张量,不包括名称符合正则表达式的节点。 lt -f has_inf_or_nan -fenn .*Sqrt.*
  -s <sort_key> 按指定的 sort_key</
TensorFlow语音指令识别是指使用TensorFlow作为基础框架,对语音指令进行识别和分类的技术。它主要涉及声音信号的处理、特征提取和模型训练等步骤。 首先,声音信号会被转化成数字信号,然后通过预处理步骤对信号进行降噪和增强等操作,以提高信号质量。接下来,通过时域和频域分析等方法,提取出语音信号的特征,例如MFCC(Mel频率倒谱系数)。 在特征提取完成后,使用TensorFlow构建深度学习模型,如卷积神经网络(CNN)或循环神经网络(RNN)。利用训练数据集训练模型,使其能够学习不同语音指令的特征和模式。同时,使用反向传播算法对模型进行优化,以减小模型预测结果与实际标签的误差。 当模型训练完成后,就可以使用它来对新的语音指令进行识别。将待识别的语音信号预处理和特征提取,然后将提取的特征输入训练好的模型,模型会根据输入的特征输出对应的语音指令的概率分布。根据概率分布,可以选择概率最高的指令作为最终的识别结果。 TensorFlow语音指令识别具有广泛的应用领域,如语音助手、智能音箱、语音识别系统等。它可以帮助人们实现通过语音控制设备的目标,并提高人机交互的便捷性和智能性。同时,随着深度学习技术的发展,TensorFlow语音指令识别也在不断得到改进和优化,为用户提供更准确和高效的语音指令识别服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值