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

机器学习PAI 返回一个计算图。保存的时候,是直接按照如下方法操作么?

机器学习PAI frozen_graph_def = optimize_for_inference_lib.optimize_for_inference(
frozen_graph_def,
input_nodes,
output_nodes,
tf.float32.as_datatype_enum
) 执行这个optimize_for_inference,返回一个计算图。保存的时候,是直接 with open(save_file, 'wb') as f:
f.write(frozen_graph_def.SerializeToString())吗?

展开
收起
cuicuicuic 2023-07-16 19:01:37 36 0
2 条回答
写回答
取消 提交回答
  • 是的,在机器学习 PAI 中,当你使用 optimize_for_inference_lib.optimize_for_inference() 对计算图进行优化后,你可以通过将优化后的计算图序列化为字节流,并将其写入文件来保存。

    以下是示例代码:

    from tensorflow.tools.graph_transforms import optimize_for_inference
    import tensorflow as tf
    
    # 定义输入和输出节点列表
    input_nodes = ['input_node']
    output_nodes = ['output_node']
    
    # 优化计算图
    optimized_graph_def = optimize_for_inference.optimize_for_inference(
        frozen_graph_def,
        input_nodes,
        output_nodes,
        tf.float32.as_datatype_enum
    )
    
    # 保存优化后的计算图
    save_file = 'optimized_graph.pb'
    with open(save_file, 'wb') as f:
        f.write(optimized_graph_def.SerializeToString())
    

    在上述代码中,optimize_for_inference_lib.optimize_for_inference() 函数用于优化计算图。然后,通过 frozen_graph_def.SerializeToString() 将优化后的计算图序列化为字节流。最后,使用 with open(save_file, 'wb') as f: 打开文件并将序列化后的计算图字节流写入文件中,以保存优化后的计算图。

    确保你已经导入了相应的库和模块,并替换示例代码中的 input_nodesoutput_nodessave_file 为你自己的输入节点列表、输出节点列表和保存路径。

    2023-07-31 17:32:11
    赞同 展开评论 打赏
  • 嗯 保存frozen graph时可以的,此回答整理自钉群“【EasyRec】推荐算法交流群”

    2023-07-16 19:06:36
    赞同 展开评论 打赏

相关产品

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

    热门文章

    相关电子书

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