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

上海营销型网站seo网站的设计流程

上海营销型网站seo,网站的设计流程,有趣网站建设无聊,2018建设一个网站需要什么EMO了几天 我浪费了几天的生命,去研究PP-OCR的模型微调、从训练模型导出预测模型,结果一个坑接着一个坑,没有善终。 找了好多资料,得到一些负面信息,比如说飞浆的团队修复问题不及时啦,代码仓库有好多年不…

EMO了几天

我浪费了几天的生命,去研究PP-OCR的模型微调、从训练模型导出预测模型,结果一个坑接着一个坑,没有善终。
找了好多资料,得到一些负面信息,比如说飞浆的团队修复问题不及时啦,代码仓库有好多年不更新啦,为了KPI而搞开源啦等等。
今天想着还是先把安卓端部署过程记录下来吧,忘掉那些不开心吧。

安卓端部署简介

如果直接用官方提供的模型去跑,其实还是挺香的,OCR是飞浆框架下最厉害的库了。
安卓部署官方也有demo的(当然是几年前的),PaddleOCR–deploy下去找,我也放到csdn下载了。

例子中使用的PP-OCRv2的模型,想想现在都PP-OCRv4了,是不是心中着急?

PaddleLite

想要在安卓端部署,需要飞浆下的另一个重要的库,PaddleLite。
Paddle Lite 是百度飞桨(PaddlePaddle)生态中的端侧推理引擎,专注于在移动设备、嵌入式设备和边缘计算场景中实现高效的深度学习模型部署。其核心目标是通过轻量化、高性能的优化技术,降低模型运行时的资源消耗,同时支持多种硬件平台和操作系统。
Demo中使用的是2.10版本,目录结构如下:

OpenCV

OpenCV的作用自然在负责图像处理部分。在安卓平台,它的用途还真是广泛的不得了。
Demo中使用的是4.2.0,目录结构如下:

PaddleOCR的模型和字典

模型文件和字典是程序运行后下载的,如下图:

App源码简介

代码结构依然是Java层+Native层。

Java代码

上层的业务逻辑,以及通过JNI调用Native层代码。结构如下:

Java层与Native层沟通仅仅用了三个方法,它们在OCRPredictorNative类中:

    protected native long init(String detModelPath, String recModelPath, String clsModelPath, int useOpencl, int threadNum, String cpuMode);protected native float[] forward(long pointer, Bitmap originalImage,int max_size_len, int run_det, int run_cls, int run_rec);protected native void release(long pointer);

Native层代码

源码结构如下图:

JNI的实现在native.cpp中,重点看forward方法的实现,OCR的处理逻辑及返回结果都在这里了。

extern "C" JNIEXPORT jfloatArray JNICALL
Java_com_baidu_paddle_lite_demo_ocr_OCRPredictorNative_forward(JNIEnv *env, jobject thiz, jlong java_pointer, jobject original_image,jint j_max_size_len, jint j_run_det, jint j_run_cls, jint j_run_rec) {LOGI("begin to run native forward");if (java_pointer == 0) {LOGE("JAVA pointer is NULL");return cpp_array_to_jfloatarray(env, nullptr, 0);}cv::Mat origin = bitmap_to_cv_mat(env, original_image);if (origin.size == 0) {LOGE("origin bitmap cannot convert to CV Mat");return cpp_array_to_jfloatarray(env, nullptr, 0);}int max_size_len = j_max_size_len;int run_det = j_run_det;int run_cls = j_run_cls;int run_rec = j_run_rec;ppredictor::OCR_PPredictor *ppredictor =(ppredictor::OCR_PPredictor *)java_pointer;std::vector<int64_t> dims_arr;std::vector<ppredictor::OCRPredictResult> results =ppredictor->infer_ocr(origin, max_size_len, run_det, run_cls, run_rec);LOGI("infer_ocr finished with boxes %ld", results.size());// 这里将std::vector<ppredictor::OCRPredictResult> 序列化成// float数组,传输到java层再反序列化std::vector<float> float_arr;for (const ppredictor::OCRPredictResult &r : results) {float_arr.push_back(r.points.size());float_arr.push_back(r.word_index.size());float_arr.push_back(r.score);// add det pointfor (const std::vector<int> &point : r.points) {float_arr.push_back(point.at(0));float_arr.push_back(point.at(1));}// add rec word idxfor (int index : r.word_index) {float_arr.push_back(index);}// add cls resultfloat_arr.push_back(r.cls_label);float_arr.push_back(r.cls_score);}return cpp_array_to_jfloatarray(env, float_arr.data(), float_arr.size());
}

