当前位置: 首页 > wzjs >正文

衡阳做淘宝网站杭州推广平台有哪些

衡阳做淘宝网站,杭州推广平台有哪些,建设外贸购物网站,喜满堂网站建设llm, qnn, qualcomm 源码:https://github.com/UbiquitousLearning/mllm 1.qnn后端的接入 这里只是给一个核心的思路,不涉及具体的代码实现。 前言: qualcomm htp后端,因为支持的数据类型有限,int8/int16/float16&am…

llm, qnn, qualcomm
源码:https://github.com/UbiquitousLearning/mllm

1.qnn后端的接入

这里只是给一个核心的思路,不涉及具体的代码实现。

前言:

  • qualcomm htp后端,因为支持的数据类型有限,int8/int16/float16,如果要用int数据类型加速,需要对模型进行量化。mllm中使用的是int8,但是不是整个整个网络使用int8,而是部分使用,同时qnn npu推理时是cpu+npu混合的。

实现:

  • 因为qualcomm sdk使用方式的限制,没有单独使用qualcomm op进行计算的方式,需要构建graph。所以mllm中将decoder部分拆成几个qnn graph。具体代码如下:
Backend::global_backends[device_]->onSetUpStart(inputs_vec, outputs_vec, getUinqueName());// for xnnpack currentlyfor (auto &i : inputs) {i.uuid() = inputs[0].module()->activation_tensors[i.name()]->uuid();}auto outputs = Forward(inputs, anyArgs);for (auto &output : outputs) {outputs_vec.push_back(inputs[0].module()->activation_tensors[output.name()]);}Backend::global_backends[device_]->onSetUpEnd(inputs_vec, outputs_vec, getUinqueName());

qnnbackend.onsetupstart中会初始化QnnModel

qnnModels_.push_back(qnn_wrapper_api::QnnModel());// create qnn context, assign context to qnn memory managerif (StatusCode::SUCCESS != this->createContext()) {this->reportError("Context Creation failure");}
#ifdef QNN_ARMauto qnnMM = std::static_pointer_cast<QNNMemoryManager>(mem_manager_);qnnMM->setQnnInterfaceAndContext(m_context);
#endif// initialize qnn graph info, set graph info, graph count// NOTE: currently not using itQnnHtpGraph_CustomConfig_t customConfig;// customConfig.option = QNN_HTP_GRAPH_CONFIG_OPTION_NUM_HVX_THREADS;// customConfig.numHvxThreads = 4; // set a number. MAX = number of HVX HW blocks for that SoCcustomConfig.option = QNN_HTP_GRAPH_CONFIG_OPTION_VTCM_SIZE;customConfig.vtcmSizeInMB = 8;QnnGraph_Config_t graphConfig;graphConfig.option = QNN_GRAPH_CONFIG_OPTION_CUSTOM;graphConfig.customConfig = &customConfig;const QnnGraph_Config_t *pGraphConfig[] = {&graphConfig, NULL};const QnnGraph_Config_t **graphConfigs = pGraphConfig;m_graphConfigsInfoCount = 1;qnn_wrapper_api::ModelError_t err = qnn_wrapper_api::getQnnGraphConfigFromInfo(graphName.c_str(), (const qnn_wrapper_api::GraphConfigInfo_t **)m_graphConfigsInfo, m_graphConfigsInfoCount, graphConfigs);if (err != qnn_wrapper_api::MODEL_NO_ERROR) {this->reportError("Graph Config Info failure");}err = qnnModels_[qnnModelIndex_].initialize(m_backendHandle,m_qnnFunctionPointers.qnnInterface,m_context,graphName.c_str(),m_debug,DO_GRAPH_NODE_VALIDATIONS,graphConfigs);if (err != qnn_wrapper_api::MODEL_NO_ERROR) {this->reportError("Graph Initialization failure: " + graphName);}

后续再通过op.setup方法往QnnModel中添加tensor和op,如QNNLinearINT8

graphAddNode(name() + ".linearint8", "Conv2d", {inputs[0]->name(), weight_.name()}, matmulOut, params_InceptionV3_InceptionV3_Conv2d_1a_3x3_Conv2D);

2. other

这都是qualcomm sdk中op不支持单op后端支持,必须要构建model来调用。不友好。

http://www.dtcms.com/wzjs/285977.html

相关文章:

  • 四川建设招标网站网站seo文章该怎么写
  • 软装设计公司名称太原建站seo
  • 企业资质证书查询官方网站优化公司排名
  • 做啥英文网站赚钱百度推广运营
  • 单位政府网站建设和维护网站内容seo
  • 云服务器便宜常宁seo外包
  • 建设网站模板免费网站推广的常用方法
  • 新闻网站抓取做舆情监测百度正版下载恢复百度
  • 响应式网站是做列表代运营公司
  • css选择器有哪几种seo优化推广专员招聘
  • 大的网站制作竞价托管推广哪家好
  • 佳木斯做网站公司厦门做网站公司有哪些
  • 成都专业网站建设专业网络推广软件
  • 网站开发主要框架 后端优化网站排名方法
  • 网站如何做关键词seo优化关键词批量调词 软件
  • 做网站费用分几块seo关键词优化如何
  • 我想在郑卅淘宝网站做客服怎么做内部搜索引擎优化
  • 优化门户网站建设制作一个简单的网站
  • 医院网站怎么制作如何搜索关键词热度
  • 做网站应达到什么效果seo黑帽培训骗局
  • wordpress 导出功能培训班线上优化
  • dede自动一键更新网站杭州网站建设方案优化
  • h5微信网站建设合肥seo代理商
  • 升级的网站显示什么台州网站建设推广
  • 网页设计毕业论文教程武汉seo关键字推广
  • 瓯北网站制作报价新网
  • 黄冈网站建设优化排名seo关键词外包公司
  • 科技企业网站设计互联网电商平台有哪些
  • 网上商城模板seo按照搜索引擎的
  • 网站网站建站南宁seo费用服务