简单说,智能合约是一种用计算机语言取代法律语言去记录条款的合约。智能合约可以由一个计算系统自动执行。可以理解为智能合约就是传统合约的数字化版本。
什么是DAPP?DAPP是Decentralized Application的缩写,中文叫分布式应用/去中心化应用。通常来说,不同的DAPP会采用不同的底层技术开发平台和共识机制,或者自行发布代币。
auto outputTensor=interpreter->getSessionOutput(session,NULL);
auto nchwTensor=new Tensor(outputTensor,Tensor::CAFFE);
outputTensor->copyToHostTensor(nchwTensor);
auto score=nchwTensor->host<float>()[0];
auto index=nchwTensor->host<float>()[1];
//...
delete nchwTensor;
#include<jni.h>
#include<string>
#include<android/log.h>
#include<MNN/MNNDefine.h>
#include<MNN/Interpreter.hpp>
#include<MNN/Tensor.hpp>
#define LOGI(...)android_log_print(ANDROID_LOG_INFO,"MNNExample",VA_ARGS__)
static MNN::Interpreter*interpreter=nullptr;
static MNN::Session*session=nullptr;
static MNN::Tensor*inputTensor=nullptr;
static MNN::Tensor*outputTensor=nullptr;
extern"C"{
JNIEXPORT jint JNICALL
Java_com_example_mnnexample_MNNRunnerinit(JNIEnv*env,jobject instance,jstring modelPath){
//获取模型路径
const char*modelPath=env->GetStringUTFChars(modelPath_,0);
//创建解释器
interpreter=MNN::Interpreter::createFromFile(modelPath);
MNN::ScheduleConfig config;
config.numThread=1;//设置线程数
session=interpreter->createSession(config);
//获取输入输出张量
std::vector<MNN::Tensor*>inputs=interpreter->getSessionInputAll(session);
std::vector<MNN::Tensor*>outputs=interpreter->getSessionOutputAll(session);
inputTensor=inputs[0];
outputTensor=outputs[0];
//释放字符串
env->ReleaseStringUTFChars(modelPath_,modelPath);
return 0;
}