Kangas:计算机视觉中的pandas

在这里插入图片描述

Kangas:计算机视觉中的pandas

  • 介绍
    • Kangas的优点
  • 使用Kangas读取CSV文件
  • 读取图像文件
  • Kangas DataGrid训练模型

介绍

在计算机视觉领域,Kangas是一种在图像数据处理和分析方面越来越受欢迎的工具之一。就像Pandas改变了数据分析人员处理表格数据的方式一样,Kangas正在为计算机视觉任务做同样的工作。

Kangas是Comet ML开发的开源工具,用于探索、分析和可视化大规模多媒体数据集,如图像、视频和音频。Kangas使机器学习专业人员能够可视化、排序、分组、查询和解释他们的数据(结构化或非结构化),以获得有意义的见解并加速模型开发。

另一方面,Pandas是一个流行的开源Python库,用于处理和操作表格数据。它也可以用于清洗和准备数据。与其他库相比,它易于使用、快速且灵活,但不像Kangas那样原生支持非结构化数据类型。

Kangas对于计算机视觉数据就像Pandas对于表格数据一样。正如我们将在本教程中看到的,Kangas提供了读取、操作和分析图像的方法。

Kangas的优点

  1. 易于使用:Kangas的主要优点是其简化了处理计算机视觉数据的过程。它具有用户友好的API,数据专业人员可以加载、处理和分析视觉数据,而无需编写复杂的代码。这使得数据专业人员更容易专注于手头的任务,而不是数据处理的技术细节。
  2. 速度和效率:与其他计算机视觉工具相比,Kangas可以轻松处理大型数据集并快速处理它们,实现实时数据分析和决策。这使其非常适用于时间敏感的应用,如自动驾驶车辆,其中对视觉数据的快速和准确分析至关重要。
  3. 多样性:Kangas提供了广泛的机器学习算法,可应用于计算机视觉任务。这些算法可用于执行诸如图像分类、目标检测和图像分割等任务。
  4. 处理大量数据的能力:Kangas使用一种内存高效的数据结构,使数据专业人员能够以出色的性能处理大量图像和视频数据。这使其非常适用于处理高分辨率图像和视频数据。
  5. 灵活性:Kangas可以在Jupyter notebook、独立应用程序或Web应用程序等多平台应用中运行。

使用Kangas读取CSV文件

在Kangas和Pandas中,从CSV文件中读取数据非常相似。区别在于Kangas创建了一个DataGrid,而Pandas创建了一个DataFrame。以下代码:

import kangas as kgdg = kg.read_csv("path_to_csv_file")

这可以与Pandas中用于读取CSV文件的代码进行比较:

import pandas as pd
df = pd.read_csv("path_to_csv_file")

接下来,我们将使用以下代码可视化CSV文件中的数据:

dg.show()

输出
在这里插入图片描述

与Pandas的语法相比如下:

df.head()

请注意,Kangas的DataGrid是交互式的,而Pandas的DataFrame是静态的。

读取图像文件

与OpenCV等其他计算机视觉图像库不同,使用Kangas读取图像文件利用了Pandas的简洁性,以确保数据科学家将精力集中在需要的地方。

要使用Kangas读取图像文件,请运行以下代码块:

import kangas as kg
image = kg.Image("path_to_images").to_pil()

通过运行下面代码中变量“image”的名称,可将图像文件可视化:

image

输出
在这里插入图片描述

从上面的示例中,您可以看到Kangas的语法与Pandas非常相似。

Pandas和Kangas的相似之处

  1. 语法:Kangas和Pandas具有相似的语法,易于编写和使用。
  2. 数据处理:Kangas和Pandas都具有数据处理功能。两者都可以从csv、Json到xlsx(Excel)文件中读取任何格式的数据。Kangas使用DataGrid,而Pandas使用Data Frame和Series来存储数据。
  3. 数据操作:Kangas和Pandas都允许用户对数据进行过滤、排序、合并和重塑,但Kangas是以交互方式实现的。
  4. 索引:两个库都允许用户根据标签或条件对数据进行索引和选择。在Pandas中,可以使用loc和iloc方法来实现,而在Kangas中是通过DataGrid完成的。
  5. 数据分析:两个库都提供了基本的数据分析方法,如描述性统计、聚合和分组操作。

