当前位置: 首页 > news >正文

微信做网站支付工具榆林市网站seo

微信做网站支付工具,榆林市网站seo,重庆网站建设,个人备案的网站竞价排名做不了CIFAR(Canadian Institute For Advanced Research)是一个用于图像识别研究的数据集。CIFAR数据集包含多个子数据集,最常用的是CIFAR-10和CIFAR-100。 CIFAR-10数据集包含60000张32x32彩色图像,分为10个类别,每…

        CIFAR(Canadian Institute For Advanced Research)是一个用于图像识别研究的数据集。CIFAR数据集包含多个子数据集,最常用的是CIFAR-10和CIFAR-100。
        CIFAR-10数据集包含60000张32x32彩色图像,分为10个类别,每个类别有6000张图像。这10个类别包括飞机、汽车、鸟类、猫、鹿、狗、青蛙、船和卡车。
        CIFAR-100数据集则包含60000张32x32彩色图像,分为100个类别,每个类别有600张图像。这些类别是按照更细致的分类标准划分的。
        由于CIFAR数据集图像尺寸较小,处理速度较快,适合用于研究和教学。同时,CIFAR数据集也提供了数据的原始像素值和相应的类别标签,方便研究人员进行各种实验和分析。

一、下载和解压数据

数据集的地址:

CIFAR-10 and CIFAR-100 datasets

下载数据集,得到

cifar-10-python.tar.gz这个文件,将其解压缩至当前目录下,它会生成\cifar-10-batches-py这个文件夹,文件夹下的内容为:

 在这个文件夹下再新建两个子文件夹:test和train,用以存放测试和训练的图片。这样,本项目的目录结构和文件内容如图:

二、生成和保存图像文件 

在项目的根目录下新建python脚本unpack.py

1、获取训练用的数据集的所有文件名

import pickle
import globdef unpickle(file):   # 解压数据,本段代码来自cifar官网 http://www.cs.utoronto.ca/~kriz/cifar.htmlwith open(file, 'rb') as fo:dict = pickle.load(fo, encoding='bytes')return dict# 输出的类别标签名,从cifar官网可以复制得到  
label_name = ['airplane','automobile','bird','cat','deer','dog','frog','horse','ship','truck']tran_list = glob.glob('E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_*')  # 获取所有需要训练的原始数据集文件名# “glob.glob ()” 是 Python# 中的一个函数,用于查找符合特定模式的文件路径名。# 它返回一个列表,包含所有匹配指定模式的文件路径。# 例如,“glob.glob ('*.txt')” 将返回当前目录下所有扩展名为 “.txt” 的文件的路径。print(tran_list)   # ['E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_1',# 'E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_2',# 'E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_3',# 'E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_4',# 'E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_5']
print(len(tran_list))  # 5

 从cifar官网可以获得解压数据的函数代码和类别标签的文字列表。至此,获得了训练用的数据集的所有文件名。

2、依次读取文件

# 依次读取每个文件
for l in tran_list:  # 依次读取每个文件l_dict = unpickle(l)  # 读取文件,返回一个字典print(l_dict.keys())  # dict_keys([b'batch_label', b'labels', b'data', b'filenames'])'''这个数据集包含了图像数据和相关的元数据。batch_label指的是每个数据批次的标签,labels是具体的分类标签,data是图像数据,而filenames则是图像文件的名称'''print(l_dict[b'batch_label'])  # batch 1 of 5...print(l_dict[b'labels'][:10])  # [6, 9, 9, 4, 1, 1, 2, 7, 8, 3]  # 类别标签print(l_dict[b'data'][:10])  # [102 111 196  77 117 123 134 130 141 135]  # 图像数据print(l_dict[b'filenames'][:3])  # [b'compact_car_s_001706.png', b'icebreaker_s_001689.png', b'peke_s_000545.png']  # 文件名

