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合约模式开发案例
DAPP不依赖中心化机构也不受单一实体控制,因此DAPP可以减少中心化机构的意见干扰
|
存储 监控 安全
波场链(TRON)智能合约dapp开发部署指南
波场链(TRON)智能合约dapp开发部署指南
|
算法 安全 Unix
DAPP马蹄链佛萨奇2.0智能合约系统开发(案例及详细)丨DAPP马蹄链佛萨奇2.0开发智能合约源码及方案
 Web3.0通过将信息交互从屏幕转移到物理空间,改变了终端用户体验,因而也有称Web3.0为“空间网络(Spatial Web)”。
|
API Go 区块链
matic(马蹄链)DAPP系统开发技术讲解详细逻辑
matic(马蹄链)DAPP系统开发技术讲解详细逻辑
249 0
|
区块链 数据安全/隐私保护
马蹄链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.
|
区块链
DAPP马蹄链智能合约系统开发功能详情丨DAPP马蹄链智能合约开发源码部署
 DAPP是DecentralizeDAPPlication的缩写,中文叫分布式应用/去中心化应用)。通常来说,不同的DAPP会采用不同的底层区快开发平台和共识机制,或者自行发布代币(也可以使用基于相同区快平台的通用代币)。