运行结果


文章转载自:

http://H3nuT0wh.nzfqw.cn
http://QaHCSgX6.nzfqw.cn
http://vTpUUHIS.nzfqw.cn
http://oYsTFhil.nzfqw.cn
http://0YEBq6DI.nzfqw.cn
http://cKUuzHHN.nzfqw.cn
http://a6xgK4Ps.nzfqw.cn
http://oJbjcnGs.nzfqw.cn
http://QkCr6fgi.nzfqw.cn
http://HC8Jw81x.nzfqw.cn
http://t89CCPzJ.nzfqw.cn
http://QjeFbrQS.nzfqw.cn
http://CfhG1io2.nzfqw.cn
http://azCFIfdB.nzfqw.cn
http://9WxsShis.nzfqw.cn
http://p1bZKyJg.nzfqw.cn
http://4G47O1r3.nzfqw.cn
http://tlHggeOK.nzfqw.cn
http://HnrDcAdy.nzfqw.cn
http://nCanu8sZ.nzfqw.cn
http://0HY9Ix2t.nzfqw.cn
http://YeJG8zTJ.nzfqw.cn
http://yRAhO3C0.nzfqw.cn
http://NLirtm2A.nzfqw.cn
http://pGKEX8Ue.nzfqw.cn
http://NreD85gL.nzfqw.cn
http://M4wfjAHP.nzfqw.cn
http://s2n5obmt.nzfqw.cn
http://G5EZFCmN.nzfqw.cn
http://UwQ5jSWv.nzfqw.cn
http://www.dtcms.com/wzjs/654573.html

相关文章:

  • 用墨刀做视频网站电商企业有哪些
  • 平潭县机场建设网站做网站难吗?
  • wordpress 登陆界面襄阳抖音seo找哪家
  • 网站改版301怎么做如何做简单视频网站
  • 企业网站结构asp.net mvc做网站难吗
  • 自己弄个网站昌吉建设网站
  • 企业商城网站建设方案顺德网站建设基本流程
  • 网站模块制作知名企业门户网站建设联系电话
  • 网站不被收录了远大科技 网站建设
  • 公司建站电脑QQ浮动窗口怎做电脑网站
  • 深圳设计网页制作公司seo是什么职业做什么的
  • 响应式网站推广长春网络建站
  • 镇江网站网站建设少儿编程加盟哪个品牌好
  • 用了wordpress的网站aaa免费服务器
  • 青海建设厅网站黑名单班级网站建设思路
  • 背景色搭配网站北京大学网络服务
  • 郑州市 网站建设wordpress采集微信公众文章内容
  • wordpress文章批量编辑器汕头seo网站排名
  • 南阳专业网站排名推广百度网页版
  • qq空间刷赞网站推广佛山建网站价格
  • 怀化网站优化多少钱专注于网络推广及网站建设
  • ps做网站时画布宽度做网站技术方法有
  • 网站更改建设方案模板东莞网络公司哪家好
  • 网站开发公司售后服务如何让产品吸引顾客
  • 微信群如何推广网站建设学网站开发哪个好
  • 云南网络公司网站建设html5网站开发价格
  • eclipse开发网站用vue做前端wordpress vip
  • 南昌哪个公司做网站好wordpress出错
  • 简单学校网站模板外贸营销方式有哪些
  • 网站备案期间做什么网站统计 中文域名