• TorchScript神经网络集成技术


    TorchScript神经网络集成技术

    create_torchscript_neuropod

    TorchScript模型打包为neuropod包。

    create_torchscript_neuropod(

        neuropod_path,

        model_name,

        input_spec,

        output_spec,

        module = None,

        module_path = None,

        input_tensor_device = None,

        default_input_tensor_device = GPU,

        custom_ops = [],

        package_as_zip = True,

        test_input_data = None,

        test_expected_out = None,

        persist_test_data = True,

    )

    参数

    neuropod_path

    neuropod输出路径

    model_name

    model名称

    input_spec

    指定模型输入的dict列表。对于每个输入,如果shape设置为None,则不对该形状进行验证。如果shape是元组,则根据该元组验证输入的维度。任何维度的值为“无”表示将不检查该维度。数据类型可以是任何有效的numpy数据类型字符串。

    Example:

    [

        {"name": "x", "dtype": "float32", "shape": (None,)},

        {"name": "y", "dtype": "float32", "shape": (None,)},

    ]

    output_spec

    指定模型输出的dict列表。有关详细信息,请参阅input_spec参数的文档。

    Example:

    [
        {"name": "out", "dtype": "float32", "shape": (None,)},
    ]

    module

    default: None

    PyTorch脚本模块的实例。此模型应将输出作为字典返回。如果未提供,则必须设置模块路径。

    For example, a model may output something like this:

    {
        "output1": value1,
        "output2": value2,
    }

    module_path

    default: None

    已使用导出的ScriptModule的路径torch.jit.save保存. 如果未提供,则必须设置模块。

    input_tensor_device

    default: None

    dict将输入张量名称映射到模型希望它们在其上的设备。这可以是GPUCPU。此映射中未指定的输入规格input_spec中的任何张量都将使用下面指定的默认输入张量设备default_input_tensor_device             

    如果在推断时选择了GPU,则在运行模型之前,神经网络集成软件会将张量移动到适当的设备。否则,它将尝试在CPU上运行模型,并将所有张量(和模型)移到CPU上。             

    有关更多信息,请参阅load_neuropod的文档字符串。

    Example:

    {"x": "GPU

    default_input_tensor_device

    default: GPU

    输入张量的默认设备应该打开。这可以是GPU或CPU。

    custom_ops

    default: []

    要包含在打包的neuropod中的自定义op共享库的路径列表。             

    注意:包括定制操作将您的neuropod绑定到定制操作为之构建的特定平台(如Mac、Linux)。用户有责任确保为正确的平台构建自定义操作。

    Example:

    ["/path/to/my/custom_op.so"]

    package_as_zip

    default: True

    是将neuropod打包为一个文件还是一个目录。

    test_input_data

    default: None

    可选样本输入数据。这是一个将输入名称映射到值的dict。如果提供了这一点,则在包装后立即在隔离环境中运行推断,以确保成功创建了神经网络集成软件。如果提供了预期的测试test_expected_out,则必须提供。             

    如果推断失败,则引发ValueError。

    Example:

    {
        "x": np.arange(5),
        "y": np.arange(5),
    }

    test_expected_out

    default: None

    可选的预期输出。如果模型推断的输出与预期的输出不匹配,则引发ValueError。

    Example:

    {
        "out": np.arange(5) + np.arange(5)
    }

    persist_test_data

    default: True

    可选地将测试数据保存在包装好的神经网络集成软件内。

     

     

     

  • 相关阅读:
    fis3解决web网站缓存问题
    C# 计算每周和每月固定日期
    移动端web页面上滑加载更多功能
    常见三种字符编码的区别:ASCII、Unicode、UTF-8
    ef AddDays报错
    .NET语言的编译过程:中间语言(IL)和即时编译器(JIT)
    ajax 传递数组类型参数后台接收不到的问题
    sql server 作业没跑、开启sql 代理服务、新建作业
    在javascript中NodeList和Array的区别及转换方法
    我经历的几种开发模式和心理
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/13132317.html
Copyright © 2020-2023  润新知