- 博客(58)
- 收藏
- 关注
原创 python多线程和多进程
多线程适合 I/O 密集型任务和轻量级任务。共享资源,通信开销低。受 GIL 限制,不适合 CPU 密集型任务。多进程适合 CPU 密集型任务和需要高隔离性的任务。独立资源,通信开销高。可以充分利用多核 CPU,不受 GIL 限制。chunksize参数是中一个重要的性能调优参数。通过合理设置chunksize,你可以减少调度开销,更好地平衡负载,从而提高多进程并行执行的效率。对于不同的任务和数据量,最佳的chunksize值可能会有所不同,因此建议通过实验来确定最优值。
2025-03-18 14:05:33
559
原创 快速把多个文件组合在一起
命令将1.txt2.txt和3.txt的内容按顺序合并,并将结果保存到all.txt文件中。这是一个非常实用的命令,常用于文件合并和数据处理任务。
2025-03-13 16:21:50
306
原创 python_获取当前日期和时间
通过和strftime方法,你可以轻松地获取当前日期和时间,并将其格式化为所需的字符串格式。这在日志记录、文件命名、数据标记等场景中非常有用。
2025-03-13 14:34:38
512
原创 训练数据重复采样,让正负样本比例1:1
使用resample函数并设置可以确保在训练集数量不一致时,通过允许重复抽样来平衡训练集的数量。这在数据集不平衡的情况下非常有用,可以确保模型在训练时看到相同数量的正样本和负样本。
2025-03-13 14:27:11
455
原创 python 中静态方法
静态方法:不依赖于实例或类的状态,通常用于工具函数。类方法:依赖于类的状态,可以访问和修改类属性。实例方法:依赖于实例的状态,可以访问和修改实例属性。通过合理使用这些方法,可以更好地组织和管理代码,提高代码的可读性和可维护性。
2025-03-12 11:28:04
145
原创 列出 .开头 的隐藏文件
ls -a:列出当前目录中的所有文件,包括隐藏文件。:递归地列出当前目录及其子目录中的所有.开头的文件。:列出当前目录中的所有.开头的文件。
2025-03-10 11:17:53
146
原创 shutil.copy 和 shutil.copy2 区别
简单快速,不保留元数据。:更全面,保留元数据和权限。选择哪个函数取决于你的具体需求。如果你需要保留文件的所有属性,建议使用。如果你只需要复制文件内容,可以使用。
2025-03-07 10:05:50
160
原创 plt和cv2有不同的图像表示方式和颜色通道顺序
plt:使用形状,颜色通道顺序为 RGB。cv2:使用形状,颜色通道顺序为 BGR。转换:使用函数在 BGR 和 RGB 之间进行转换。详细解释一下(简称plt) 和OpenCV(简称cv2) 在处理图像时的形状和颜色通道顺序的区别,以及它们与模型中tensor的区别。plt:使用形状,颜色通道顺序为 RGB。cv2:使用形状,颜色通道顺序为 BGR。模型中的tensor:使用形状,颜色通道顺序为 RGB。
2025-03-06 13:47:22
554
原创 os.rename、os.remove 和 shutil.move 之间的区别
os.rename:在同一文件系统内高效移动文件,只更新元数据。:处理跨文件系统的文件移动,自动选择合适的方法。详细解释os.renameos.remove和之间的区别。这三者在文件操作上有不同的用途和行为。os.rename:在同一文件系统内高效移动文件或重命名文件/目录,不能跨文件系统。os.remove:删除文件,不能删除目录。:可以处理跨文件系统的文件移动,自动选择合适的方法。
2025-03-05 13:59:54
917
原创 测试集指标统计
统计准确率和召回率。计算准确率:准确率 = (真阳性 + 真阴性) / 总样本数。计算召回率:召回率 = 真阳性 / (真阳性 + 假阴性)。计算精确率:精确率 = 真阳性 / (真阳性 + 假阳性)。精确率 (Precision):预测为正的样本中真实正的比例(TP/(TP+FP))召回率 (Recall):真实正的样本中被正确预测的比例(TP/(TP+FN))F1-Score:精确率和召回率的调和平均Support:每个类别的实际样本数。
2025-02-27 17:30:56
357
原创 你是一名资深nlp 工程师,怎么将pdf 中的结构化数据和非结构化数据抽取并构建知识向量库
好的,用户现在问的是如何将PDF中的结构化和非结构化数据抽取并构建知识向量库。首先,我需要明确用户的需求。用户可能是在处理大量文档,比如企业内部的报告、研究论文或者合同等,需要将这些文档中的信息提取出来,以便后续的搜索、分析或生成任务。接下来,我需要区分结构化和非结构化数据。结构化数据在PDF中通常是表格、表单或者有固定格式的内容,比如产品参数表、财务报表等。而非结构化数据则是段落文本、图片中的文字等,没有固定的格式,比如文章正文、说明段落等。
2025-02-10 18:59:45
893
原创 yolo数据增强
YOLO(You Only Look Once)是一种流行的实时目标检测算法,数据增强是提高模型性能的重要手段。数据增强通过在训练过程中对输入图像进行各种变换,增加模型的泛化能力。
2025-01-08 11:54:41
529
原创 os.listdir 和 glob.glob 的用法和区别
os.listdir和glob.glob都是用于列出文件和目录的 Python 标准库函数,但它们在用法和功能上有一些重要的区别。下面详细解释这两个函数的用法和区别,并提供示例代码。
2024-11-05 14:42:13
511
原创 Python 文件操作的示例,包括读取文件、文件指针操作和写入文件
w模式:清空文件并从开头写入。a模式:追加数据到文件末尾。r+模式:从文件开头写入,但不会清空文件。r+模式结合seek方法:从指定位置写入。
2024-11-04 17:06:11
462
原创 Linux 常用命令二
touch:创建空文件或更新文件时间。mkdir:创建目录。ln:创建链接(符号链接或硬链接)。cp:复制文件和目录。mv:移动或重命名文件和目录。这些命令在日常的文件和目录管理中非常有用。Linux 提供了多个命令来删除文件和目录。rm:删除文件和目录。-i:交互模式。-f:强制删除。-r或-R:递归删除。-v:显示详细信息。rmdir:删除空目录。-p:递归删除空目录。find:查找并删除文件。这些命令在日常的文件和目录管理中非常有用。Debian 和 Ubuntuapt和。
2024-10-25 10:38:54
781
原创 Faster RCNN
经过R-CNN和Fast RCNN的积淀,Ross B. Girshick在2016年提出了新的Faster RCNN,在结构上,Faster RCNN已经将特征抽取(feature extraction),proposal提取,bounding box regression(rect refine),classification都整合在了一个网络中,使得综合性能有较大提高,在检测速度方面尤为明显。
2024-10-16 11:23:00
455
原创 时间复杂度
要分析一个算法的时间复杂度,通常需要关注算法中执行次数最多的操作。例如,在一个循环中,如果循环体内的操作执行次数与输入数据量成正比,那么这个算法的时间复杂度可能是 O(n)。的长度很大,算法的运行时间也不会显著增加。算法的运行时间呈指数级增长,常见于递归解决的问题,如不优化的斐波那契数列计算。无论输入数据量如何,算法的运行时间都是固定的。了解算法的时间复杂度有助于识别算法的瓶颈,并采取措施优化算法。算法的运行时间与输入数据量的平方成正比。操作),那么该算法的时间复杂度将是 O(n*m),其中 n 是。
2024-10-15 11:01:53
536
原创 深拷贝和浅拷贝
浅拷贝:快速且节省内存,但新旧对象在引用类型的数据成员上共享同一份数据,修改一方会影响另一方。深拷贝:创建完全独立的对象和数据成员,修改一方不会影响另一方,但可能消耗更多的时间和内存。选择使用浅拷贝还是深拷贝取决于你的具体需求:如果你需要确保复制的对象与原对象完全独立,那么应该使用深拷贝;如果你只需要复制对象的顶层结构,而内部的引用类型数据成员可以共享,则可以使用浅拷贝。
2024-10-14 15:43:05
169
原创 生成器(Generator)和迭代器(Iterator)区别
生成器和迭代器都可以用来遍历数据,但是生成器更加灵活和内存友好,因为它可以自动管理状态和延迟执行。迭代器则需要手动实现迭代协议,包括管理状态和抛出异常。在实际编程中,生成器由于其简洁性和高效性,通常更受欢迎。
2024-10-12 14:48:20
1989
原创 本地代码上传到GitHub的过程
如果你是第一次推送,可能会遇到身份验证的问题。如果是使用HTTPS方式,你可能需要输入你的GitHub用户名和密码。如果是使用SSH方式,确保你已经在GitHub上添加了你的SSH公钥。确保你的计算机上已经安装了Git。如果没有安装,可以从。下载适合你操作系统的版本并安装。
2024-10-12 14:38:34
951
原创 停止训练后报错torch.cuda.OutOfMemoryError: CUDA out of memory. 及查看进程和停止进程
在不同的操作系统中,查看进程的方法有所不同。
2024-10-09 14:35:48
1969
原创 glip修改二
修改“maskrcnn_benchmark/engine/trainer.py”脚本。增加args.early_stop_iteration参数,将参数传入训练主函数。将early_stop_iteration参数传入训练函数。增加训练时计算实时fps的逻辑。
2024-09-29 16:01:01
815
原创 glip的修改
在import部分后添加一键迁移逻辑:import torch_npu from torch_npu.contrib import transfer_to_npu 修改“tools/test_grounding_net.py”脚本。 在import部分后添加一键迁移逻辑:import torch_npu from torch_npu.contrib import transfer_to_npu 开启二进制说明仅Atlas 训练系列产品需要开启二进制。在主函数前,关闭即时编
2024-09-29 15:10:29
982
1
原创 GLIP v1
的文章的出发点,就是将检测问题转换为短语定位(phrase grounding)问题,这样GLIP 模型就统一了目标检测和定位两个任务,可以使用更多的数据集。)和LSeg的做法一样,都是为了使图像特征和文本特征进一步交互,使最终的图像-文本联合特征空间(joined embedding space)训练得更好(相似的embedding拉近,不相似的拉远),图像特征和文本特征被训练的更强更有关联性,这样后面计算相似度矩阵的效果肯定就更好。的目标检测模型,来把这些corner case都处理的很好。
2024-09-27 16:13:10
1306
原创 GLIPv2
GLIPv2和GLIPv1架构基本一样,只是融合了更多的任务和数据集。从论文题目 Unifying Localization and Vision-Language Understanding可以看出,其统一了所有的定位任务(比如分割和检测)和Vision-Language任务。:图像描述生成,根据一张图片生成描述性文本;VQA:给定一张图片和一个与该图片相关的自然语言问题,计算机能产生一个正确的回答。文本QA即纯文本的回答,与之相比,VQA把材料换成了图片形式,所以这是一个典型的多模态问题;
2024-09-27 16:10:25
1475
原创 张量加法 torch.sum
在PyTorch中,张量通常被表示为多维数组,其中每个维度都有特定的意义。例如,在处理图像数据时,张量的形状通常是CHW(通道、高度、宽度)或NCHW(批处理大小、通道、高度、宽度)。将沿着Batch size维度进行求和,结果是一个形状为(1, 3, 4, 4)的张量;将沿着通道维度进行求和,结果是一个形状为(2, 1, 4, 4)的张量;将沿着高度维度进行求和,结果是一个形状为(2, 3, 1, 4)的张量;将沿着宽度维度进行求和,结果是一个形状为(2, 3, 4, 1)的张量。
2024-09-23 13:43:52
544
原创 Python的logging模块
DEBUG: 详细信息,通常只在调试问题时使用。INFO: 确认一切按预期运行。WARNING: 指示可能出现的问题,但仍可继续运行。ERROR: 由于更严重的问题,某些功能无法执行。CRITICAL: 严重错误,程序可能无法继续运行。
2024-09-21 11:22:24
2129
2
原创 logging模块用于记录日志的标准库
日志级别是监控和调试软件系统的关键组成部分,它们帮助开发者和运维人员区分不同严重程度的信息,从而更有效地响应和解决问题。以下是日志级别的详细说明及如何在Python中使用它们的示例。
2024-09-11 16:54:44
717
原创 collections模块中的一种字典子类defaultdict
是Python标准库模块中的一种字典子类,它提供了一种非常实用的方式来处理字典中缺失键的情况。与普通的字典不同,当你尝试访问中不存在的键时,它不会抛出KeyError异常,而是会使用你预先定义的“工厂函数”(factory function)来生成一个默认值。
2024-09-11 15:47:59
557
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人