DAPP马蹄链智能合约开发功能丨DAPP马蹄链智能合约系统开发技术详细及分析丨DAPP马蹄链智能合约源码版

简介:   什么是智能合约?智能合约,又称加密合约,是在一定条件下可以直接控制数字资产或资产在各方之间转移的一种计算机程序z--Guts。智能合约不仅以与传统合约相同的方式定义了协议的规则和处罚,还可以自动强制执行这些义务。它通过接受信息作为输入,通过规则为输入赋值,在合约中列出并执行这些合约条款所要求的行为。

  什么是智能合约?智能合约,又称加密合约,是在一定条件下可以直接控制数字资产或资产在各方之间转移的一种计算机程序z--Guts。智能合约不仅以与传统合约相同的方式定义了协议的规则和处罚,还可以自动强制执行这些义务。它通过接受信息作为输入,通过规则为输入赋值,在合约中列出并执行这些合约条款所要求的行为。

  void Calibration::_updateScale(){

  for(const auto&op:_originaleModel->oplists){

  std::vector<std::string>::iterator iter=std::find(_skip_quant_ops.begin(),_skip_quant_ops.end(),op->name);

  if(iter!=_skip_quant_ops.end()){

  continue;

  }

  const auto opType=op->type;

  if(opType!=MNN::OpType_Convolution&&opType!=MNN::OpType_ConvolutionDepthwise&&

  opType!=MNN::OpType_Eltwise){

  continue;

  }

  auto tensorsPair=_opInfo.find(op->name);

  if(tensorsPair==_opInfo.end()){

  MNN_ERROR("Can't find tensors for%sn",op->name.c_str());

  }

  if(opType==MNN::OpType_Eltwise){

  auto param=op->main.AsEltwise();

  //Now only support AddInt8

  if(param->type!=MNN::EltwiseType_SUM){

  continue;

  }

  const auto&inputScale0=_scales[tensorsPair->second.first[0]];

  const auto&inputScale1=_scales[tensorsPair->second.first[1]];

  const auto&outputScale=_scales[tensorsPair->second.second[0]];

  const int outputScaleSize=outputScale.size();

  std::vector<float>outputInvertScale(outputScaleSize);

  Helper::invertData(outputInvertScale.data(),outputScale.data(),outputScaleSize);

  op->type=MNN::OpType_EltwiseInt8;

  op->main.Reset();

  op->main.type=MNN::OpParameter_EltwiseInt8;

  auto eltwiseInt8Param=new MNN::EltwiseInt8T;

  auto input0ScaleParam=new MNN::QuantizedFloatParamT;

  auto input1ScaleParam=new MNN::QuantizedFloatParamT;

  auto outputScaleParam=new MNN::QuantizedFloatParamT;

  input0ScaleParam->tensorScale=inputScale0;

  input1ScaleParam->tensorScale=inputScale1;

  outputScaleParam->tensorScale=outputInvertScale;

  eltwiseInt8Param->inputQuan0=std::unique_ptr<MNN::QuantizedFloatParamT>(input0ScaleParam);

  eltwiseInt8Param->inputQuan1=std::unique_ptr<MNN::QuantizedFloatParamT>(input1ScaleParam);

  eltwiseInt8Param->outputQuan=std::unique_ptr<MNN::QuantizedFloatParamT>(outputScaleParam);

  op->main.value=eltwiseInt8Param;

  continue;

  }开发模式及分析:yy625019

  //below is Conv/DepthwiseConv

  const auto&inputScale=_scales[tensorsPair->second.first[0]];

  const auto&outputScale=_scales[tensorsPair->second.second[0]];

  auto param=op->main.AsConvolution2D();

  const int channles=param->common->outputCount;

  const int weightSize=param->weight.size();

  param->symmetricQuan.reset(new MNN::QuantizedFloatParamT);

  //quantizedParam是param->symmetricQuan的引用

  auto&quantizedParam=param->symmetricQuan;

  quantizedParam->scale.resize(channles);

  quantizedParam->weight.resize(weightSize);

  quantizedParam->bias.resize(channles);

  if(opType==MNN::OpType_Convolution){

  QuantizeConvPerChannel(param->weight.data(),param->weight.size(),param->bias.data(),

  quantizedParam->weight.data(),quantizedParam->bias.data(),

  quantizedParam->scale.data(),inputScale,outputScale,_weightQuantizeMethod,_weightClampValue);

  op->type=MNN::OpType_ConvInt8;

  }else if(opType==MNN::OpType_ConvolutionDepthwise){

  QuantizeDepthwiseConv(param->weight.data(),param->weight.size(),param->bias.data(),

  quantizedParam->weight.data(),quantizedParam->bias.data(),

  quantizedParam->scale.data(),inputScale,outputScale,_weightQuantizeMethod,_weightClampValue);

  op->type=MNN::OpType_DepthwiseConvInt8;

  }

  if(param->common->relu6){

  param->common->relu=true;

  param->common->relu6=false;

  }

  //清除原本的权重和bias

  param->weight.clear();

  param->bias.clear();

  }

  }

