5G技术可以为智能制造提供高速、可靠的通信和数据传输服务,实现智能化制造和远程控制。例如,在汽车生产中,使用5G技术可以实现对生产线上机器人的远程控制和监控,提高生产效率和安全性。
5G技术可以为智慧物流提供高速、低延迟的数据传输和通信服务,实现物流的实时监控和管理。例如,在物流配送中,使用5G技术可以实现对货物的实时跟踪和配送调度,提高物流效率和准确性。
ynamic_axes的设置例子:
import torch
class Model(torch.nn.Module):
def __init__(self):
super().__init__()
self.conv=torch.nn.Conv2d(3,3,3)
def forward(self,x):
x=self.conv(x)
return x
model=Model()
dummy_input=torch.rand(1,3,10,10)
model_names=['model_static.onnx',
'model_dynamic_0.onnx',
'model_dynamic_23.onnx']
dynamic_axes_0={
'in':[0],
'out':[0]
}
dynamic_axes_23={
'in':[2,3],
'out':[2,3]
}
torch.onnx.export(model,dummy_input,model_names[0],
input_names=['in'],output_names=['out'])
torch.onnx.export(model,dummy_input,model_names[1],
input_names=['in'],output_names=['out'],dynamic_axes=dynamic_axes_0)
torch.onnx.export(model,dummy_input,model_names[2],
input_names=['in'],output_names=['out'],dynamic_axes=dynamic_axes_23)
首先,我们导出3个ONNX模型,分别为没有动态维度、第0维动态、第2第3维动态的模型。
在这份代码里,我们是用列表的方式表示动态维度,例如:
dynamic_axes_0={
'in':[0],
'out':[0]
}
由于ONNX要求每个动态维度都有一个名字,这样写的话会引出一条UserWarning,警告我们通过列表的方式设置动态维度的话系统会自动为它们分配名字。一种显式添加动态维度名字的方法如下:
dynamic_axes_0={
'in':{0:'batch'},
'out':{0:'batch'}
}