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

中文的网站做不成二维码中国十大网络公司排行榜

中文的网站做不成二维码,中国十大网络公司排行榜,湖北广盛建设集团网站,在线手机网页制作目录 1、创建并运行并行进程 2、使用队列(Queue)来共享数据 3、进程池 4、进程锁 5、比较使用多进程和使用单进程执行一段代码的时间消耗 6、共享变量 多进程是计算机科学中的一个术语,它是指同时运行多个进程,这些进程可以…

目录

1、创建并运行并行进程

2、使用队列(Queue)来共享数据

3、进程池

4、进程锁

5、比较使用多进程和使用单进程执行一段代码的时间消耗

6、共享变量


多进程是计算机科学中的一个术语,它是指同时运行多个进程,这些进程可以同时执行不同的任务。在计算机操作系统中,进程是分配资源的基本单位,每个进程都有自己独立的内存空间和系统资源,互不干扰。

多进程技术可以用于实现并行计算和分布式计算,其中每个进程可以独立地执行不同的任务,从而可以同时处理多个任务,提高计算机的处理效率。

PyTorch支持使用torch.multiprocessing模块来实现多进程训练。这个模块提供了类似于Python标准库中的multiprocessing模块的功能,但是在PyTorch中进行了扩展,以便更好地支持分布式训练。

使用torch.multiprocessing模块,你可以创建多个进程,每个进程都可以有自己的PyTorch张量和模型参数。这样,你可以将数据分发到不同的进程中,让它们并行地执行训练过程。

1、创建并运行并行进程

import torch.multiprocessing as mp
​
def action(name,times):init = 0 for i in range(times):init += iprint("this process is " + name)
​
​
if __name__ =='__main__':process1 = mp.Process(target=action,args=('process1',10000000))process2 = mp.Process(target=action,args=('process2',1000))
​process1.start()process2.start()#等待进程process2执行完毕后再继续执行后面的代码#process2.join()print("main process")

main process

this process is process2

this process is process1

2、使用队列(Queue)来共享数据

import torch.multiprocessing as mp
​
def action(q,name,times):init = 0 for i in range(times):init += iprint("this process is " + name)q.put(init)
​
if __name__ =='__main__':q = mp.Queue()process1 = mp.Process(target=action,args=(q,'process1',10000000))process2 = mp.Process(target=action,args=(q,'process2',1000))
​process1.start()process2.start()#等待进程process1执行完毕process1.join()#等待进程process2执行完毕process2.join()#从队列中取出进程process1的计算结果result1 = q.get()#从队列中取出进程process2的计算结果result2 = q.get()
​print(result1)print(result2)print("main process")

this process is process2

this process is process1

499500

49999995000000

main process

3、进程池

import torch.multiprocessing as mp
​
def action(times):init = 0 for i in range(times):init += ireturn init
​
​
if __name__ =='__main__':times = [1000,1000000]#创建一个包含两个进程的进程池pool = mp.Pool(processes=2)res = pool.map(action,times)print(res)

[499500, 499999500000]

4、进程锁

import torch.multiprocessing as mp
import time
​
def action(v,num,lock):lock.acquire()for i in range(5):time.sleep(0.1)v.value += numprint(v.value)lock.release()
​
​
if __name__ =='__main__':#创建一个新的锁对象lock = mp.Lock()#创建一个新的共享变量v,初始值为0,数据类型为'i'(整数)v = mp.Value('i',0)p1 = mp.Process(target=action,args=(v,1,lock))p2 = mp.Process(target=action,args=(v,2,lock))p1.start()p2.start()p1.join()p2.join()

2

4

6

8

10

11

12

13

14

15

5、比较使用多进程和使用单进程执行一段代码的时间消耗

import torch.multiprocessing as mp
import time
​
def action(name,times):init = 0 for i in range(times):init += iprint("this process is " + name)
​
def mpfun():process1 = mp.Process(target=action,args=('process1',100000000))process2 = mp.Process(target=action,args=('process2',100000000))
​process1.start()process2.start()
​process1.join()process2.join()
​
def spfun():action('main process',100000000)action('main process',100000000)
​
if __name__ =='__main__':start_time = time.time()mpfun()end_time = time.time()print(end_time-start_time)start_time2 = time.time()spfun()end_time2 = time.time()print(end_time2-start_time2)

this process is process1

this process is process2

8.2586669921875

this process is main process

this process is main process

7.6229119300842285

6、共享变量

import torch.multiprocessing as mp
import torch
​
def action(element,t):t[element] += (element+1) * 1000
​
if __name__ == "__main__":t = torch.zeros(2)t.share_memory_()print('before mp: t=')print(t)
​p0 = mp.Process(target=action,args=(0,t))p1 = mp.Process(target=action,args=(1,t))p0.start()p1.start()p0.join()p1.join()print('after mp: t=')print(t)

before mp: t=

tensor([0., 0.])

after mp: t=

tensor([1000., 2000.])

multigpu_lenet

multigpu_test

http://www.yayakq.cn/news/430317/

相关文章:

  • 孝感建设网站教人做策划的网站
  • 哈尔滨网站建设30t设计商业网站应该做到什么
  • 福州网站开发fjfzwl西充县住房和城乡建设局网站
  • 网站都需要续费吗初学者怎么做php网站
  • 织梦网站tag自定义插件铁岭免费移动网站建设
  • 发布网站免费空间网站建设作业百度云资源
  • 网站手绘教程wordpress 留言板展示
  • 石排东莞网站建设长沙 外贸网站建设公司排名
  • 企业网站建设需求调研表广州自助网站搭建建站公司
  • 案例剖析网站网站效果图用什么软件做
  • 东莞建域名网站网络推广代运营公司
  • 简阳建设网站公司专业做装修的网站
  • 网站挂百度推广二级分销小程序
  • 北京网站建设营销什么网站可以做软件有哪些东西吗
  • 网站开发费属于什么费用seo搜索排名优化
  • 自己网站上做支付宝怎么收费的无法连接网站
  • 横琴建设局网站农产品营销方案
  • 举报网站平台永兴县网站建设专业
  • 理性仁网站如何做估值分析wordpress 脚本慢
  • 网站首页设计html代码wordpress微信分享图片不显示图片
  • 计算机网站开发职业定位淘客推广佣金
  • 百度网站建设的意义上海网站建设公司页溪网络
  • 杜集网站建设商务网站建设毕业设计
  • 做外贸在哪个网站找客户wordpress黑糖
  • 网站品牌词如何优化近期网络舆情事件热点分析
  • 网站建设网络公域名查询ip爱站网
  • 网站seo检测建网站教程视频下载
  • 全国备案网站数量公司网站设计哪家好
  • 简历网站推荐优化推广服务
  • 昌平网站建设浩森宇特自适应网站的缺点