自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 多进程(四)

进程池Pool一个特殊的容器,容器中可以容纳很多个进程,可以重复利用进程池中的进程。当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。初始化Pool时,可以指定一个最大进程数,当有新的请求提交到Pool中时,如果池还没有满,那么就会创建一个新的进程用来执行该请求;但如果池中的进程数已经达到指定的最大值,那么该请求就会等待

2021-07-10 21:40:32 143

原创 多进程(三)

进程间的通信 Queue可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序,Queue只能用于同一程序中的多个进程。from multiprocessing import Queueq=Queue(3) #初始化一个Queue对象,最多可接收三条put消息q.put("消息1") q.put("消息2")print(q.full()) #Falseq.put("消息3")print(q.full()) #True#因为消息

2021-07-10 21:06:52 105

原创 多进程(二)

通过mutiprocessing创建进程from multiprocessing import Processimport timedef run_proc(): """子进程要执行的代码""" print("子进程的进程号%d" % os.getpid()) while True: print("----2----") time.sleep(1)if __name__=='__main__': print("主进程的进程号%d"

2021-07-10 20:38:47 109

原创 多线程(三)

共享全局变量的问题资源竞争当两个线程都要修改同一个全局变量时,由于多线程操作的本质是时间片轮转,当线程1执行了一部分,转到线程2执行,可能会出现问题。# 线程1和线程2都要对全局变量g_num加1# 1 在g_num=0时,t1取得g_num=0。# 此时系统把t1调度为”sleeping”状态,把t2转换为”running”状态,t2也获得g_num=0# 2 然后t2对得到的值进行加1并赋给g_num,使得g_num=1# 3 然后系统又把t2调度为”sleeping”,把t1转为”run

2021-07-09 21:13:07 302

原创 多线程(二)

多线程共享全局变量全局变量与global# 在一个函数中,对全局变量进行修改的时候,到底是否要加global进行说明,# 要看是否对全局变量的执行指向进行了修改# 如果修改了指向,即让全局变量指向一个新的地方,那么必须用global# 如果仅仅是修改了指向的空间中的数据,此时不需要使用globalnum = 100nums = [11,22]def test(): #数字,字符串,元组不可变,加global global num num += 100def test2(): n

2021-07-09 20:45:08 76

原创 yolo 中的anchor

yolo v3中的anchor是怎么计算的p代表的是anchor,b代表的是预测框,而t是网络的真实输出,即由网络的输出(t)计算出预测的框(b)上图表示的实际是由网络的输出(t)解码到预测的框(b)的过程编码:对于真实的目标框,先归一化为(gx,gy,gw,gh),具体的归一化方法为,gx = (xo/W)*13gy = (yo/H)*13gw = (wo/W)*13gh = (ho/H)*13,o下表代表原始的数据,归一化之后(gx,gy,gw,gh)的值都处于(0,13)的范围内

2021-07-09 15:53:34 669

原创 多线程(一)

单核CPU:同一时刻,只处理一件事情单核CPU执行多任务:时间片轮转(优先级调度)并发操作系统轮流让各个任务交替执行,由于CPU的执行速度很快,实现了一种假的多任务并行真正的并行执行多任务只能在多核CPU上实现,但是,由于任务数量远远多于CPU的核心数量,所以,操作系统也会自动把很多任务轮流调度到每个核心上执行。python threading模块实现多线程import threadingimport time# 一个主线程,两个子线程# 主线程会等待所有子线程结束,才会结束def

2021-07-04 22:06:34 104

原创 Tx2 安装torchvision的问题

在 yolo代码utils/utils.py中用到了torchvisioni = torchvision.ops.boxes.nms(boxes, scores, iou_thres)由于tx2上的pytorch安装的是1.4版本,在官网上查询对应的torchvision版本是v0.5.0官网地址:https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-9-0-now-available/72048.因此尝试在Tx2中

2021-07-02 20:56:22 806 1

原创 python socket编程(六)

TCP客户端和服务器TCP是面向连接的,通信双方必须先建立连接才能进行数据的传输,双方都必须为该连接分配必要的系统内核资源,以管理连接的状态和连接上的传输。双方间的数据传输都可以通过这一个连接进行。完成数据交换后,双方必须断开此连接,以释放系统资源。这种连接是一对一的,因此TCP不适用于广播的应用程序,基于广播的应用程序请使用UDP协议。TCP严格区分客户端与服务器TCP客户端import socketdef main(): server_ip = input("请输入服务器ip:") s

2021-06-29 15:23:26 155 1

原创 python socket编程(五)

TCPTCP,传输控制协议(Transmission Control Protocol)UDP类似写信的模型,有可能信息丢失,不安全。TCP可以想象成打电话的模型,相对更稳定安全,TCP的一大特点,发送的数据包如果对方没有收到,那么会再发一遍,保证数据一定能够到达。或者数据再传输过程中出错了,接收方会对数据进行检查,发现数据是错误的,会请求再传一次这个包TCP在通信前必须先建立连接TCP通信三个步骤,创建连接、数据传送、终止连接TCP比UDP更复杂,但是更稳定,体现在:1)TCP采用发送应答

