如何在Google Colab中基于TensorFlow生成可视化计算图并解决路径报错存储文件?
报错核心原因
- 触发Unicode转义语法错误:Python字符串中反斜杠
\为转义标识符,Windows路径里的\U、\D这类字符组合会被识别为Unicode转义序列,无法解析就会直接抛出语法错。 - 环境权限不匹配:Google Colab的代码运行在云端远程服务器,没有权限直接访问用户本地计算机的磁盘路径,即使修复了转义问题,直接填写本地C盘路径也无法完成文件写入。
存储方案
方案1:将计算图存入Google Drive
- 第一步挂载Google Drive,执行授权流程关联账号,代码为:
from google.colab import drive drive.mount('/content/drive')
- 第二步替换原有路径为Drive挂载后的云端路径,补充计算图写入的必要逻辑,完整可运行代码如下:
import tensorflow as tf # 已完成Drive挂载后无需重复执行挂载代码 # from google.colab import drive # drive.mount('/content/drive') # 定义计算图节点 a = tf.add(2, 2, name='add') b = tf.multiply(a, 3, name='mult1') c = tf.multiply(b, a, name='mult2') print(c.numpy()) # 指定Drive内的目标存储路径,提前在Google Drive中创建对应文件夹即可 log_dir = '/content/drive/MyDrive/Deep Learning/Grafos' writer = tf.summary.create_file_writer(log_dir) # 开启计算图捕获并导出 tf.summary.trace_on(graph=True) _ = c.numpy() with writer.as_default(): tf.summary.trace_export( name="calc_graph", step=0, profiler_outdir=log_dir ) writer.close()
方案2:将计算图下载到本地计算机
- 先生成日志文件到Colab的临时运行目录,再通过内置下载接口把文件拉取到本地磁盘,完整代码如下:
import tensorflow as tf from google.colab import files import os # 定义计算图节点 a = tf.add(2, 2, name='add') b = tf.multiply(a, 3, name='mult1') c = tf.multiply(b, a, name='mult2') print(c.numpy()) # 临时存储目录 log_dir = '/content/tmp_graph_log' os.makedirs(log_dir, exist_ok=True) writer = tf.summary.create_file_writer(log_dir) tf.summary.trace_on(graph=True) _ = c.numpy() with writer.as_default(): tf.summary.trace_export( name="calc_graph", step=0, profiler_outdir=log_dir ) writer.close() # 打包日志文件并触发本地下载 !zip -r graph_log.zip {log_dir} files.download('graph_log.zip')
- 下载完成后将压缩包解压到本地目标文件夹(如原本计划存放的
C:\Users\LUCINALDO\Desktop\xampp\htdocs\Deep Learning\Grafos),即可通过本地TensorBoard加载查看计算图。
实操注意事项
- 所有路径统一使用正斜杠
/作为分隔符,可完全规避Unicode转义导致的语法错误。 - 原代码仅初始化了写入器对象,未开启计算图追踪、执行图导出逻辑,即便路径正确,生成的目录也不会包含可被TensorBoard识别的有效文件。
- Colab临时运行目录的文件会在会话断开后自动清除,使用本地下载方案时需等待下载完成再关闭页面。
内容的提问来源于stack exchange,提问作者L. Guilherme P. Melquiades
相关产品推荐
相关产品推荐

