DataWhale夏令营:Task2:建模方案解读与进阶

glob库的要点

glob库主要是方便查找搜索文件而生的,os库主要用来实现文件的基础操作,shutil主要用来实现文件的复制移动操作。

1. 3个通配符

* : 匹配0个或多个字符
**: 匹配所有文件,目录,子目录和子目录里的文件,常搭配recursive=True使用如glob.glob("**/*.txt",recursive=True)返回的就是递归搜索当前目录下的所有的txt文件
?: 匹配一个字符;
[]:匹配指定范围内的字符,如[0-9]匹配数字,[a-z]匹配小写字母

2. 3个函数

  • glob.glob():返回符合匹配条件的所有文件的路径list
  • glob.iglob(): i指的是iterator,返回一个迭代器对象,对于大型目录,一次性获取所有匹配的文件列表可能会占用大量内存。在这种情况下,可以使用iglob()函数来进行迭代获取
  • glob.escape():escape可以忽略所有特殊字符-----星号,问号,中括号,用处不大

应用: 在上节YOLO制作数据集时,使用glob进行搜索所有的.mp4文件和.json文件,然后通过sort进行升序排序,通过排序然后结合zip()方法可以轻松将mp4和anno对应起来。

python 复制代码
train_annos = glob.glob('训练集(有标注第一批)/标注/*.json') #返回所的标注文件路径的list
train_videos = glob.glob('训练集(有标注第一批)/视频/*.mp4') #返回所有的视频路径的list
train_annos.sort(); train_videos.sort()

category_labels = ["非机动车违停", "机动车违停", "垃圾桶满溢", "违法经营"]

for anno_path, video_path in zip(train_annos[:5], train_videos[:5]):
    #TODO:保存帧以及对应的标注

Warning库学习

忽略所欲ignore类型的警告信息。

python 复制代码
import warnings 
warnings.filterwarnings('ignore')

数据类型转换

1. json转pandas的DataFrame

如下,json->dataFrame

python 复制代码
anno_df = pd.read_json(anno_path)

2. torch的tensor转为numpy的Ndarray类型

通过.cpu.numpy()将tensor转为Ndarray类型

python 复制代码
       xyxy = boxes.xyxy.data.cpu().numpy().round()
        cls = boxes.cls.data.cpu().numpy().round()
        conf = boxes.conf.data.cpu().numpy()
python 复制代码
        xyxy = boxes.xyxy.data.cpu().numpy().round()
        cls = boxes.cls.data.cpu().numpy().round()
        conf = boxes.conf.data.cpu().numpy()
相关推荐
yannan201903133 分钟前
【算法】(Python)动态规划
python·算法·动态规划
埃菲尔铁塔_CV算法5 分钟前
人工智能图像算法:开启视觉新时代的钥匙
人工智能·算法
EasyCVR5 分钟前
EHOME视频平台EasyCVR视频融合平台使用OBS进行RTMP推流,WebRTC播放出现抖动、卡顿如何解决?
人工智能·算法·ffmpeg·音视频·webrtc·监控视频接入
打羽毛球吗️12 分钟前
机器学习中的两种主要思路:数据驱动与模型驱动
人工智能·机器学习
蒙娜丽宁13 分钟前
《Python OpenCV从菜鸟到高手》——零基础进阶,开启图像处理与计算机视觉的大门!
python·opencv·计算机视觉
光芒再现dev15 分钟前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
好喜欢吃红柚子28 分钟前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
小馒头学python33 分钟前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习
神奇夜光杯42 分钟前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
正义的彬彬侠1 小时前
《XGBoost算法的原理推导》12-14决策树复杂度的正则化项 公式解析
人工智能·决策树·机器学习·集成学习·boosting·xgboost