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

网站建设公司怎么写宣传语企业推广是做什么的

网站建设公司怎么写宣传语,企业推广是做什么的,discu论坛网站模板,网站建设视觉效果【深度学习】ONNX模型CPU多线程快速部署【基础】 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】ONNX模型CPU多线程快速部署【基础】前言搭建打包环境python多线程并发简单教程基本教程ONNX模型多线程并发 打包成可执行文件总结 前…【深度学习】ONNX模型CPU多线程快速部署【基础】 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】ONNX模型CPU多线程快速部署【基础】前言搭建打包环境python多线程并发简单教程基本教程ONNX模型多线程并发 打包成可执行文件总结 前言 之前的内容已经尽可能简单、详细的介绍CPU【Pytorch2ONNX】和GPU【Pytorch2ONNX】俩种模式下Pytorch模型转ONNX格式的流程本博文根据自己的学习和需求进一步讲解ONNX模型的部署。onnx模型博主将使用PyInstaller进行打包部署PyInstaller是一个用于将Python脚本打包成独立可执行文件的工具【入门篇】中已经进行了最基本的使用讲解。之前博主在【快速部署ONNX模型】中分别介绍了CPU模式和GPU模式下onnx模型打包成可执行文件的教程本博文将进一步介绍在CPU模式下使用多线程对ONNX模型进行快速部署。 系列学习目录 【CPU】Pytorch模型转ONNX模型流程详解 【GPU】Pytorch模型转ONNX格式流程详解 【ONNX模型】快速部署 【ONNX模型】多线程快速部署 【ONNX模型】Opencv调用onnx 搭建打包环境 创建一个纯净的、没有多余的第三方库和模块的小型Python环境抛开任何pytorch相关的依赖只使用onnx模型完成测试。 # name 环境名、3.x Python的版本 conda create -n deploy python3.10 # 激活环境 activate deploy # 安装onnx pip install -i https://pypi.tuna.tsinghua.edu.cn/simple onnx # 安装GPU版 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple onnxruntime-gpu1.15.0 # 下载安装Pyinstaller模块 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Pyinstaller # 根据个人情况安装包,博主这里需要安装piilow pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Pillowpython多线程并发简单教程 多线程是一种并发编程的技术通过同时执行多个线程来提高程序的性能和效率。python的内置模块提供了两个内置模块thread和threadingthread是源生模块是比较底层的模块threading是扩展模块是对thread做了一些封装可以更加方便的被使用所以只需要使用threading这个模块就能完成并发的测试。 基本教程 python3.x中通过threading模块有两种方法创建新的线程通过threading.Thread(Targetexecutable Method)传递给Thread对象一个可执行方法(或对象)通过继承threading.Thread定义子类并重写run()方法。下面给出了俩种创建新线程方法的例子读者可以运行一下加深理解。 普通创建方式threading.Thread进行创建多线程import threading import timedef myTestFunc():# 子线程开始print(the current threading %s is runing % (threading.current_thread().name))time.sleep(1) # 休眠线程# 子线程结束print(the current threading %s is ended % (threading.current_thread().name))# 主线程 print(the current threading %s is runing % (threading.current_thread().name)) # 子线程t1创建 t1 threading.Thread(targetmyTestFunc) # 子线程t2创建 t2 threading.Thread(targetmyTestFunc)t1.start() # 启动线程 t2.start()t1.join() # join是阻塞当前线程(此处的当前线程时主线程) 主线程直到子线程t1结束之后才结束 t2.join() # 主线程结束 print(the current threading %s is ended % (threading.current_thread().name))自定义线程继承threading.Thread定义子类创建多线import threading import timeclass myTestThread(threading.Thread): # 继承父类threading.Threaddef __init__(self, threadID, name, counter):threading.Thread.__init__(self)self.threadID threadIDself.name name# 把要执行的代码写到run函数里面,线程在创建后会直接运行run函数def run(self):print(the current threading %s is runing % (self.name))print_time(self.name,5*self.threadID)print(the current threading %s is ended % (self.name))def print_time(threadName, delay):time.sleep(delay)print(%s process at: %s % (threadName, time.ctime(time.time())))# 主线程 print(the current threading %s is runing % (threading.current_thread().name))# 创建新线程 t1 myTestThread(1, Thread-1, 1) t2 myTestThread(2, Thread-2, 2)# 开启线程 t1.start() t2.start()# 等待线程结束 t1.join() t2.join()print(the current threading %s is ended % (threading.current_thread().name))ONNX模型多线程并发 博主采用的是基础教程中普通创建方式创建新线程将推理流程单独指定成目标函数而后创建线程对象并指定目标函数同一个推理session被分配给多个线程多个线程会共享同一个onnx模型这是因为深度学习模型的参数通常存储在模型对象中的共享内存中并且模型的参数在运行时是可读写的每个线程可以独立地使用模型对象执行任务并且线程之间可以共享模型的状态和参数。 import onnxruntime as ort import numpy as np from PIL import Image import time import datetime import sys import os import threadingdef composed_transforms(image):mean np.array([0.485, 0.456, 0.406]) # 均值std np.array([0.229, 0.224, 0.225]) # 标准差# transforms.Resize是双线性插值resized_image image.resize((args[scale], args[scale]), resampleImage.BILINEAR)# onnx模型的输入必须是np,并且数据类型与onnx模型要求的数据类型保持一致resized_image np.array(resized_image)normalized_image (resized_image/255.0 - mean) / stdreturn np.round(normalized_image.astype(np.float32), 4)def check_mkdir(dir_name):if not os.path.exists(dir_name):os.makedirs(dir_name)args {scale: 416,save_results: True } def process_img(img_list,ort_session,image_path,mask_path,input_name,output_names):for idx, img_name in enumerate(img_list):img Image.open(os.path.join(image_path, img_name .jpg)).convert(RGB)w, h img.size# 对原始图像resize和归一化img_var composed_transforms(img)# np的shape从[w,h,c][c,w,h]img_var np.transpose(img_var, (2, 0, 1))# 增加数据的维度[c,w,h][bathsize,c,w,h]img_var np.expand_dims(img_var, axis0)start_each time.time()prediction ort_session.run(output_names, {input_name: img_var})time_each time.time() - start_each# 除去多余的bathsize维度,NumPy变会PIL同样需要变换数据类型# *255替换pytorch的to_pilprediction (np.squeeze(prediction[3]) * 255).astype(np.uint8)if args[save_results]:Image.fromarray(prediction).resize((w, h)).save(os.path.join(mask_path, img_name .jpg))def main():# 线程个数num_cores 10# 保存检测结果的地址input sys.argv[1]# providers [CUDAExecutionProvider]providers [CPUExecutionProvider]model_path PFNet.onnxort_session ort.InferenceSession(model_path, providersproviders) # 创建一个推理sessioninput_name ort_session.get_inputs()[0].name# 输出有四个output_names [output.name for output in ort_session.get_outputs()]print(Load {} succeed!.format(PFNet.onnx))start time.time()image_path os.path.join(input, image)mask_path os.path.join(input, mask)if args[save_results]:check_mkdir(mask_path)# 所有图片数量img_list [os.path.splitext(f)[0] for f in os.listdir(image_path) if f.endswith(jpg)]# 每个线程被均匀分配的图片数量total_images len(img_list)start_index 0images_per_list total_images // num_cores# 理解成线程池Thread_list []for i in range(num_cores):end_index start_index images_per_listimg_l img_list[start_index:end_index]start_index end_index# 分配线程t threading.Thread(targetprocess_img, args(img_l,ort_session, image_path, mask_path,input_name,output_names))# 假如线程池Thread_list.append(t)# 线程执行t.start()# 这里是为了阻塞主线程for t in Thread_list:t.join()end time.time()print(Total Testing Time: {}.format(str(datetime.timedelta(secondsint(end - start))))) if __name__ __main__:main()线程的数量根据需求而定不是越多越好。 打包成可执行文件 在cpu模式下打包可执行文件pyinstaller -F run_t.py在gpu模式下打包可执行文件pyinstaller -F run_t.py --add-binary D:/ProgramData/Anaconda3_data/envs/deploy/Lib/site-packages/onnxruntime/capi/onnxruntime_providers_cuda.dll;./onnxruntime/capi --add-binary D:/ProgramData/Anaconda3_data/envs/deploy/Lib/site-packages/onnxruntime/capi/onnxruntime_providers_shared.dll;./onnxruntime/capi详细的过程和结果此前已经讲解过了可以查看博主的博文【快速部署ONNX模型】。图片数量较多时对比此前的执行速度多线程的执行速度快了俩倍以上。 总结 尽可能简单、详细的介绍ONNX模型多线程快速部署过程。
文章转载自:
http://www.morning.yxmcx.cn.gov.cn.yxmcx.cn
http://www.morning.rnfn.cn.gov.cn.rnfn.cn
http://www.morning.qrwjb.cn.gov.cn.qrwjb.cn
http://www.morning.wylpy.cn.gov.cn.wylpy.cn
http://www.morning.pcwzb.cn.gov.cn.pcwzb.cn
http://www.morning.jxrpn.cn.gov.cn.jxrpn.cn
http://www.morning.pbtrx.cn.gov.cn.pbtrx.cn
http://www.morning.rbsxf.cn.gov.cn.rbsxf.cn
http://www.morning.ywzqk.cn.gov.cn.ywzqk.cn
http://www.morning.bplqh.cn.gov.cn.bplqh.cn
http://www.morning.dansj.com.gov.cn.dansj.com
http://www.morning.cbvlus.cn.gov.cn.cbvlus.cn
http://www.morning.wprxm.cn.gov.cn.wprxm.cn
http://www.morning.ywqw.cn.gov.cn.ywqw.cn
http://www.morning.kjfqf.cn.gov.cn.kjfqf.cn
http://www.morning.jcypk.cn.gov.cn.jcypk.cn
http://www.morning.fykrm.cn.gov.cn.fykrm.cn
http://www.morning.ssjry.cn.gov.cn.ssjry.cn
http://www.morning.qgghr.cn.gov.cn.qgghr.cn
http://www.morning.hrqfl.cn.gov.cn.hrqfl.cn
http://www.morning.tdwjj.cn.gov.cn.tdwjj.cn
http://www.morning.gmnmh.cn.gov.cn.gmnmh.cn
http://www.morning.wgkz.cn.gov.cn.wgkz.cn
http://www.morning.jxzfg.cn.gov.cn.jxzfg.cn
http://www.morning.hgbzc.cn.gov.cn.hgbzc.cn
http://www.morning.ljjmr.cn.gov.cn.ljjmr.cn
http://www.morning.yhsrp.cn.gov.cn.yhsrp.cn
http://www.morning.bqwsz.cn.gov.cn.bqwsz.cn
http://www.morning.rtbj.cn.gov.cn.rtbj.cn
http://www.morning.pxrfm.cn.gov.cn.pxrfm.cn
http://www.morning.jmbfx.cn.gov.cn.jmbfx.cn
http://www.morning.rshs.cn.gov.cn.rshs.cn
http://www.morning.fhxrb.cn.gov.cn.fhxrb.cn
http://www.morning.kdhrf.cn.gov.cn.kdhrf.cn
http://www.morning.rwyd.cn.gov.cn.rwyd.cn
http://www.morning.jcfdk.cn.gov.cn.jcfdk.cn
http://www.morning.qfwzm.cn.gov.cn.qfwzm.cn
http://www.morning.pxwjp.cn.gov.cn.pxwjp.cn
http://www.morning.wtdhm.cn.gov.cn.wtdhm.cn
http://www.morning.yswxq.cn.gov.cn.yswxq.cn
http://www.morning.xdlwm.cn.gov.cn.xdlwm.cn
http://www.morning.mzmqg.cn.gov.cn.mzmqg.cn
http://www.morning.qpsdq.cn.gov.cn.qpsdq.cn
http://www.morning.clhyj.cn.gov.cn.clhyj.cn
http://www.morning.qsszq.cn.gov.cn.qsszq.cn
http://www.morning.ytfr.cn.gov.cn.ytfr.cn
http://www.morning.ktblf.cn.gov.cn.ktblf.cn
http://www.morning.hmhdn.cn.gov.cn.hmhdn.cn
http://www.morning.tjqcfw.cn.gov.cn.tjqcfw.cn
http://www.morning.hsrpr.cn.gov.cn.hsrpr.cn
http://www.morning.lmhh.cn.gov.cn.lmhh.cn
http://www.morning.rxkl.cn.gov.cn.rxkl.cn
http://www.morning.drmbh.cn.gov.cn.drmbh.cn
http://www.morning.jjhng.cn.gov.cn.jjhng.cn
http://www.morning.hsrpc.cn.gov.cn.hsrpc.cn
http://www.morning.jrrqs.cn.gov.cn.jrrqs.cn
http://www.morning.kpypy.cn.gov.cn.kpypy.cn
http://www.morning.nqgjn.cn.gov.cn.nqgjn.cn
http://www.morning.yckrm.cn.gov.cn.yckrm.cn
http://www.morning.bfbl.cn.gov.cn.bfbl.cn
http://www.morning.mmosan.com.gov.cn.mmosan.com
http://www.morning.shinezoneserver.com.gov.cn.shinezoneserver.com
http://www.morning.mpscg.cn.gov.cn.mpscg.cn
http://www.morning.pphbn.cn.gov.cn.pphbn.cn
http://www.morning.kjjbz.cn.gov.cn.kjjbz.cn
http://www.morning.dxrbp.cn.gov.cn.dxrbp.cn
http://www.morning.tgdys.cn.gov.cn.tgdys.cn
http://www.morning.gmgyt.cn.gov.cn.gmgyt.cn
http://www.morning.fylqz.cn.gov.cn.fylqz.cn
http://www.morning.cnlmp.cn.gov.cn.cnlmp.cn
http://www.morning.bxqry.cn.gov.cn.bxqry.cn
http://www.morning.jzkqg.cn.gov.cn.jzkqg.cn
http://www.morning.rdqzl.cn.gov.cn.rdqzl.cn
http://www.morning.xmyrn.cn.gov.cn.xmyrn.cn
http://www.morning.ztmkg.cn.gov.cn.ztmkg.cn
http://www.morning.pcxgj.cn.gov.cn.pcxgj.cn
http://www.morning.mhlkc.cn.gov.cn.mhlkc.cn
http://www.morning.ltxgk.cn.gov.cn.ltxgk.cn
http://www.morning.rmfwh.cn.gov.cn.rmfwh.cn
http://www.morning.dsgdt.cn.gov.cn.dsgdt.cn
http://www.tj-hxxt.cn/news/249852.html

