算法工程师提升工作效率的5个小工具

算法工程师在日常工作中大部分时间还是在和数据打交道。

诸如数据准备,数据清洗,特征分析(EDA) 等等。

这里给大家介绍我非常喜爱的5个处理数据的小工具,

也是我个人使用比较高频的几个工具,相信可以解决大家的一些痛点。

1,一行代码根据关键词抓取百度图片 【数据准备】🔥🔥🔥

2,一行代码根据url获取图片 【数据准备】

3,一行代码合并多个数据集文件夹 【数据准备】

4,五行代码清洗数据集中的重复图片 【数据清洗】🔥🔥🔥

5,三行代码完成表格型数据的探索性分析 【特征分析】🔥🔥

这些工具都可以在梦中情炉🤗torchkeras中直接使用。😋😋

公众号算法美食屋后台回复关键词:torchkeras。获取本文notebook源码和更多有趣范例~

1,一行代码根据关键词抓取百度图片

在有些视觉任务场景下例如: 车牌OCR识别,红绿灯检测,猫的品种分类。根据关键词抓取百度图片可以帮助我们快速构建数据集。

from  torchkeras.data import download_baidu_pictures 
download_baidu_pictures(keyword='猫咪表情包', needed_pics_num=100, save_dir='cats')

974583880525916ff35321bf6920e52e.png

#看几张试试
from pathlib import Path
from PIL import Image from ipywidgets import interact
files = [str(x) for x in Path('cats').rglob('*.jpg') if 'checkpoint' not in str(x)]
def browser_image(path):return Image.open(path) 
interact(browser_image, path=files)

276cf19fb3c729dd6879e4e91689baa7.png

89633206407ad5208d35ea491f9e0766.png

2,一行代码根据url获取图片

在很多应用场景下,图片数据都是以url的形式存在数据库中,使用以下函数可以快速将url转换成PIL中的Image

from torchkeras.data import download_image 
img = download_image('https://pic1.zhimg.com/v2-10423b9e7bfccf690d7a0d16189029dd_1440w.jpg?source=d16d100b')
img

1402ffafdb69090ee13529cec691229d.png

3,一行代码合并多个数据集文件夹

图像任务相关的数据集通常会整理成文件夹形式,例如yolo格式。有时候我们会以增量的形式不断地新做一些数据。

有没有什么办法可以快速地把新的数据集文件夹和老的数据集文件夹方便的合并呢?

#我们来手工模拟创建两个yolo格式的数据集(注,不限与yolo格式)
from pathlib import Path 
for folder in ['ds1','ds2']:for  tp in ['images','labels']:for part in ['train','val']:path = Path(folder)/tp/partpath.mkdir(parents=True, exist_ok=True)for i in range(3):if tp=='images':(path/f'{i}.jpeg').touch()else:(path/f'{i}.txt').touch()
from torchkeras.data import merge_dataset_folders 
merge_dataset_folders(from_folders=['ds1','ds2'],to_folder='ds_merge')
before merge:
ds1: 12 files
ds2: 12 filesafter merge:
ds_merge: 24 files'ds_merge'

4,五行代码清洗数据集中的重复图片

很多时候我们的数据集中可能会因为各种原因存在着一些重复图片。

如果在训练集和验证集有一些相同的图片,可能会导致验证集上评估指标被高估。

torchkeras继承了 fastdup这个库的图片分析和重复图片清理功能。

这个库会将 图片用卷积网络模型转换成 embedding向量。

并通过向量之间的余弦距离来判断两张图片是否(或者叫做相似度更好一些,越接近1越相似)

!pip install fastdup
from torchkeras.data import ImageCleaner
cleaner = ImageCleaner(img_files = 'cats')
cleaner.run_summary(duplicate_similirity=0.99, outlier_percentile=0.02)
cleaner.vis_duplicates()
cleaner.delete_duplicates()
100%|██████████████████████████████████████████████████████████████████████████
██████████| 11/11 [00:00<00:00, 6646.12it/s]

5,三行代码完成表格型数据的探索性分析 【特征分析】🔥🔥

from sklearn import datasets
from sklearn.model_selection import train_test_split
import pandas as pd breast = datasets.load_breast_cancer()
df = pd.DataFrame(breast.data,columns = breast.feature_names)
df["label"] = breast.target
dftrain,dftest = train_test_split(df,test_size = 0.3)
from torchkeras.eda import pipeline 
dfeda = pipeline(dftrain,dftest)
dfeda

be1a1f7a4577f7caae32dfeab3d44118.png

公众号算法美食屋后台回复关键词:torchkeras。获取本文notebook源码和更多有趣范例~

4b4f1e247543eba45b65a43b44013802.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/1140.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业邮箱如何将一个用户设置到多个部门/群组

