- 博客(810)
- 资源 (5)
- 收藏
- 关注
原创 【在第二个Python文件中导入第一个Python文件中的模型】该模型会被重新加载一遍吗?
Python的导入机制是基于缓存的,也就是说,一个模块只会被导入一次,无论它被导入多少次。在第一个Python文件中加载模型后,该模型会被存储在内存中,再次导入该模块时,Python会直接从内存中读取该模块,而不会重新加载模型。因此,当你在第二个Python文件中导入第一个Python文件中的模型时,该模型不会被重新加载一遍,而是直接使用已经加载的模型。如果你在第二个Python文件中导入第一个Python文件中的模型,那么该模型不会被重新加载一遍。
2023-06-07 16:25:20
3
原创 mmaction2行为识别综述
在mmaction2中,可以通过修改配置文件中的backbone来选择相应的模型,例如在I3D模型中,可以选择使用Inception-v1或BN-Inception作为backbone。在mmaction2中,可以通过修改配置文件中的backbone来选择TSM模型,例如在TSM模型中,可以选择使用ResNet50或ResNet101作为backbone。TSM:利用时间维度上的多尺度特征来提高模型的表现,适用于需要考虑动作时间尺度的任务,如Something-Something V1。
2023-05-31 10:16:35
574
原创 dictionary changed size during iteration
在字典遍历过程中修改字典元素,故报错 RuntimeError: dictionary changed size during iteration。删除字典的元素可以使用del dict[key] 也可以使用dict.pop(key)python遍历时不能修改字典元素。
2023-05-29 10:40:18
21
原创 dinov2环境安装
requirements.txt里面的torchvision==0.15.0版本不符合要求,实际安装的是torchvision-0.15.2,我们直接。
2023-05-25 14:47:02
41
原创 用 DINOv2 模型进行深度估计
DINOv2 是一种基于自监督学习的深度学习模型,主要用于图像分类和目标检测等任务。在深度估计中,可以使用DINOv2进行预训练,并将其应用于推理过程中。这段代码首先加载了DINOv2的预训练模型,并将其设置为评估模式。然后,它加载了一个测试图像,并执行了推理。最后,它从推理输出中提取了深度估计值。请注意,此代码示例仅适用于单个图像的深度估计。如果需要对多个图像进行深度估计,则应该调整代码以批量处理图像。
2023-05-25 14:22:35
135
原创 解决pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/清华:https://pypi.tuna.tsinghua.edu.cn/simple。阿里云:http://mirrors.aliyun.com/pypi/simple/华中科技大学:http://pypi.hustunique.com/豆瓣:http://pypi.douban.com/simple/山东理工大学:http://pypi.sdutlinux.org/
2023-05-25 11:33:01
19
原创 python【redis之Hash 操作】
redis中的Hash 在内存中类似于一个name对应一个dic来存储。name对应的hash中设置一个键值对(不存在,则创建,否则,修改)在name对应的hash中根据key获取value。
2023-05-22 16:00:12
72
原创 E rockx(init+205): init module(1799040960) error -1
中的rockx_data_dir路径不对。rknn在运行时报错。
2023-05-22 14:58:41
14
原创 【gitlab提交代码】There is no tracking information for the current branch.
【代码】There is no tracking information for the current branch.Please specify which branch you want to merg。
2023-05-18 16:20:18
16
原创 python创建excel【pandas新建xlsx】
接下来,可以使用 Pandas 的 to_excel() 方法将 DataFrame 写入 Excel 文件。使用 Pandas 将数据写入 Excel 文件,需要安装 openpyxl 库。
2023-05-18 10:34:36
153
原创 gitlab【git pull原理】
然后去选择develop然后compare with current,也就是拿版本库中的develop和当前分支doSomething的代码进行比较,看看有没有冲突,有就解决冲突,没有就直接选中develop然后merge into current把develop合并到当前分支,然后才能提交,这样组长/管理人员在将组员的各个分支合并为一个分支的时候才不会代码冲突。将目标分支和当前分支合并,这个操作会把版本库中目标分支最近版本代码更新到当前工作区中。
2023-05-16 17:33:43
320
原创 json.dumps
json.dump() 是把python对象转换成json对象生成一个fp的文件流,和文件相关。json.dumps() 是把python对象转换成json对象的一个过程,生成的是字符串。json.loads()将Json字符串解码成python对象。json.dumps将一个Python数据结构转换为JSON。json.dump()和json.dumps()的区别。
2023-05-12 16:56:09
23
原创 python queue【队列的阻塞】
注:设置 timeout 超时时间,并捕捉 queue.Empty 异常;设置tomeout一样会阻塞线程,但timeout之后,可以继续操行程序。如果不想使用 timeout 选项,也可以直接设置 block(阻塞) 为 False,或者直接使用 q.get_nowait 方法(注意:当队列为空的时候 ,get_nowait 一样会触发 queue.Empty 异常)队列的阻塞分为:入队(put)时的阻塞、出队(get)时的阻塞、整体(join)的阻塞(消费的阻塞)
2023-05-09 16:09:50
60
原创 python队列
get_nowait() # 在队列为空的时候也不阻塞,这时候会抛异常queue.Empty。put_nowait(1) # 在队列满的时候也不阻塞,这时候会抛异常queue.Full。q.get() # 在队列为空时会阻塞。q.put() # 在队列满时会阻塞。
2023-05-09 11:14:39
15
原创 模型的并行推理
DataParallel可以在单个机器上的多个GPU上并行运行模型。它会自动将模型划分为多个块,每个块分别在不同的GPU上进行计算。使用DataParallel可以很容易地实现GPU多卡推理,只需要在模型前面加上DataParallel即可。另外,还可以通过使用ONNX Runtime等高性能推理引擎来实现GPU多卡推理。DistributedDataParallel则可以在多台机器上的多个GPU上并行运行模型。ONNX模型可以通过使用深度学习框架的多卡并行化功能来实现GPU多卡推理。
2023-05-09 10:03:59
545
原创 模型的并行推理
DataParallel可以在单个机器上的多个GPU上并行运行模型。它会自动将模型划分为多个块,每个块分别在不同的GPU上进行计算。使用DataParallel可以很容易地实现GPU多卡推理,只需要在模型前面加上DataParallel即可。另外,还可以通过使用ONNX Runtime等高性能推理引擎来实现GPU多卡推理。DistributedDataParallel则可以在多台机器上的多个GPU上并行运行模型。ONNX模型可以通过使用深度学习框架的多卡并行化功能来实现GPU多卡推理。
2023-05-09 09:45:38
58
原创 python【queue之task_done()】
task_done():每当queue.get()一次,无论\是否从队列中获取到东西,都会产生一个任务。当完成这个任务后需要调用task_done()来告诉队列这个任务已经完成了。如果线程里每从队列里get()一次,但没有执行task_done(),则join无法判断队列到底有没有结束,在最后执行join()是等不到结果的,会一直挂起。可以理解为,每task_done一次 就从队列里删掉一个元素,这样在最后join的时候根据队列长度是否为零来判断队列是否结束,从而执行主线程。
2023-05-08 15:09:08
63
原创 TypeError: The view function for ‘getaction‘ did not return a valid response. The function either re
flask不能返回none。
2023-05-06 16:28:05
16
原创 python【 from multiprocessing import Event, Process】用法
在创建 Process 的子类时,需在子类内容重写 run() 方法。实际上,该方法所起到的作用,就如同第一种创建方式中 target 参数执行的函数。通过继承 Process 类的子类,创建实例对象,也可以创建新的进程。**注意,继承 Process 类的子类需重写父类的 run() 方法。**直接创建 Process 类的实例对象,由此就可以创建一个新的进程;不仅如此,Process 类中也提供了一些常用的属性和方法,如表 所示。
2023-04-28 10:53:05
17
原创 python【from threading import Thread】用法
Thread是threading提供的最重要也是最基本的类,可以通过该类创建线程并控制线程的运行。继承Thread类并在子类中重写__init__()和run()为构造函数传递一个可调用对象。
2023-04-28 10:02:35
24
原创 pickle.PicklingError: Can‘t pickle <class ‘rockx.RockX.Keypoint‘>:
将关键点的相关信息保存到坐标、尺寸、角度等),将这些值保存到tuple(元组)或者dict(字典)中。这是由于cv2.KeyPoint的class类无法直接通过pickle.dump写入到pkl文件中。此时要进行数据类型的转换。
2023-04-24 09:48:54
24
原创 Python进程——multiprocessing.Event()多进程执行顺序控制
multiprocessing.Event()针对的是所有的进程,因此下面引用参考的代码的执行过程如下图。一个进程中解除另一个进程的阻塞。
2023-04-23 14:34:38
23
hrnet量化后的rknn模型,经测试后关键点坐标对齐,可用
2023-02-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人