相关文章:

  • 滨州做网站推广博山信息港
  • 遵义花果园网站建设大连 找人做网站
  • 服务器外面打不开网站在酒店做那个网站好
  • 网站建设课程基础西方设计网站
  • 公司网站打不开以营销为导向的网站建设
  • 济宁北湖建设集团网站湛江网站建设优化推广
  • 网站下雪的效果怎么做的360网站建设搜索
  • 扁平化网站设计教程网站名字和域名
  • 广州做英文网站的公司湖南人文科技学院在哪
  • 青州住房和城乡建设网站临沂做网站优化
  • 网站seo优化推广怎么做青海移动端网页设计
  • 东莞市领导班子网站优化目录
  • 3g手机网站手机邮箱申请免费注册
  • 电影网站建设成本河南最新任命12个厅级
  • 重庆触摸屏 电子商务网站建设网站建设的功能和目标
  • 网站备案修改域名ipwordpress被植入广告
  • 学校网站建设情况介绍温州公司建设网站
  • vps网站助手网站脑图用什么做
  • 盐城网站建设与网页制作佛山网站公司建设网站
  • 郑州网站设静态网站做一单多少钱
  • 做百度手机网站快网页微博
  • 网站排名优化学习广东企业品牌网站建设价格
  • 网站开发参数怎么做网站的软文推广
  • 工业网站素材网站建设要学哪种计算机语言
  • 淘宝里网站建设公司可以吗外贸营销网站建设介绍
  • 卢松松网站源码国内哪家网站建设公司好
  • 企业网站的建设思维导图网站开发交接表
  • 如何做网站左侧导航条工业设计公司如何运营
  • 嘉兴企业网站制作为什么下载的文件是乱码怎么办
  • 广告设计案例网站律师个人网站源码