Kangas和Pandas的区别

  1. Kangas处理图像文件,而Pandas不处理图像文件。
  2. Kangas提供了一个用户界面来操作DataGrid中的数据,而
    Pandas只允许以编程方式进行操作。

Kangas DataGrid训练模型

Kangas DataGrid是一个开源的SQLite数据库,提供存储和显示大量数据以及执行快速复杂查询的能力。DataGrid还可以保存、共享,甚至可以远程提供服务。

Kangas DataGrid的一些关键特点包括:

  1. 延迟加载:Kangas DataGrid仅在需要时加载数据,非常适合显示大型数据集。
  2. 过滤和排序:用户可以根据各种条件对网格中显示的数据进行过滤和排序。
  3. 单元格编辑:用户可以编辑网格中的单个单元格,并且可以将更改保存回底层数据源。
  4. 列调整大小和重新排序:用户可以调整网格中的列大小和重新排序。
  5. 虚拟滚动:Kangas DataGrid支持虚拟滚动,意味着DOM中只呈现可见行,从而显著提高性能。

Kangas DataGrid易于定制和配置,允许开发人员根据其特定应用的需求来定制其设计和功能。

与图像数据相比,创建Kangas DataGrid对于表格数据来说相当容易。对于表格数据,可以通过使用Kangas读取csv文件来创建DataGrid,如下所示:

dg = kg.read_csv("/path_to_csv_file")
dg.show()

对于图像数据,下面是创建DataGrid的逐步过程:

  • 首先,收集数据或从数据仓库(如Kaggle)下载数据。
  • 将数据分割为x_train、x_test、y_train和y_test等部分。
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(data, labels, test_size=0.2,random_state=42)
  • 接下来,训练模型
