PyTorch神经网络集成技术

create_python_neuropod

将任意python代码打包为一个neurood包。

create_python_neuropod(

neuropod_path,

model_name,

data_paths,

code_path_spec,

entrypoint_package,

entrypoint,

input_spec,

output_spec,

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名称

data_paths

包含需要打包的任何数据文件的路径的dict列表。

Example:

[{

path: "/path/to/myfile.txt",

packaged_name: "newfilename.txt"

}]

code_path_spec

将要打包的所有代码的文件夹路径。请注意,*.pyc文件被忽略。

This is specified as follows:

[{
    "python_root": "/some/path/to/a/python/root",
    "dirs_to_package": ["relative/path/to/package"]
}, ...]

entrypoint_package

包含入口点的python包(例如,some.package.something). 它必须包含下面指定的entrypoint函数。

Entrypoint

entrypoint_包中包含的函数的名称。此函数必须返回一个可调用函数,该函数接受输入规范input_spec中指定的输入,并返回一个包含输出规范output_spec中指定的输出的dict。entrypoint函数将提供指向包含打包数据的目录的路径作为其第一个参数。

For example, a function like:

def neuropod_init(data_path):
 
    def addition_model(x, y):
        return {
            "output": x + y
        }
    return addition_model

包含在包裹里“my.awesome.addition_model”本来

entrypoint_package='my.awesome.addition_model' and entrypoint='neuropod_init'

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,)},
]

input_tensor_device

default: None

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

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

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

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。

test_expected_out

default: None

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

Example:

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

persist_test_data

default: True

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

PyTorch神经网络集成技术的更多相关文章

  1. Python神经网络集成技术Guide指南

    Python神经网络集成技术Guide指南 本指南将介绍如何加载一个神经网络集成系统并从Python运行推断. 提示 所有框架的神经网络集成系统运行时接口都是相同的,因此本指南适用于所有受支持框架(包 ...

  2. TorchScript神经网络集成技术

    TorchScript神经网络集成技术 create_torchscript_neuropod 将TorchScript模型打包为neuropod包. create_torchscript_neuro ...

  3. Keras神经网络集成技术

    Keras神经网络集成技术 create_keras_neuropod 将Keras模型打包为神经网络集成包.目前,上文已经支持TensorFlow后端. create_keras_neuropod( ...

  4. Tensor:Pytorch神经网络界的Numpy

    摘要:Tensor,它可以是0维.一维以及多维的数组,你可以将它看作为神经网络界的Numpy,它与Numpy相似,二者可以共享内存,且之间的转换非常方便. 本文分享自华为云社区<Tensor:P ...

  5. neurosolutions 人工神经网络集成开发环境 keras

    人工神经网络集成开发环境 :  http://www.neurosolutions.com/ keras:   https://github.com/fchollet/keras 文档    http ...

  6. 使用Google-Colab训练PyTorch神经网络

    Colaboratory 是免费的 Jupyter 笔记本环境,不需要进行任何设置就可以使用,并且完全在云端运行.关键是还有免费的GPU可以使用!用Colab训练PyTorch神经网络步骤如下: 1: ...

  7. 『PyTorch』第四弹_通过LeNet初识pytorch神经网络_下

    『PyTorch』第四弹_通过LeNet初识pytorch神经网络_上 # Author : Hellcat # Time : 2018/2/11 import torch as t import t ...

  8. pytorch神经网络解决回归问题(非常易懂)

    对于pytorch的深度学习框架,在建立人工神经网络时整体的步骤主要有以下四步: 1.载入原始数据 2.构建具体神经网络 3.进行数据的训练 4.数据测试和验证 pytorch神经网络的数据载入,以M ...

  9. 3DGIS与BIM集成集成技术及铁路桥梁可视化系统

    3DGIS与BIM的集成技术 3DGIS与BIM的集成技术包括2部分:一是将Revit软件生成的BIM针对3DGIS的快速无损格式转换,这种转换包括几何信息(如形状.位置等信息)和属性信息(如建筑信息 ...

随机推荐

  1. Android内核模块编译执行

    Author: GeneBlue 0X01 前言 内核驱动是漏洞的高发区,了解Android驱动代码的编写是分析.利用驱动漏洞的基础.本文以一个"hello"驱动为例,简单介绍内核 ...

  2. LA3708墓地雕塑

    题意:       有N个墓碑,等距离的分布在一个圆形墓地的周围,然后又要添加m个墓碑,最后要求所有的墓碑还是等距离,添加的墓碑可以放在任意位置,问之前的N个墓碑的最少移动距离之和是多少? 思路:   ...

  3. Swift系列三 - 函数

    函数在任何语言中都是存在的,Swift中函数更加灵活. 一.函数的定义 1.1. 有返回值(形参默认是let,也只能是let) func pi() -> Double { return 3.14 ...

  4. web技术培训(一)-云服务器、域名相关

    云服务器 什么是云服务器(这部分可以跳过) 云服务器(Elastic Compute Service, ECS)是一种简单高效.安全可靠.处理能力可弹性伸缩的计算服务.其管理方式比物理服务器更简单高效 ...

  5. surging 基于流媒体服务如何集群分流

    前言 最近几年微服务可谓是大火,大家忙着建设微服务,学习微服务如何搭建,微服务技术体系的演变也使得企业公司能支持起灵活,多样化的业务需求和越来越多的访问量,有很多企业用户正在朝着业务中台,SAAS云平 ...

  6. 【maven】IDEA工程右边的maven配置中Plugins有重复的命令

    问题 解决 换一个IDEA的版本,比如2020.02 参考链接 https://ask.csdn.net/questions/1060938 https://bbs.csdn.net/topics/3 ...

  7. java 运用Cipher加密再解密后会变乱码。解决方案!

    同样的方法类用main调用加解密都正常,就是当用到业务就是加密后再解密变乱码. 后来发现同样的内容加密后的内容竟不相同. 经调试发现 encryptData.getBytes() 转为字节是的使用 C ...

  8. hdu 2072 1106学一波字符串分割,C语言与C++两种方法

    hdu2072:题意:输出给定字符串中的单词数(一个句子中可能有两个相同的单词),这里的思想是把每个单词取出来,放入set(这个集合容器中不允许有相同的元素)中,最后输出该集合的大小即可. 现在的问题 ...

  9. FreeSWITCH的安装与使用

    FreeSWITCH

  10. copy和deep.copy

    https://blog.csdn.net/qq_32907349/article/details/52190796 加上crossin公众号上的可变对象与不可变对象 a=[1,2,3,[4]] b= ...