欢迎光临散文网 会员登陆 & 注册

Matic马蹄链Polygon智能合约系统开发(开发案例)丨Matic马蹄链Polygon智能合约源码

2023-03-23 09:57 作者:bili_82084884250  | 我要投稿

  Polygon是一个建立在以太坊上的Layer2扩展解决方案上的公链。和以太坊比起来,Polygon的速度、可扩展性和可用性都更加有优势。Polygon,这也是我们幻塔空间目前部署的公链,也就是说,幻塔空间这个平台是在基于polygon这条区块链上去构建起来的。对于这条区块链,我们务必需要了解一下和这条公链相关的知识以及它的优势和特点,以方便以后我们能够更好的使用幻塔空间。Polygon着重布局在区块链游戏和NFT领域。


  将PyTorch模型转换为ONNX模型,通常是使用torch.onnx.export()函数来转换的,基本的思路是:


  加载PyTorch模型,可以选择只加载模型结构;也可以选择加载模型结构和权重。


  最后使用torch.onnx.export()函数来转换,生产xxx.onnx模型。


  下面有一个简单的例子:


  import torch


  import torch.onnx


  #加载PyTorch模型


  model=...


  关于区块链项目技术开发威:MrsFu123,代币发行、dapp智能合约开发、链游开发、多链钱包开发


  交易所开发、量化合约开发、互助游戏开发、Nft数字藏品开发、众筹互助开发、元宇宙开发、swap开发、


  链上合约开发、ido开发、商城开发等,开发过各种各样的系统模式,更有多种模式、制度、案例、后台等,成熟技术团队,欢迎实体参考。


  #设置模型输入,包括:通道数,分辨率等


  dummy_input=torch.randn(1,3,224,224,device='cpu')


  #转换为ONNX模型


  torch.onnx.export(model,dummy_input,"model.onnx",export_params=True)


  1.1转换为ONNX模型且加载权重


  这里举一个resnet18的例子,基本思路是:开发模式I35详细7O98系统O7I8


  首先加载了一个预训练的ResNet18模型;


  然后将其设置为评估模式。接下来定义一个与模型输入张量形状相同的输入张量,并使用torch.randn()函数生成了一个随机张量。


  最后,使用onnx.export()函数将PyTorch模型转换为ONNX格式,并将其保存到指定的输出文件中。


  import torch


  import torchvision.models as models


  #加载预训练的ResNet18模型


  model=models.resnet18(pretrained=True)


  #将模型设置为评估模式


  model.eval()


  #定义输入张量,需要与模型的输入张量形状相同


  input_shape=(1,3,224,224)


  x=torch.randn(input_shape)


  #需要指定输入张量,输出文件路径和运行设备


  #默认情况下,输出张量的名称将基于模型中的名称自动分配


  device=torch.device("cuda"if torch.cuda.is_available()else"cpu")


  #将PyTorch模型转换为ONNX格式


  output_file="resnet18.onnx"


  torch.onnx.export(model,x.to(device),output_file,export_params=True)


  class Model(torch.nn.Module):


  def __init__(self):


  super().__init__()


  def forward(self,x):


  x=x*x[0].item()


  return x,torch.Tensor([i for i in x])


  model=Model()


  dummy_input=torch.rand(10)


  torch.onnx.export(model,dummy_input,'a.onnx')


Matic马蹄链Polygon智能合约系统开发(开发案例)丨Matic马蹄链Polygon智能合约源码的评论 (共 条)

分享到微博请遵守国家法律