2021-06-28 21:22:08 277 1

原创 python socket编程(四)

udp接收demo由于没有运用多任务,不能同时接收和发送数据(双工)import socketdef send_msg(udp_socket): dest_ip = input("请输入对方的ip") dest_port = input("请输入对方的port") send_data = input("请输入要发送的消息") udp_socket.sendto(send_data.encode("utf-8"),(dest_ip,dest_port))def main(): #创建一个

2021-06-28 17:55:23 85

原创 python socket编程(三)

udp接收程序想要程序能够接受数据,首先要将程序绑定一个固定的端口通过bind来实现端口绑定(端口不能小于1024)#创建一个套接字udp_socket = socket.socket(socket.AF_INET,socket.SOCKET_DGRAM)#一个元组,''表示IP地址,可以写为空local_addr = ('',7788)#绑定端口udp_socket.bind(local_addr)接收数据使用 recvfromrecv_data = udp_socket.recvf

2021-06-26 14:36:51 100

原创 python socket编程(二)

udp发送程序demoimport socketdef main(): #创建一个udp套接字 udp_socket = socket.socket(socket.AF_INET,socket.SOCKET_DGRAM) #可以使用套接字发送数据 udp_socket.endto(b"test1111111",("192.168.1.128",8080)) #关闭套接字 udp_socket.close()if __name__ == "__main__": main()u

2021-06-26 14:03:22 124 1

原创 python socket编程(一)

创建socket函数socket.socket创建一个socket,该函数带有两个参数:AddressFamily:可以选择AF_INET(用于Internet进程通信)                            

2021-06-25 21:38:41 125

原创 tkinter学习(一)

tkinter学习(一)创建主窗口Frame和LabelframeFrame创建主窗口from tkinter import *#创建一个主窗口gui = Tk()#gui为全局区域名gui.title("地标定轨系统")#窗口名称gui.geometry('1920x1080')#调整窗口的分辨率 #####在这里进行您的骚扫操作####root.mainloop()#进入主循环Frame和LabelframeFrame与Labelframe都是容器,用来存放其他控件Fr

2021-06-25 16:24:35 255

原创 python csv的基本操作

python csv的基本操作1 读取数据csv.reader2 写入数据csv.writercsv.DictWriter不覆盖原有内容写入附:参考1 读取数据csv.readercsv.reader传入的可以是列表或者文件对象,返回的是一个可迭代的对象,需要使用for循环遍历path = "C:\\Users\\A539\\Desktop\\1.csv"with open(path, 'r') as fp: lines = csv.reader(fp) for line in

2021-06-15 21:29:44 648 9

原创 torch.backends.cudnn.benchmark 和 torch.backends.cudnn.deterministic

torch.backends.cudnn.benchmarktorch.backends.cudnn.deterministic

2021-06-11 10:51:24 732

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除