3、转换格式

        这里要知道一下cifar数据集对图像数据的存储方式:CIFAR-10数据集的data字段存储格式是原始的二进制数据,这些数据代表图像的像素值。每个图像都是32x32像素的彩色图像,因此每个图像有3072个字节(32x32x3),其中每个字节代表一个颜色通道(红、绿、蓝)的一个像素值。
        具体来说,CIFAR-10数据集的data字段中,每3072个连续的字节(32x32x3)代表一张图像。
        这3072个字节被分为三个部分,每个部分1024(32x32)个字节,分别对应图像的红、绿、蓝三个颜色通道。
        每个颜色通道的1024个字节又被进一步分为32块,每个块包含32个字节,对应图像中的一行中的所有像素(每个像素是1列),这样的行共有32行。
        例如,对于第一张图像,前1024个字节代表红色通道,接下来的1024个字节代表绿色通道,最后的1024个字节代表蓝色通道。
        在Python中,将这些数据以NumPy数组的形式存储和处理,数组的形状为(3072,),将其重塑为(3, 32, 32)的形状,以便于进行图像处理和显示。
        进一步的,为了在opencv中处理图像,又将数组转置成opencv的形状。

# 依次读取每个文件
for l in tran_list:  # 依次读取每个文件l_dict = unpickle(l)  # 读取文件,返回一个字典# print(l_dict.keys())  # dict_keys([b'batch_label', b'labels', b'data', b'filenames'])'''这个数据集包含了图像数据和相关的元数据。batch_label指的是每个数据批次的标签,labels是具体的分类标签,data是图像数据,而filenames则是图像文件的名称'''# print(l_dict[b'batch_label'])  # batch 1 of 5...# print(l_dict[b'labels'][:10])  # [6, 9, 9, 4, 1, 1, 2, 7, 8, 3]  # 类别标签# print(l_dict[b'data'][:10])  # [102 111 196  77 117 123 134 130 141 135]  # 图像数据# print(l_dict[b'filenames'][:3])  # [b'compact_car_s_001706.png', b'icebreaker_s_001689.png', b'peke_s_000545.png']  # 文件名for im_idx, im_data in enumerate(l_dict[b'data']):  # 依次读取每个文件中的图像数据])im_data = im_data.reshape(3, 32, 32).transpose(1, 2, 0)  # 转换格式并生成图像数据'''在CIFAR-10数据集中,图像数据的原始存储格式是(3, 32, 32),这意味着每个图像有三个维度:红色通道、绿色通道和蓝色通道,每个通道都是一个32x32的矩阵。这种格式是为了方便按通道存储和处理数据。然而,在大多数图像处理库中,如Pillow或OpenCV,图像通常以(高度, 宽度, 通道)的格式存储,即(32, 32, 3)。这样的格式更符合人们直观上对图像的理解,即先看到高度,然后是宽度,最后是颜色通道。因此,代码中的im_data.reshape(3, 32, 32).transpose(1, 2, 0)操作是为了将数据从CIFAR-10的原始存储格式(3, 32, 32)转换为更通用的图像处理格式(32, 32, 3)。transpose(1, 2, 0)操作就是将三个维度重新排列,使得高度成为第一个维度,宽度成为第二个维度,通道成为第三个维度。'''im_label = l_dict[b'labels'][im_idx]  # 获取类别标签print(label_name[im_label])cv2.imshow('show', cv2.resize(im_data, (100, 100)))  # 显示图像cv2.waitKey(0)  # 等待按键

运行之后:

至此,已经把元数据转换为图像数据。

4、保存图像:

im_name = l_dict[b'filenames'][im_idx]  # 获取文件名dir_name = 'E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\train\\'+label_name[im_label]  # 当前类别文件夹名if not os.path.exists(dir_name):  # 如果不存在os.makedirs(dir_name)  # 创建文件夹cv2.imwrite(dir_name+'\\'+im_name.decode('utf-8')+'.png', im_data)  # 保存图像

 这样,就会创建每个分类的文件夹,并在文件夹中存储了所有的图像文件

其中一个文件夹中的图像文件: 

 当前进度的所有代码:

import pickle
import glob
import numpy as np
import cv2# 解压数据,本段代码来自cifar官网 http://www.cs.utoronto.ca/~kriz/cifar.html
def unpickle(file):with open(file, 'rb') as fo:dict = pickle.load(fo, encoding='bytes')return dict# 输出的类别标签名,从cifar官网可以复制得到
label_name = ['airplane','automobile','bird','cat','deer','dog','frog','horse','ship','truck']# 获取所有需要训练的原始数据集文件名
tran_list = glob.glob('E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_*')  # 获取所有需要训练的原始数据集文件名# “glob.glob ()” 是 Python# 中的一个函数,用于查找符合特定模式的文件路径名。# 它返回一个列表,包含所有匹配指定模式的文件路径。# 例如,“glob.glob ('*.txt')” 将返回当前目录下所有扩展名为 “.txt” 的文件的路径。# print(tran_list)   # ['E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_1',# 'E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_2',# 'E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_3',# 'E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_4',# 'E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_5']
# print(len(tran_list))  # 5# 依次读取每个文件
for l in tran_list:  # 依次读取每个文件l_dict = unpickle(l)  # 读取文件,返回一个字典# print(l_dict.keys())  # dict_keys([b'batch_label', b'labels', b'data', b'filenames'])'''这个数据集包含了图像数据和相关的元数据。batch_label指的是每个数据批次的标签,labels是具体的分类标签,data是图像数据,而filenames则是图像文件的名称'''# print(l_dict[b'batch_label'])  # batch 1 of 5...# print(l_dict[b'labels'][:10])  # [6, 9, 9, 4, 1, 1, 2, 7, 8, 3]  # 类别标签# print(l_dict[b'data'][:10])  # [102 111 196  77 117 123 134 130 141 135]  # 图像数据# print(l_dict[b'filenames'][:3])  # [b'compact_car_s_001706.png', b'icebreaker_s_001689.png', b'peke_s_000545.png']  # 文件名for im_idx, im_data in enumerate(l_dict[b'data']):  # 依次读取每个文件中的图像数据])im_data = im_data.reshape(3, 32, 32).transpose(1, 2, 0)  # 转换格式并生成图像数据'''在CIFAR-10数据集中,图像数据的原始存储格式是(3, 32, 32),这意味着每个图像有三个维度:红色通道、绿色通道和蓝色通道,每个通道都是一个32x32的矩阵。这种格式是为了方便按通道存储和处理数据。然而,在大多数图像处理库中,如Pillow或OpenCV,图像通常以(高度, 宽度, 通道)的格式存储,即(32, 32, 3)。这样的格式更符合人们直观上对图像的理解,即先看到高度,然后是宽度,最后是颜色通道。因此,代码中的im_data.reshape(3, 32, 32).transpose(1, 2, 0)操作是为了将数据从CIFAR-10的原始存储格式(3, 32, 32)转换为更通用的图像处理格式(32, 32, 3)。transpose(1, 2, 0)操作就是将三个维度重新排列,使得高度成为第一个维度,宽度成为第二个维度,通道成为第三个维度。'''im_label = l_dict[b'labels'][im_idx]  # 获取类别标签print(label_name[im_label])cv2.imshow('show', cv2.resize(im_data, (100, 100)))  # 显示图像cv2.waitKey(0)  # 等待按键

4、转换测试集图片 

将上述代码稍加修改,转换测试集图片:

import os
import pickle
import glob
import numpy as np
import cv2# 解压数据,本段代码来自cifar官网 http://www.cs.utoronto.ca/~kriz/cifar.html
def unpickle(file):with open(file, 'rb') as fo:dict = pickle.load(fo, encoding='bytes')return dict# 输出的类别标签名,从cifar官网可以复制得到
label_name = ['airplane','automobile','bird','cat','deer','dog','frog','horse','ship','truck']# 获取所有需要训练的原始数据集文件名
tran_list = glob.glob('E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\test_batch*')  # 获取所有需要训练的原始数据集文件名# “glob.glob ()” 是 Python# 中的一个函数,用于查找符合特定模式的文件路径名。# 它返回一个列表,包含所有匹配指定模式的文件路径。# 例如,“glob.glob ('*.txt')” 将返回当前目录下所有扩展名为 “.txt” 的文件的路径。# print(tran_list)   # ['E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_1',# 'E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_2',# 'E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_3',# 'E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_4',# 'E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\data_batch_5']
# print(len(tran_list))  # 5# 依次读取每个文件
for l in tran_list:  # 依次读取每个文件l_dict = unpickle(l)  # 读取文件,返回一个字典# print(l_dict.keys())  # dict_keys([b'batch_label', b'labels', b'data', b'filenames'])'''这个数据集包含了图像数据和相关的元数据。batch_label指的是每个数据批次的标签,labels是具体的分类标签,data是图像数据,而filenames则是图像文件的名称'''# print(l_dict[b'batch_label'])  # batch 1 of 5...# print(l_dict[b'labels'][:10])  # [6, 9, 9, 4, 1, 1, 2, 7, 8, 3]  # 类别标签# print(l_dict[b'data'][:10])  # [102 111 196  77 117 123 134 130 141 135]  # 图像数据# print(l_dict[b'filenames'][:3])  # [b'compact_car_s_001706.png', b'icebreaker_s_001689.png', b'peke_s_000545.png']  # 文件名for im_idx, im_data in enumerate(l_dict[b'data']):  # 依次读取每个文件中的图像数据])im_data = im_data.reshape(3, 32, 32).transpose(1, 2, 0)  # 转换格式并生成图像数据'''在CIFAR-10数据集中,图像数据的原始存储格式是(3, 32, 32),这意味着每个图像有三个维度:红色通道、绿色通道和蓝色通道,每个通道都是一个32x32的矩阵。这种格式是为了方便按通道存储和处理数据。然而,在大多数图像处理库中,如Pillow或OpenCV,图像通常以(高度, 宽度, 通道)的格式存储,即(32, 32, 3)。这样的格式更符合人们直观上对图像的理解,即先看到高度,然后是宽度,最后是颜色通道。因此,代码中的im_data.reshape(3, 32, 32).transpose(1, 2, 0)操作是为了将数据从CIFAR-10的原始存储格式(3, 32, 32)转换为更通用的图像处理格式(32, 32, 3)。transpose(1, 2, 0)操作就是将三个维度重新排列,使得高度成为第一个维度,宽度成为第二个维度,通道成为第三个维度。'''im_label = l_dict[b'labels'][im_idx]  # 获取类别标签# print(label_name[im_label])# cv2.imshow('show', cv2.resize(im_data, (100, 100)))  # 显示图像# cv2.waitKey(0)  # 等待按键# with open(im_name, 'wb') as fo:  # 保存图像#     fo.write(im_data)  # 写入图像数据im_name = l_dict[b'filenames'][im_idx]  # 获取文件名dir_name = 'E:\\AI_tset\\cifar10_demo\\cifar-10-python\\cifar-10-batches-py\\test\\'+label_name[im_label]  # 当前类别文件夹名if not os.path.exists(dir_name):  # 如果不存在os.makedirs(dir_name)  # 创建文件夹cv2.imwrite(dir_name+'\\'+im_name.decode('utf-8')+'.png', im_data)  # 保存图像

执行上述脚本,得到测试集的图片集。

 三、

http://www.zhongyajixie.com/news/44154.html

相关文章:

  • 成都网站设计最加科技网络推广方法有哪些
  • 番禺做哪些做网站的东莞疫情最新消息今天新增病例
  • 怎么黑入网站seo招聘信息
  • 杭州高端定制网站抖音推广运营公司
  • 微信商城网站长尾关键词挖掘爱站工具
  • 如何做网站品类优化网站打开速度
  • wordpress 程序优化安卓优化
  • 网站开发公司会在最后面加上公司电商网站网址
  • 做网站需要招什么条件青岛网站seo诊断
  • 自己做的网站可以买东西吗北京网站优化页面
  • 网站建设所需资料及费用电商运营推广怎么做
  • 10个网站用户体验优化的研究结果2022重大时政热点事件简短
  • html5 中文网站模板贵阳网站建设推广
  • 如何跟客户沟通网站建设免费男女打扑克的软件
  • 做期货都看那些网站上海优化排名网站
  • 深圳哪里做网站好网站自动提交收录
  • 做网站编辑的发展方向晋升关键词优化收费标准
  • 个人做网站流程图seo排名技术教程
  • dsm搭建wordpress百度seo引流
  • 手机网站开发人员工具百度搜索引擎官网
  • 网站如何做业务2023新闻大事件摘抄
  • 部落冲突做任务网站模板建站网页
  • 中国建设部网站查询网莱芜seo
  • 传奇高端网站设计制作活动营销方案
  • 做网站的公司在哪免费b2b信息发布网站
  • 一级a做爰片免费网站短视频搜狗网站收录入口
  • 做旅游计划的网站免费男女打扑克的软件
  • 陕西网站开发公司电话第三方营销平台有哪些
  • 网站建设优化石家庄个人接外包的网站
  • 阿里云做电影网站吗搜索引擎推广方式有哪些