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. hdu4277 DFS+SET

    题意:       给你一些木棍,问你可以组成多少个三角形.. 思路:      直接深搜,N很小深搜无压力,也可以直接算出来,但我不会算..  #include<stdio.h> #in ...

  2. 手动绕过百度加固Debug.isDebuggerConnected反调试的方法

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78237571 1.调用Debug.isDebuggerConnected函数这种反 ...

  3. [转载] 关于Win7 x64下过TP保护的一些思路,内核层过保护,驱动过保护

    首先特别感谢梦老大,本人一直没搞懂异常处理机制,看了他的教程之后终于明白了.在他的教程里我学到了不少东西.第一次在论坛发帖,就说说Win7 x64位下怎么过TP保护.如果有讲错的地方,还望指出.说不定 ...

  4. 使用 Azure Container Registry 储存镜像

    Azure Container Registry(容器注册表)是基于 Docker Registry 2.0规范的托管专用 Docker 注册表服务. 可以创建和维护 Azure 容器注册表来存储与管 ...

  5. MySQL从库维护经验分享

    前言: MySQL 主从架构应该是最常用的一组架构了.从库会实时同步主库传输来的数据,一般从库可以作为备用节点或作查询使用.其实不只是主库需要多关注,从库有时候也要经常维护,本篇文章将会分享几点从库维 ...

  6. c#RSA 私钥加签公钥解签

    /// RSA签名 /// </summary> /// <param name="data">待签名数据</param> /// <pa ...

  7. [re模块、json&pickle模块]

    [re模块.json&pickle模块] re模块 什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则 ...

  8. Java集合详解(一):全面理解Java集合

    概述 Java所有集合类都在java.util包下,支持并发的集合在java.util.concurrent(juc)包下. 集合与数组区别: 数组大小是固定的,集合大小可以根据使用情况进行动态扩容. ...

  9. Django(31)模板中常用的过滤器

    模版常用过滤器 在模版中,有时候需要对一些数据进行处理以后才能使用.一般在Python中我们是通过函数的形式来完成的.而在模版中,则是通过过滤器来实现的.过滤器使用的是|来使用. add 将传进来的参 ...

  10. alpine安装网络工具

    telnet:busybox-extras net-tools: net-tools tcpdump: tcpdump wget: wget dig nslookup: bind-tools curl ...