Polygon馬蹄鏈智慧合約挖礦系統開發|Polygon馬蹄鏈專案開發

lxqy1668發表於2023-03-24

一般來說轉ONNX只是一個手段,在之後得到ONNX模型後還需要再將它做轉換,比如轉換到TensorRT上完成部署,或者有的人多加一步,從ONNX先轉換到caffe,再從caffe到tensorRT。原因是Caffe對tensorRT更為友好,這裡關於友好的定義後面會談。

  

  因此在轉ONNX工作開展之前,首先必須明確目標後端。ONNX只是一個格式,就和json一樣。只要你滿足一定的規則,都算是合法的,因此單純從Pytorch轉成一個ONNX檔案很簡單。但是不同後端裝置接受的onnx是不一樣的,因此這才是坑的來源。I88模式I928開發8024

  

  現有的智慧合約交易執行方案中,需要leader節點首先將智慧合約交易執行完成並且hash簽名,然後由leader節點將智慧合約交易打包傳輸給replica節點,replica節點重複執行智慧合約交易完成,並且將執行結果同樣hash簽名比較。這其中由於需要順序執行,導致實際效能依賴leader節點和replica節點序列,才能完成最終智慧合約執行成功的確認

  

  train_loader=Data.DataLoader(dataset=train_data,batch_size=BATCH_SIZE,shuffle=True)

  

  test_x=Variable(torch.unsqueeze(test_data.test_data,dim=1),requires_grad=True).type(torch.FloatTensor)[:20]/255

  

  test_y=test_data.test_labels[:20]#前兩千張

  

  #具體檢視影像形式為:

  

  a_data,a_label=train_data[0]

  

  print(type(a_data))#tensor型別

  

  #print(a_data)

  

  print(a_label)

  

  #把原始圖片儲存至MNIST_data/raw/下

  

  save_dir="mnist/raw/"

  

  if os.path.exists(save_dir)is False:

  

  os.makedirs(save_dir)

  

  do_constant_folding——是否使用常量摺疊(不瞭解),預設即可。default=True。

  

  dynamic_axes——模型的輸入輸出有時是可變的,如Rnn,或者輸出影像的batch可變,可透過該引數設定。如輸入層的shape為(b,3,h,w),batch,height,width是可變的,但是chancel是固定三通道。

  

  格式如下:

  

  1)僅list(int)dynamic_axes={‘input’:[0,2,3],‘output’:[0,1]}

  

  2)僅dict<int,string>dynamic_axes={‘input’:{0:‘batch’,2:‘height’,3:‘width’},‘output’:{0:‘batch’,1:‘c’}}

  

  3)mixed dynamic_axes={‘input’:{0:‘batch’,2:‘height’,3:‘width’},‘output’:[0,1]}

  

  opset_version——opset的版本,低版本不支援upsample等操作。

  

  Opes協議建立在許多現存的開源專案、協議以及分散式系統之上。正是由於這些前人的工作,Opes才變得有可能實現。Opes協議將包含一套智慧合約的介面,透過在具體的智慧合約平臺實現這些介面,來完成實際的業務邏輯。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70020038/viewspace-2941514/,如需轉載,請註明出處,否則將追究法律責任。

相關文章