在使用visualdl进行可视化的过程中,pycharm程序运行时在命令行输入
visualdl logdir=output/log
之后点击链接http://localhost:8040/ 后,没有出现”标量数据“选项,无法查看损失函数以及正确率。
如果在VisualDL的Web界面中没有出现“标量数据”选项,可能是因为您没有将标量数据写入日志文件中。
您可以尝试在代码中添加以下代码行,将标量数据写入日志文件:
from visualdl import LogWriter
# 创建 LogWriter 对象
log_writer = LogWriter("output/log")
# 写入标量数据
for step, data in enumerate(scalar_data):
log_writer.add_scalar(tag="loss", step=step, value=data["loss"])
log_writer.add_scalar(tag="accuracy", step=step, value=data["accuracy"])
这里假设您已经准备好了标量数据并将其存储在scalar_data变量中。如果您的程序中没有这些数据,您需要相应地修改代码来生成它们。
请注意,add_scalar方法的第一个参数是标签,它将作为Web界面中的数据类别。如果您的标签不是“loss”或“accuracy”,请将其替换为适当的名称。
如果您已经编写了代码来写入标量数据,但仍然无法在Web界面中看到它们,请确保在启动VisualDL Web服务器时使用正确的日志目录。
不知道你这个问题是否已经解决, 如果还没有解决的话:
仔细看下运行到第 24
行的调试界面,在 Variables 面板中会自动显示出当前作用域的所有变量。其中就有变量 p
,而它显示为了 <Person: Jack>
,这说明此时 PyCharm 已经自动运行了 Person.__repr__
,而此魔法方法调用了 self.name
。当运行第 24 行的 p.name
时,已不是首次运行。
看到这里就真相大白了,PyCharm 的 Variables 面板中的变量会被自动运行 Person.__repr__
。在此阶段中,该方法涉及到的逻辑如果有断点是不会被暂停的,换句话说也就不会运行到指定的断点。
PyCharm 调试界面中除了 Variables 面板可以查看变量外,Watches 面板也能够执行任意表达式来观察。如果使用不慎,也可能遇到相同问题。比如:断点运行到第 24 行时,在 Watches 面板中添加变量 p.name