1、使用管理员账号postmaster登录企业邮局&#xff0c;点击“邮局管理”。 2、点击“组织与成员”。 3、勾选需要设置的用户&#xff0c;点击“设置所属部门/群”。&#xff08;例如&#xff1a;我们需要将所属销售分公司的高阳&#xff0c;加入到以下四个分销部中&#xff0c;…

实录分享 | Alluxio Operator一体化部署方案

今天给大家分享的内容是 Alluxio Operator的一体化部署方案。我会将内容分成 4 个部分来给大家讲解。 首先&#xff0c;介绍 Kubernetes 容器化部署和当前所面临的挑战。 然后&#xff0c;引入operator的概念&#xff0c;介绍当前业界关于Kubernetes 容器化部署问题的主流解决…

HTTP超详细教程

1&#xff0c;HTTP协议 1.1&#xff0c;HTTP简述 HTTP全称为超文本传输协议&#xff0c;是一种应用比较广泛的应用层协议。 那何为超文本&#xff1f; 超文本指的是传输的内容不仅仅是文本&#xff0c;比如 html&#xff0c;css&#xff0c;javaScript 等数据&#xff0c;还…

聚观早报|菜鸟推出自营快递菜鸟速递;字节迈出大模型赛道第一步

今日要闻&#xff1a;菜鸟推出自营快递「菜鸟速递」&#xff1b;字节迈出大模型赛道第一步&#xff1b;多所高校宣布将停用微信支付&#xff1b;沃尔沃宣布将接入特斯拉超级充电网络&#xff1b;TikTok将在美推出在线零售商店 菜鸟推出自营快递「菜鸟速递」 6 月 28 日消息&am…

信号链噪声分析3

目录 概要 整体架构流程 技术名词解释 技术细节 3.计算每个信号链模块的等效噪声带宽(ENB) 4.计算各个模块在信 号链输出端的噪声贡献 增益模块 信号滤波器 ADC 驱动放大器电阻 驱动放大器 RC 滤波器 小结 概要 提示&#xff1a;这里可以添加技术概要 本文介绍对高速宽带宽信号…

计算机组成原理(期末或考研备考)-计算机性能指标(字长,主存容量,吞吐量,主频和时钟周期)

字长&#xff1a;字长是指计算机进行一次整数运算所能处理的二进制数据的位数&#xff0c;通常与CPU寄存器大小相同&#xff0c;因为数据进入到CPU之前会放入寄存器中。 主存大小&#xff1a;通常使用字数字长&#xff0c;例如512K*16位就表示共有512K个存储单元&#xff0c;每…

VSCode编译器环境下,调试3d-tiles-validator

VSCode编译器环境下&#xff0c;调试3d-tiles-validator 1. 源代码环境准备2. VsCode环境装备3. 调试 1. 源代码环境准备 参照3d-tiles-validator仓库的README.md文件 Clone the repository into the current directory:git clone https://github.com/CesiumGS/3d-tiles-vali…

手势识别系统Python,基于卷积神经网络算法

一、介绍 手势识别系统&#xff0c;使用Python作为主要开发语言&#xff0c;基于深度学习TensorFlow框架&#xff0c;搭建卷积神经网络算法。并通过对数据集进行训练&#xff0c;最后得到一个识别精度较高的模型。并基于Django框架&#xff0c;开发网页端操作平台&#xff0c;…

Kubernetes(k8s)容器编排数据存储

目录 1 什么是数据卷1.1 存储卷概述1.2 存储卷类型1.2.1 非持久性存储1.2.2 网络连接性存储1.2.3 分布式存储1.2.4 云端存储 2 emptydir2.1 使用场景2.2 使用示例2.2.1 案例说明2.2.2 创建资源清单2.2.3 创建deploy2.2.4 访问测试 2.3 测试存储卷2.3.1 登录sidecar2.3.2 登录ng…

如何获取科技项目验收测试报告,有什么作用?

科技项目验收测试报告是科技项目验收的重要文件&#xff0c;它对项目的开发过程和测试结果进行了全面的总结和评估。获取科技项目验收测试报告可以帮助项目组了解项目的测试情况和可靠性&#xff0c;从而对项目的质量进行评估和提升。本文将介绍如何获取科技项目验收测试报告&a…

《从零开始编写一个直播服务器》音视频封装FLV

流媒体服务系列文章 文章目录 流媒体服务系列文章前言一、FLV 封装格式解析二、实例分析总结 前言 一、FLV 封装格式解析 flv header flv body flv header previous size0 tag1 previous size1 tag2 … prvious sizen tagn1 flv header previous size0 tag1 header ta…

springboot房屋管理系统

房屋管理系统 springboot房屋管理系统 java房屋管理系统 技术&#xff1a; 基于springboothtml房屋管理系统的设计与实现 运行环境&#xff1a; JAVA版本&#xff1a;JDK1.8 IDE类型&#xff1a;IDEA、Eclipse都可运行 数据库类型&#xff1a;MySql&#xff08;8.x版本都可…