栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pytorch 30 torchscipt(jit模型)与onnx输入单个int数值与if分支控制

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pytorch 30 torchscipt(jit模型)与onnx输入单个int数值与if分支控制

通常来说,pytorch的模型输入和输出都应该是tensor。但是,有的时候,需要传入额外的参数控制模型的执行流程,则需要考虑输入int、bool等类型的变量控制模型的forward的过程。如博主前面写的文章pytorch 20 基于pytorch实现腐蚀膨胀、开运算闭运算等形态学操作_万里鹏程转瞬至的博客-CSDN博客_pytorch 腐蚀  

该文章使用maxpool实现腐蚀膨胀等系列操作。其中的控制maxpool kernel size就需要传入int数值进行控制,以确保按照算法需求动态的进行腐蚀膨胀操作。下面以多输入多输出模型为例,实现模型输入单个int与if分支控制。并用onnxruntime进行了严格的测试,保证了onnx模型也支持输入单个int和if分支控制。

1、创建带if分支的多输入模型

该模型通过传入的flag参数执行两个不同的分支,也急速根据flag值进行逻辑运算得到bool值,然后进行执行分支。执行分支是两个切片操作,如果传入的flag大于0,则将x1_in的第一个值赋给out1的切片区域;如果传入的flag小于0,则将x2_in的第一个值赋给out2的切片区域。

import torch
import torch.nn as nn
import torch.nn.functional as F
class MyModel(nn.Module):
    def __init__(self):
        super(MyModel, self).__init__()
        k_num=128
        sel
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/980137.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号