智能合约dapp开发技术是一种基于区块链技术的开发技术,它可以帮助开发者快速高效地开发出功能强大、可靠性高的dapp(去中心化应用)。dapp定制开发技术则是用于为dapp开发者提供更好的定制化开发服务,帮助开发者更快捷地构建出功能强大、可靠性高的dapp。
去中心化存储技术是一种新型存储技术,它改变了传统的集中式存储技术,将数据从单一位置移到多个位置,这样就消除了存储数据的中心机构或服务器的责任,增加了安全性和数据的有效存储,确保用户的数据安全性。
class PFLD::Impl{
public:
Impl(){
device_=0;
precision_=0;
power_=0;
memory_=0;
initialized_=false;
}
~Impl(){
landmarker_->releaseModel();
landmarker->releaseSession(session);
}
int LoadModel(const char*root_path);
int ExtractKeypoints(const cv::Mat&img_face,std::vector<cv::Point2f>*keypoints);
std::sharedptr<MNN::Interpreter>landmarker;
const int inputSize_=96;
int device_;
int precision_;
int power_;
int memory_;
MNN::Session*session_=nullptr;
MNN::Tensor*inputtensor=nullptr;
bool initialized_;
};
int PFLD::Impl::LoadModel(const char*root_path){
std::string model_file=std::string(root_path)+"/pfld-lite.mnn";
landmarker_=std::shared_ptr<MNN::Interpreter>(MNN::Interpreter::createFromFile(model_file.c_str()));
MNN::ScheduleConfig config;
config.numThread=1;
config.type=staticcast<MNNForwardType>(device);
MNN::BackendConfig backendConfig;
backendConfig.precision=(MNN::BackendConfig::PrecisionMode)precision_;
backendConfig.power=(MNN::BackendConfig::PowerMode)power_;
backendConfig.memory=(MNN::BackendConfig::MemoryMode)memory_;
config.backendConfig=&backendConfig;
session=landmarker->createSession(config);
//nhwc to nchw
std::vector<int>dims{1,inputSize,inputSize,3};
inputtensor=MNN::Tensor::create<float>(dims,NULL,MNN::Tensor::TENSORFLOW);
initialized_=true;
return 0;
}