PyTorch神经网络集成技术
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神经网络集成技术的更多相关文章
- Python神经网络集成技术Guide指南
Python神经网络集成技术Guide指南 本指南将介绍如何加载一个神经网络集成系统并从Python运行推断. 提示 所有框架的神经网络集成系统运行时接口都是相同的,因此本指南适用于所有受支持框架(包 ...
- TorchScript神经网络集成技术
TorchScript神经网络集成技术 create_torchscript_neuropod 将TorchScript模型打包为neuropod包. create_torchscript_neuro ...
- Keras神经网络集成技术
Keras神经网络集成技术 create_keras_neuropod 将Keras模型打包为神经网络集成包.目前,上文已经支持TensorFlow后端. create_keras_neuropod( ...
- Tensor:Pytorch神经网络界的Numpy
摘要:Tensor,它可以是0维.一维以及多维的数组,你可以将它看作为神经网络界的Numpy,它与Numpy相似,二者可以共享内存,且之间的转换非常方便. 本文分享自华为云社区<Tensor:P ...
- neurosolutions 人工神经网络集成开发环境 keras
人工神经网络集成开发环境 : http://www.neurosolutions.com/ keras: https://github.com/fchollet/keras 文档 http ...
- 使用Google-Colab训练PyTorch神经网络
Colaboratory 是免费的 Jupyter 笔记本环境,不需要进行任何设置就可以使用,并且完全在云端运行.关键是还有免费的GPU可以使用!用Colab训练PyTorch神经网络步骤如下: 1: ...
- 『PyTorch』第四弹_通过LeNet初识pytorch神经网络_下
『PyTorch』第四弹_通过LeNet初识pytorch神经网络_上 # Author : Hellcat # Time : 2018/2/11 import torch as t import t ...
- pytorch神经网络解决回归问题(非常易懂)
对于pytorch的深度学习框架,在建立人工神经网络时整体的步骤主要有以下四步: 1.载入原始数据 2.构建具体神经网络 3.进行数据的训练 4.数据测试和验证 pytorch神经网络的数据载入,以M ...
- 3DGIS与BIM集成集成技术及铁路桥梁可视化系统
3DGIS与BIM的集成技术 3DGIS与BIM的集成技术包括2部分:一是将Revit软件生成的BIM针对3DGIS的快速无损格式转换,这种转换包括几何信息(如形状.位置等信息)和属性信息(如建筑信息 ...
随机推荐
- 过 DNF TP 驱动保护(一)
过 DNF TP 驱动保护(一) 文章目录: 01. 博文简介: 02. 环境及工具准备: 03. 分析 TP 所做的保护: 04. 干掉 NtOpenProc ...
- iOS安全些许经验和学习笔记
http://bbs.pediy.com/showthread.php?t=209014 标题: [原创]iOS安全些许经验和学习笔记作者: MonkeyKey时间: 2016-03-30,16:32 ...
- DVWA之CSRF(跨站请求伪造攻击)
目录 Low Middle High Impossible Low 源代码: <?php if( isset( $_GET[ 'Change' ] ) ) { // Get input $pas ...
- 8.PHP图像处理
PHP图像处理 GD2 Jpgraph 创建一个画布: <?php header('content-type:image/gif'); //echo "你好"; ...
- ColyseusJS 轻量级多人游戏服务器开发框架 - 中文手册(上)
快速上手多人游戏服务器开发.后续会基于 Google Agones,更新相关 K8S 运维.大规模快速扩展专用游戏服务器的文章.拥抱️原生 Cloud-Native! 快速开始 在开始之前,让我们确保 ...
- Redis—简单动态字符串(SDS)
目录 Redis-简单动态字符串(SDS) SDS的定义 SDS与C字符串的区别 1. 常数复杂度获取字符串长度: 2. 杜绝缓冲区溢出: 3. 减少修改字符串时带来的内存重分配次数 4. 二进制安全 ...
- java线程池实践
线程池大家都很熟悉,无论是平时的业务开发还是框架中间件都会用到,大部分都是基于JDK线程池ThreadPoolExecutor做的封装, 都会牵涉到这几个核心参数的设置:核心线程数,等待(任务)队列, ...
- springmvc Date类型转换
有时候我们会碰到这么一个问题,有一个实体类,里面有一个Date类型的数据,jsp页面传递的时间参数是String的,这就导致无法对应,springmvc无法帮我们自动封装参数到实体类中了,这里我解决的 ...
- RTTI之typeid运算符
1 #include <iostream> 2 #include <cstdlib> 3 #include <ctime> 4 #include <typei ...
- 1080p就是1920*1080,2k就是2560*1440,4k就是3840*2160
1080p就是1920*1080,2k就是2560*1440,4k就是3840*2160 作者:容易视听链接:https://www.zhihu.com/question/24205632/answe ...