Package
文章平均质量分 75
Python 库文件解析
ViatorSun
深度学习算法工程师,Github开源世界贡献者,专注于『计算机视觉、多模态大模型』领域
展开
-
详解 Python 正则表达式
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。re 模块使 Python 语言拥有全部的正则表达式功能。compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。文章目录Re库的主要功能:常用 flags 标记:正则表达式模式匹配 特殊字符类re.match 函数re.search 函数re.match与原创 2020-11-20 19:43:21 · 1039 阅读 · 1 评论 -
「bug」nvitop ERROR: Failed to initialize curses
nvitop 作为一个优秀个 Nvidia显卡查询库,简单易用且显示信息十分丰富,相比 Nvidia-smi 更方便,简直是每个 开发人员必备的库,安装也十分方便,直接采用 即可,调用的时候也是直接在 Terminal 中输入 即可,按 Q 键即可退出 nvitopnvitop 虽好用,但难免出问题,在此记录下 ERROR: Failed to initialize (setupterm: could not find terminfo database) 的解决方法:这个错误表明 curses原创 2024-08-29 14:28:28 · 652 阅读 · 0 评论 -
「Pytorch」roLabelImg 图像异常旋转 bug
在进行Yolo-obb 模型训练的时候需要标注旋转框,roLabelImg 是比较推荐的一款旋转框标注工具,既可以标注正常的矩形框,还可以标注旋转框但是在使用过程中遇到了一个比较难搞的bug。对于手机等拍摄的图像,除了图像内容还会保存很多其他信息,比如下图的旋转,采用不同的方式打开,效果是不一样的,使用常规的图像查看就是正常的,但是使用 roLabelImg 打开就会发现逆时针旋转 90度。原创 2024-07-12 14:22:41 · 1118 阅读 · 0 评论 -
「解析」Python字符串前补零
最近在对数据进行重新命名,以往的单纯数字随着量的增加,数字的长度也在不断调整,对于不同的读取方式排序也不太一致。因此,统一成相同长度的形式更有利于排序。以下罗列了三种补齐方式。原创 2023-05-22 10:32:35 · 3209 阅读 · 0 评论 -
「记录」MMDetection入门篇
OpenMMLab是一个深度学习高级库,通过OpenMMLab软件栈可以看出来,低层依旧使用的Pytorch,因此用户并不是在学一个全新的库,而是更加高级,更加方便的Pytorch库,OpenMMLab可以给用户带来更高的效率,使得用户只关注核心算法即可,不用再在配置文件上浪费更多时间MMdet主要由4个部分组成,datasets、models、core和apis另外,MMCV是面向整个OpenMMLab所有开源库的,里面都是通用类和工具类,方便下游各个codebase复用。...原创 2022-07-27 23:24:25 · 468 阅读 · 0 评论 -
「解析」Matplotlib 绘制折线图
相比【优雅】Matplotlib 常见图、【优雅】Matplotlib 3D图 而言,折线图使用的频率会更高一些,在此整理下最近使用 Matplotlib 绘制折线图常用的一些配置,小伙伴们只需要修改对应的 aug_list、list 即可直接使用。原创 2023-04-06 11:18:16 · 710 阅读 · 0 评论 -
COCO数据集格式解析
COCO数据集是我们经常使用的一个数据集,并且 COCO数据集格式也很受大家欢迎,但不同于 VOC数据格式,COCO是将所有的标注数据存放在一个json文件中,使得查看的时候云里雾里,最近也在用COCO数据集做实例分割,顺道整理下,为自己扫清一些盲区,如有解释不清的地方,欢迎留言官网地址: https://cocodataset.org/标注文件的格式说明: https://cocodataset.org/#format-dataMC COCO2017年主要包含以下四个任务:目标检测与分割、图像描述、原创 2022-05-20 14:18:01 · 24450 阅读 · 4 评论 -
「解析」labelme 的json文件批量转化
相信大家在使用 labelme 标注数据之后,都需要将 json文件 转换为对应的标签图,但是每次一张一张转换,费时又费力,特别是转换后还需要再将 标签图修改名字,然后再移动到特定的文件夹,就又增添了不少工作量,作者也是深受其累。作为一名开发人员,怎么可以让这点问题难住呢,自然是让程序自动处理,而我们应该是 在旁刷抖音才对 🤓️🤓️🤓️此外,对于labelme 每次标注的时候,需要加载 图片文件地址,设置自动保存等等操作,作者已经在 labelme 如何硬核加载 labels.txt 中教大家如何一次性原创 2022-04-08 22:00:00 · 4092 阅读 · 23 评论 -
「Pandas」DataFrame 输出不换行
在使用 dataframe 时遇到 df 在列较多情况下,系统会自动换行显示,使得查看数据比较困难,好在此时可以设置,只需要在创建 df 之前配置如下代码即可:# -*- coding: utf-8 -*-import numpy as npimport pandas as pd# pd.set_option('display.height', 1000)pd.set_option('display.max_rows', 500) # 显示行数pd.set_option('display.原创 2022-03-17 12:20:00 · 3917 阅读 · 0 评论 -
「解析」如何优雅的学习 torch.einsum()
einsum方法解析:einsum(爱因斯坦求和) 是Pytorch、TensorFlow、numpy中一个十分优雅的方法。Einsum 可以计算向量、矩阵、张量运算,包括计算 transposes、sum、column/row sum、Matrix-Vector Multiplication、Matrix-Matrix Multiplication。如果利用得当,sinsum绝对是你科研路上的一把利器,可完全代替其他的矩阵计算方法。原创 2022-01-29 20:30:00 · 11664 阅读 · 0 评论 -
Tensorboard + Logger 日志记录
在Pytorch 训练模型的时候,需要日志帮助开发者记录些重要信息和参数,以方便开发者更好的调节模型及参数,常见的日志非 Tensorboard不可,但是Pytorch 对 Tensorboard 的支持不是十分完美,在记录模型重要参数时 Tensorboard 的 writer.add_text() 记录日志不是很方便,Logger 便可替代 Tensorboard 记录文本日志,Tensorboard 专注 模型训练图,两者搭配使用极大提高效率,且讲两者放在 Tensorboard 日志文件夹下方便调取原创 2022-01-24 13:36:00 · 3577 阅读 · 0 评论 -
labelme 如何硬核加载 labels.txt
1、设置 默认 “自动保存” 每次好不容易标注完一个数据,但是点击到下一张图像时,还需要手动点击保存,或者是每次打开 labelme软件时都需要先设置下自动保存,繁琐且不方便,小伙伴可以在 labelme的配置文件中将自动保存选项设置为 true 打开文件2、自动加载 labels.txt如果小伙伴近很长一段时间都在标注一个数据集的话,那么它的标签也是一样的,但是每次都输入的话,简直太低效了,因此可以通过以下两种方法设置,这样,每次打开labelme的时候,label list中就自动加载好原创 2022-01-06 22:49:00 · 5783 阅读 · 7 评论 -
Pycharm 优雅的刷 leetcode 算法
不管是提前批的准备还是秋招以及来年的春招,leetcode的算法几乎是人人必备的,虽然leetcode已经提供了在线编辑功能,但是虽优秀,但不完美!在此也提供给小伙伴在 Pycharm上面如何优雅的刷 leetcode算法,并且编辑后的代码可以保存在本地,非常方便保存记录以及分享!原创 2021-07-31 15:03:00 · 4272 阅读 · 4 评论 -
SQLite-Python 增插删改操作
SQLite (https://www.sqlite.org/) 是一个软件库,小巧灵活,能够自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。不需要配置管理,解压安装包之后添加环境变量即可使用,并且小巧、灵活,支持多重编程语言接口。原创 2021-07-26 19:35:37 · 669 阅读 · 3 评论 -
【优雅】matplotlib 3D图
对于matplotlib 而言,1.首先需要创建一个画布【即 plt.figure()】 2. 然后才可以进行各种图标绘制 3. 最后通过【plt.show()】显示 1. 首先需要创建文章目录1、3D散点图2、3D条形图演示3、在3D绘图上绘制2D数据4、将轮廓轮廓投影到图形上5、在3D中绘制轮廓(水平)曲线6、3D表面图中的自定义山体阴影7、2D数据的3D直方图8、多边形填充3D线图9、3D箭袋图像。1、3D散点图2、3D条形图演示3、在3D绘图上绘制2D数据...原创 2021-07-17 23:59:59 · 1088 阅读 · 7 评论 -
【优雅】matplotlib 常见图
对于matplotlib 而言,首先需要创建一个画布【即 plt.figure()】;然后才可以进行各种图标绘制;最后通过【plt.show()】显示。plt.figure() 新建一个空画布; plt.plot(x, y) 绘图; plt.show()。其中参数1和3分别代表子图的行数和列数,一共有 1x3 个子图像。函数返回一个figure图像和子图ax的array列表。原创 2021-07-17 23:12:00 · 710 阅读 · 3 评论 -
【详解】Pycharm 关联 Git管理项目
注意:下面输入命令都是在Pycharm的Terminal中操作文章目录1、安装 Git2、项目初始化 Git3、查看 git配置信息4、Git 相关功能5、关联Github代码库6、推送项目6.1 HTTPS推送6.2 SSH 推送7、Clone 仓库8、Git commit 仓库9、Git pull10、查看 Git 记录1、安装 Git具体的操作步骤如下:对于 mac 用户,首先确保自己安装了 Command Line Tools对于 windows 用户,需要 单独安装 Git 软件.原创 2021-07-12 23:55:30 · 2839 阅读 · 1 评论 -
「详解」conda 安装与使用
conda 是一个开源的软件包管理系统和环境管理软件,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。conda 是为Python程序创建的,类似于 Linux、MacOS、Windows,也可以打包和分发其他软件。原创 2021-07-08 23:05:25 · 103407 阅读 · 7 评论 -
【小序】Python os常用操作
OS 模块主要是 Python 用于与系统进行交互文章目录1、os.walk()2、os.listdir()3、os.path.isdir()4、os.path.isfile()5、os.path.join()6、os.chdir()7、os.getcwd()8、os.mkdir()9、os.makedirs()10、os.remove(path)11、os.removedirs(path)12、os.path()1、os.walk()用于扫面 path 下面的所有 【子目录 和 文件】返回一个三原创 2021-05-18 15:31:53 · 268 阅读 · 2 评论 -
【详解】einops 优美的处理张量维度
einops has a minimalistic yet powerful API. einops 更关注的是接口:关注输入和输出是什么,而不是如何计算输出(见下方代码)。第三行给读者一个提示:这不是我们正在处理的独立的一批图像,而是一个序列(视频)。einops 使得代码更易于阅读和维护。rearrange,reduce, repeat 这3个方法,(einops教程显示了覆盖堆叠、整形、换位、挤压/解压、重复、平铺、级联、视图和无数的缩减);原创 2021-04-25 14:18:00 · 1968 阅读 · 0 评论 -
COCO/VOC 数据集加速下载
方法一:Google gsutil工具MSCOCO数据集较大,可以使用Google gsutil工具搭配命令行下载sudo apt-get install aria2aria2c -c <url>即为COCO官网下载地址train2017:http://images.cocodataset.org/zips/train2017.zipval2017:http://images.cocodataset.org/zips/val2017.ziptrain2014:http://原创 2021-03-23 15:42:02 · 3406 阅读 · 2 评论 -
Win/Mac 安装 pycocotools 失败解决办法
对于目标检测还有图像分割,COCO是一个经典的数据集,但是COCO的安装过程还是比较麻烦的。在此记录了 win/mac 系统的安装教程,希望对大家有帮助。1、Win系统安装法一、pip安装先下载git,下载地址如右:Git - Downloading Package然后在pycocotools官网阅读readme 注释在git终端使用命令pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAP原创 2021-03-23 14:05:05 · 2987 阅读 · 2 评论 -
【记录】PIL img.getexif()获取图像信息
from PIL import Imageimg = Image.open('./images/pic_hd.jpg')key = ''exif_data = img.getexif()[key]print(exif_data)以字典格式存储信息:key:36867/36868 拍摄时间271 相机pinpai272 相机型号原创 2021-01-09 21:47:42 · 3683 阅读 · 0 评论 -
【超全】正则表达式 元字符匹配模式
1、常用 flags 标记: 方法 描 述 | re.I (re.ignorecase): | 忽略大小写| re.M (re.multiline): | 多行模式,改变’^‘和’$‘的行为| re.S (re.dotall): | 点任意匹配模式,改变’.'的行为| re.L (re.locale): | 使预定字符类 \w \W \b \B \s \S 取决于当前区域设定| re.U (re.unicode): | 使预定字符类原创 2020-11-20 19:59:59 · 797 阅读 · 0 评论 -
详解 Numpy.ndarray
NumPy支持比Python更多种类的数字类型,有5种基本数字类型:布尔值(bool)、整数(int)、无符号整数(uint)、浮点(float)、复数(complex)1、np.array 数组2、np.ndarray N维数组一个 ndarray是具有相同类型和大小的项目的多维容器。尺寸和数组中的项目的数量是由它的shape定义, 它是由N个非负整数组成的tuple(元组),用于指定每个维度的大小。不同的是,ndarrays可以共享相同的数据, 因此在一个ndarray中进行的更改可能在另一个原创 2020-11-18 20:03:35 · 47085 阅读 · 0 评论 -
Pdfminer 分析
pdfminer分析解析PDF是一件非常耗时和内存的工作,因此PDFMiner使用了一种称作lazy parsing的策略,只在需要的时候才去解析,以减少时间和内存的使用。要解析PDF至少需要两个类:PDFParser 和 PDFDocumentPDFParser 从文件中提取数据PDFDocument 保存数据另外还需要PDFPageInterpreter去处理页面内容,PDFDevice将其转换为我们所需要的。PDFResourceManager用于保存共享内容例如字体或图片。比较重要原创 2020-11-07 23:36:22 · 1183 阅读 · 0 评论 -
入门 labelImg 数据标注
小科普人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。原创 2019-03-25 10:17:18 · 4109 阅读 · 0 评论 -
Pandas 数据挖掘 & 分析
Pandas 作为一个开源的强大的分析结构化数据的工具集, 能够进行高性能的数据处理与分析,但是 Pandas数学功能天生不足,目前只支持一些简单的回归方法,但是Pandas 可以非常高效的连接与合并数据集,支持丰富的输入输出文本格式,包括直接内存读写、CSV、Excel、纯文本、SQL 和 HDF5格式。原创 2020-07-08 16:06:32 · 2961 阅读 · 0 评论 -
Numpy 常量
NumPy包括几个常量:np.e、np.pi、 np.inf、 np.nan、np.NINF、np.PZERO & np.NZERO、np.euler_gamma、np.newaxis文章目录np.enp.pinp.infnp.nannp.NINFnp.PZERO & np.NZEROnp.euler_gammanp.newaxisnp.eexp : 指数函数日志:自然对数。也称为欧拉的常数,自然对数的基础,纳皮尔的常数。e = 2.71828182845904523536028原创 2020-11-19 22:05:44 · 3699 阅读 · 0 评论