from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D
from keras.layers import Activation, Dropout, Flatten, Dense
from keras.applications.mobilenet import MobileNet# Define the model
model = Sequential([MobileNet(include_top=False,input_shape=(150, 150, 3),weights="imagenet",pooling='avg',classes=1000),Dense(128, activation='relu'),Dropout(0.25), Dense(1, activation='sigmoid')])model.summary()# compile model
model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy']
)# fit the model
batch_size = 20
classifier = model.fit(X_train, y_train,steps_per_epoch=train_samples // batch_size,epochs=10,validation_data=(X_test, y_test),validation_steps=validation_samples // batch_size)
  • 创建和存储Kangas DataGrid.
from kangas import DataGrid, Imagedg = DataGrid(name="potato-tuber",columns=["Epoch","Index","Image","Truth","Output","score_0","score_1","score_2",             ],
)# Make image of the test set for reuse
images = [Image(test, shape=(28, 28)) for test in X_test]# Do it once before training:
outputs = model.predict(X_test)
epoch = 0
for index in range(len(X_test)):truth = int(y_test[index].argmax())guess = int(outputs[index].argmax())dg.append([epoch, index, images[index], truth, guess] + list(outputs[index]))dg.save()

探索和共享DataGrid。
创建DataGrid后,访问保存DataGrid的路径并复制该路径。运行以下命令来探索创建的DataGrid。

kg.show('/path_to_datagrid/')

输出
在这里插入图片描述

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

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

相关文章

圆和矩形是否有重叠

🎈 算法并不一定都是很难的题目,也有很多只是一些代码技巧,多进行一些算法题目的练习,可以帮助我们开阔解题思路,提升我们的逻辑思维能力,也可以将一些算法思维结合到业务代码的编写思考中。简而言之&#…

黑产科普丨揭秘游戏黑灰产业链

自今年起,游戏版号已恢复常态化发放,游戏行业在官方发文肯定、重获资本青睐、AI降本增效等多方助力下持续回暖。暑期档将至,游戏厂商为了抢占更多的市场份额,占据更多的玩家视野,将有大量的游戏选择在这个时间上线。 …

[Flask] Flask会话

由于HTTP的无状态性,为了使某个域名下的所有网页能够共享某些数据,Cookie和Session应运而生 1.Cookie对象 HTTP是无状态(stateless)协议,一次请求响应结束后,服务器不会留下任何关于对方状态的信息 也就是说,尽管在…

哈工大计算机网络传输层协议详解之:可靠数据传输的基本原理

哈工大计算机网络传输层协议详解之:可靠数据传输的基本原理 哈工大计算机网络课程传输层协议详解之:流水线机制与滑动窗口协议哈工大计算机网络课程传输层协议详解之:TCP协议哈工大计算机网络课程传输层协议详解之:拥塞控制原理剖…

MyBatisPlus基础功能使用

文章目录 MyBatisPlus基础功能CRUDBaseMapperServiceImpl 条件构造器注解一对多、多对一映射 MyBatisPlus基础功能 CRUD BaseMapper BaseMapper 接口是 MyBatis-Plus 提供的一个基础 Mapper 接口,它定义了一系列的通用数据库操作方法,包括插入、更新、…

【C/C++】使用类和对象 练习EasyX图形库

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

黑马微信小程序-实现本地服务九宫格并展示商品列表

一、九宫格实现 1.获取数据 1.1准备接口 黑马接口&#xff1a;https://applet-base-api-t.itheima.net/categories 说明&#xff1a;这是获取九宫格的数据接口 1.2使用接口 说明&#xff1a;声明变量获取数据。 getGridList() {wx.request({url: https://applet-base-api-t.…

ECS云服务器U实例评测,可以免费体验哦

目录 一、ECS云服务器U实例介绍 话题一、U实例使用体感如何&#xff0c;是否和主售型实例有区别&#xff0c;具体体现在哪里&#xff1f; 话题二、结合相关数据材料&#xff0c;对您感兴趣的场景 话题三、使用u实例是否为您的云上业务或者测试项目提供了帮助支持&#xff1…

Qgis加载在线XYZ瓦片影像服务的实践操作

目录 背景 一、XYZ瓦片相关知识 1、xyz瓦片金字塔 2、 瓦片编号 3、瓦片访问 二、在Qgis中加载在线地图 1、Qgis版本 2、瓦片加载 3、地图属性预览 总结 背景 在做电子地图应用的时候&#xff0c;很常见的会提到瓦片&#xff08;tile&#xff09;的概念&#xff0c;瓦片…

Redis系列 | 分类树查询功能如何从2s优化到0.1s

大家好&#xff0c;今天我们继续来分享一个在项目开发过程中遇到的实际问题&#xff0c;这里也来梳理并总结一下我们是如何对它进行持续优化的&#xff0c;希望能对大家有所帮助。 分类树查询功能&#xff0c;在各个业务系统中可以说随处可见&#xff0c;特别是在一些电商系统中…

国产chatgpt:基于chatGLM微调nlp分类任务

文章目录 一、源码网址1. 硬件设施&#xff1a;2. INT4 量化示例 二、重要的开源社区功能&#xff1a;网址&#xff1a;使用方法&#xff1a;利用方法&#xff1a;对 NLP 工作者的作用&#xff1a;对大模型工程师的用处&#xff1a; 三、重要的开源库四、提示词工程五、进行分类…

线性代数笔记整理

文章目录 1 行列式2 矩阵&#xff08;本质是数表&#xff09;3 方程组的解4 向量5 矩阵的特征值和特征向量6 相似矩阵和相似对角化7 合同对角化8 二次型及其标准型 1 行列式 2 矩阵&#xff08;本质是数表&#xff09; 3 方程组的解 4 向量 5 矩阵的特征值和特征向量 6 相似矩阵…