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();

  }

  }

相关文章
|
安全 区块链
DAPP公链合约系统开发技术原理丨DAPP公链合约系统开发详细源码及案例
智能合约dapp系统开发是基于链游技术开发的应用程序,它利用智能合约来实现去中心化的应用。智能合约是一种程序,它可以在链游上运行,根据指定的条件自动执行。智能合约dapp系统开发的核心在于智能合约的开发,智能合约的开发需要具备一定的链游技术知识和编程技能
|
安全 算法 区块链
DAPP矩阵公排互助系统开发|DAPP链上合约开发
智能合约作为Web3下的核心概念,具有巨大的潜力和应用前景
|
存储 安全 区块链
BSC链DAPP智能合约系统开发|DAPP矩阵公排系统开发(成熟技术)
区块链系统开发采用了分布式账本技术public class SortList&lt;E&gt
|
存储 开发框架 前端开发
BSC链Defiswap丨IPPswap丨NFTswap丨OMNIswap智能合约去中心化项目系统开发成熟技术/项目案例/源码说明
  区块链是一个分布式账本,使用密码学原理来记录数据,并且按照时间顺序进行记录。在区块链中,数据可以进行高度地分散,因为数据分布在不同的节点上。当一个区块链被添加到一个新的区块上时,它将包含以前的所有交易记录。
|
存储 监控 安全
波场链(TRON)智能合约dapp开发部署指南
波场链(TRON)智能合约dapp开发部署指南
|
算法 安全 Unix
DAPP马蹄链佛萨奇2.0智能合约系统开发(案例及详细)丨DAPP马蹄链佛萨奇2.0开发智能合约源码及方案
 Web3.0通过将信息交互从屏幕转移到物理空间,改变了终端用户体验,因而也有称Web3.0为“空间网络(Spatial Web)”。
|
区块链 数据安全/隐私保护
马蹄链DAPP合约模式系统开发技术(原理)
马蹄链DAPP合约模式系统开发技术(原理)
|
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.