相关文章
|
6月前
|
Java 区块链 数据安全/隐私保护
马蹄链佛萨奇2.0开发运营版丨佛萨奇2.0马蹄链智能合约系统开发(详细及案例)丨佛萨奇2.0马蹄链源码
  FORCE原力第一个推出的是Classic经典矩阵   Classic经典矩阵总共有12个矩阵,最低的矩阵只要5U即可参与(早期加入的朋友都可以享受半价优惠),下一个矩阵的价格是上一级的两倍。
|
6月前
|
安全 Java 区块链
matic马蹄链合约DAPP项目系统开发技术(成熟语言)
Matic Network是一种基于侧链的公共区块链扩展解决方案。它的基础是Plasma框架的调整实施。Matic提供了可扩展性,同时以安全和分散的方式确保了卓越的用户体验。它在KovanTestnet上为Etalum提供了一个工作实现。Matic打算在未来支持其他区块链,这将使它能够提供互操作性功能,同时为现有的公共区块链提供可伸缩性。
|
存储 开发框架 前端开发
BSC链Defiswap丨IPPswap丨NFTswap丨OMNIswap智能合约去中心化项目系统开发成熟技术/项目案例/源码说明
  区块链是一个分布式账本,使用密码学原理来记录数据,并且按照时间顺序进行记录。在区块链中,数据可以进行高度地分散,因为数据分布在不同的节点上。当一个区块链被添加到一个新的区块上时,它将包含以前的所有交易记录。
|
算法 安全 Unix
DAPP马蹄链佛萨奇2.0智能合约系统开发(案例及详细)丨DAPP马蹄链佛萨奇2.0开发智能合约源码及方案
 Web3.0通过将信息交互从屏幕转移到物理空间,改变了终端用户体验,因而也有称Web3.0为“空间网络(Spatial Web)”。
|
API Go 区块链
matic(马蹄链)DAPP系统开发技术讲解详细逻辑
matic(马蹄链)DAPP系统开发技术讲解详细逻辑
265 0
|
区块链 数据安全/隐私保护
马蹄链DAPP合约模式系统开发技术(原理)
马蹄链DAPP合约模式系统开发技术(原理)
102 0
|
前端开发 JavaScript Java
马蹄链DAPP合约项目系统开发技术方案丨(源码搭建)
马蹄链DAPP合约项目系统开发技术方案丨(源码搭建)
117 0
|
5G 区块链 调度
DAPP马蹄链Matic智能合约系统开发详细及分析丨Matic马蹄链智能合约开发案例源码版
   5G技术可以为智慧物流提供高速、低延迟的数据传输和通信服务,实现物流的实时监控和管理。例如,在物流配送中,使用5G技术可以实现对货物的实时跟踪和配送调度,提高物流效率和准确性。
DAPP马蹄链系统开发(方案详解)丨DAPP马蹄链系统开发(源码项目)
  大公排指的是全网排列,小公排指的是单体伞下排列,一条线公排指的是按一条线排列,跳排指的按指定某代数为推荐关系。
|
区块链 安全
马蹄链DAPP智能合约系统开发详细说明及方案源码
Decentralized storage is a storage solution based on a blockchain decentralized network, rather than relying on a single centralized entity. Data is stored on various nodes in a distributed network, rather than on a single server under the control of a single organization.