开发者社区 > 大数据与机器学习 > 人工智能平台PAI > 正文

请教一下,机器学习PAI中baldeDISC编译出来的文件如何查看?

问题1:请教一下,机器学习PAI中baldeDISC编译出来的文件如何查看image.png 想看看编译出来子图是什么样的。用netron打开.pb文件会报错,bladedisc在运行过程中可以dump graph吗? 问题2:dump编译过程是把编译日志打开,把日志存到文件里吗?

展开
收起
三分钟热度的鱼 2023-05-07 17:12:30 28259 1
6 条回答
写回答
取消 提交回答
  • CSDN全栈领域优质创作者,万粉博主;InfoQ签约博主;华为云享专家;华为Iot专家;亚马逊人工智能自动驾驶(大众组)吉尼斯世界纪录获得者

    如果您使用baldeDISC工具将机器学习PAI中的模型编译成可执行文件,您可以通过以下方式查看编译后的文件:

    1. 在baldeDISC命令行界面中,输入“list”命令可以列出当前目录下的所有编译好的可执行文件。

    2. 使用文件浏览器(如Windows资源管理器或macOS Finder)导航到baldeDISC生成的目录,您应该能够看到编译好的可执行文件。

    3. 在Linux系统上,您可以使用“ls”命令查看当前目录下的可执行文件列表。例如,如果baldeDISC生成的可执行文件名为“my_model”,则可以使用“ls my_model”命令查看该文件。

    请注意,编译好的可执行文件通常以“.bin”或“.out”作为扩展名。如果您的可执行文件没有这些扩展名,请确保您已经正确地使用了baldeDISC工具进行编译。

    2023-05-17 10:04:08
    赞同 展开评论 打赏
  • 热爱开发

    在机器学习PAI平台上使用BladeDISC编译出来的.pb文件可以通过以下两种方法进行查看:

    使用Tensorflow自带的工具TensorBoard。TensorBoard是Tensorflow提供的一个可视化工具,可以帮助开发者更直观地了解模型结构、训练过程等信息。在BladeDISC编译时,需要在参数中指定--save_graph_def=path/to/save/model.pb,然后用TensorBoard加载这个文件即可。

    使用Netron。Netron是一款开源的深度学习模型可视化工具,支持多种类型的模型文件,包括TensorFlow的.pb文件。但是,您需要确保Netron的版本和Tensorflow的版本兼容,否则可能会出现无法打开模型文件的情况。如果出现报错,可以尝试更新Netron或Tensorflow版本,或者使用TensorBoard进行可视化。

    对于BladeDISC是否可以在运行过程中dump graph,我暂时不确定,建议您查看官方文档或联系开发人员获取更详细的信息。

    2023-05-08 09:19:22
    赞同 展开评论 打赏
  • BladeDISC 可以通过 dump_graph() 方法,在运行时将计算图保存到指定的文件中,以便离线查看。

    具体的使用方式如下:

    import paddle.fluid as fluid
    from paddle.fluid.contrib.sparsity import Compressor, AggregateGrad
    
    # 创建一个 Compressor
    compressor = Compressor(
      places='CPU',
      fluid_executor=fluid.Executor(fluid.CPUPlace())
    )
    
    # 使用 Compressor 对网络进行压缩
    train_program, startup_program = fluid.Program(), fluid.Program()
    with fluid.program_guard(train_program, startup_program):
      # 定义模型
      ...
    
      # 定义压缩操作
      compressed_ops = \
        compressor.backward_compression_ops(train_program-global_block().ops)
    
    # 定义计算图
    exe = fluid.Executor(fluid.CPUPlace())
    exe.run(startup_program)
    
    # 编译计算图
    print("Compiling the compressed graph...")
    executor = fluid.compiler.CompiledProgram(
      train_program).with_data_parallel()
    print("Compilation done!")
    
    # 将计算图 Dump 到文件
    executor.dump_graph("./compressed_graph.bin")
    

    在Dump计算图后,你可以使用 Paddle2ONNX 工具将二进制文件转换为ONNX模型,然后使用ONNX Runtime工具或者阿里云PAI平台上的ONNXService工具来进行模型查看。

    2023-05-08 08:43:27
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    在阿里云机器学习PAI中,baldeDISC编译过程中会生成多个文件。这些文件可以通过pai公共数据集来查看。

    1. 在机器学习PAI控制台,选择左侧导航栏中的“数据集”,然后找到“公共数据集”。

    2. 在公共数据集页面,找到您想要查看的数据集。

    3. 点击数据集后面的“查看”链接,即可查看该数据集所包含的文件。

    4. 如果您需要下载这些文件,可以点击每个文件后面的下载链接来下载。

    另外,您也可以通过SSH连接到您的PAI集群节点,并在终端上使用Linux命令来查看编译出来的文件。具体操作如下:

    1. 打开PAI任务控制台,找到一项主机训练任务,并进入该任务详情页面。

    2. 复制其中一项任务节点的IP地址,并使用SSH连接到该节点。

    3. 进入该节点的baldeDISC源码目录,可以使用ls命令查看编译出来的文件列表。

    4. 使用cat命令可以查看文件内容,例如cat test.txt。

    2023-05-08 07:56:50
    赞同 展开评论 打赏
  • baldeDISC 是一种机器学习算法,编译后生成的文件通常是二进制文件或者动态链接库(.so 或 .dll)。如果你想查看这些编译出来的文件里面的内容或者调试相关问题,可以使用相应的反汇编工具和调试器进行查看和分析。

    以下是几个在 Linux 环境下常用的反汇编工具:

    objdump:常用于查看可执行文件、目标文件、共享库以及内核模块等文件的汇编代码和符号表信息。命令示例:objdump -d example.so。

    readelf:常用于查看 ELF 文件相关信息,包括文件头、节区、符号表等。命令示例:readelf -a example.so。

    nm:显式地列出 ELF 中的符号表信息,可以方便地查找函数名和变量名等信息。命令示例:nm -CD example.so。

    建议在使用这些工具时,先了解一下对应的参数和选项,以免误操作造成不必要的损失。

    2023-05-07 20:59:43
    赞同 展开评论 打赏
  • 针对问题1的回答:disc编译完成后就是可执行代码,没有图了,运行的时候不是用图来解释执行的。编译的子图可以通过dump编译过程中的各个层级的IR来看。 针对问题2的回答:是的。此回答整理自钉群“BladeDISC用户支持群”

    2023-05-07 18:57:42
    赞同 1 展开评论 打赏
滑动查看更多

人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。

相关产品

  • 人工智能平台 PAI
  • 热门讨论

    热门文章

    相关电子书

    更多
    大规模机器学习在蚂蚁+阿里的应用 立即下载
    基于Spark的面向十亿级别特征的 大规模机器学习 立即下载
    基于Spark的大规模机器学习在微博的应用 立即下载