原型网络Prototypical Network的python代码逐行解释,新手小白也可学会!!由于工作量大,准备整5个系列完事,-----系列1

在这里插入图片描述

文章目录

  • 一、数据集展示
  • 二、代码第一步--导入库与读入训练集和测试集解释
    • 1.原始代码如下
    • 2.代码解释
  • 总结


一、数据集展示

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
在这里插入图片描述
在这里插入图片描述

二、代码第一步–导入库与读入训练集和测试集解释

1.原始代码如下

import os
import matplotlib.image as mpimg
import numpy as np
import csv
os.chdir('E:/重要文档/风电课题相关论文/程序代码/图片分类')
def load_data():#验证集labels_trainData = {}label = 0for file in os.listdir('./data/images_background'):for dir in os.listdir('./data/images_background/' + file):labels_trainData[label] = []data = []for png in os.listdir('./data/images_background/' + file +'/' + dir):image_np = mpimg.imread('./data/images_background/' + file +'/' + dir+'/' +png)image_np.astype(np.float64)data.append(image_np)labels_trainData[label] = np.array(data)label += 1#测试集labels_testData = {}label = 0for file in os.listdir('./data/images_evaluation'):for dir in os.listdir('./data/images_evaluation/' + file):labels_testData[label] = []data = []for png in os.listdir('./data/images_evaluation/' + file +'/' + dir):image_np = mpimg.imread('./data/images_evaluation/' + file +'/' + dir+'/' +png)image_np.astype(np.float64)data.append(image_np)labels_testData[label] = np.array(data)label += 1return labels_trainData,labels_testData

2.代码解释

import os:导入Python的os库。这个库提供了很多与操作系统交互的功能,比如访问文件系统、环境变量等。

import matplotlib.image as mpimg:导入Matplotlib库的image模块,并给它取了一个简短的别名mpimg。Matplotlib是一个用于绘制图表和图像的Python库。

import numpy as np:导入NumPy库,并给它取了一个简短的别名np。NumPy是一个用于处理数组和矩阵的Python库,广泛应用于科学计算。

import csv:导入Python内置的csv库。这个库提供了用于读写CSV(逗号分隔值)文件的功能。
这些库都是Python进行数据处理、科学计算和数据可视化等任务时常用的库。

这是一个Python脚本,它用于从特定文件夹中加载图像数据,并将这些数据组织为训练集和测试集的形式。以下是每一行代码的解释:

os.chdir('E:/重要文档/风电课题相关论文/程序代码/图片分类'):这行代码将当前工作目录改变为指定的路径,即’E:/重要文档/风电课题相关论文/程序代码/图片分类’。

def load_data()::定义一个名为load_data的函数,该函数用于加载数据。

labels_trainData = {}:初始化一个空字典,用于存储训练集的标签和对应的图像数据。

label = 0:初始化一个变量label为0,该变量用于表示当前处理的类别标签。

for file in os.listdir('./data/images_background')::遍历文件夹’./data/images_background’中的所有文件。

for dir in os.listdir('./data/images_background/' + file)::对于每个文件,遍历其子文件夹。

labels_trainData[label] = []:在字典labels_trainData中以当前的标签值为键创建一个空列表。

for png in os.listdir('./data/images_background/' + file +'/' + dir)::对于每个子文件夹,遍历其中的所有png图像文件。

image_np = mpimg.imread('./data/images_background/' + file +'/' + dir+'/' +png):使用mpimg库的imread函数读取图像文件,返回一个numpy数组表示的图像。

image_np.astype(np.float64):将图像数据转换为浮点数类型。

data.append(image_np):将处理过的图像数据添加到之前创建的data列表中。

labels_trainData[label] = np.array(data):将data列表转换为numpy数组,并存储到labels_trainData字典中对应的列表中。

label += 1:更新类别标签的值。

类似的,下面的代码用于处理测试集的数据。它使用与处理训练集相同的结构,但读取的文件夹路径不同。
return labels_trainData, labels_testData:函数返回包含训练集和测试集数据的两个字典。


总结

这段代码的主要目的是从一个特定的文件夹中加载图像数据,并将它们存储为numpy数组,以供后续的深度学习模型训练使用。

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

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

相关文章

【实习】串口通信

modbus介绍 详解Modbus通信协议—清晰易懂 Modbus协议是一个master/slave架构的协议。有一个节点是master节点,其他使用Modbus协议参与通信的节点是slave节点。每一个slave设备都有一个唯一的地址。在串行和MB网络中,只有被指定为主节点的节点可以启动一…

【Linux】线程互斥

文章目录 线程互斥互斥量 mutex初始化互斥量加锁与解锁 可重入和线程安全常见的线程安全情况常见的线程安全的情况常见的不可重入情况常见的可重入情况可重入与线程安全联系可重入与线程安全区别 死锁死锁的四个必要条件避免死锁 线程互斥 进程线程间的互斥相关背景概念 临界…

为关键信息基础设施安全助力!持安科技加入关保联盟

近日,中关村华安关键信息基础设施安全保护联盟发布了其新一批的会员单位,零信任办公安全代表企业持安科技成功加入,与联盟企业共同为关键信息基础设施提供各类支撑和保障。 中关村华安关键信息基础设施安全保护联盟由北京市科学技术委员会、中…

深信服AC设备用户认证

拓扑图 目录 拓扑图 一. 无需认证 思路:创建用户和组,将无需认证策略和用户绑定 1.创建组,组里添加用户 2. 新建不需要认证策略,将不需要认证策略和用户关联 3.验证 二.密码认证 思路:创建用户和组,并…

持续集成交付CICD:Jenkins Sharedlibrary 共享库

目录 一、理论 1.共享库 2.共享库配置 3.使用共享库 4.共享库扩展 二、实验 1.连接共享库 2.使用共享库 三、问题 1.路径报错 2.readJSON 报错 一、理论 1.共享库 (1)概念 1)共享库这并不是一个全新的概念,其实在编…

深度学习二维码识别 计算机竞赛

文章目录 0 前言2 二维码基础概念2.1 二维码介绍2.2 QRCode2.3 QRCode 特点 3 机器视觉二维码识别技术3.1 二维码的识别流程3.2 二维码定位3.3 常用的扫描方法 4 深度学习二维码识别4.1 部分关键代码 5 测试结果6 最后 0 前言 🔥 优质竞赛项目系列,今天…

ubuntu20.04.1网络图标突然消失,无法上网

故障:打开虚拟机进入Ubuntu系统后,打开火狐浏览器,发现无法连接网络。 解决办法:因为刚接触Linux系统,就在网上找各种资料,试了各种办法无果,最后发现有可能网络配置文件被更改。 打开控制台输…

打不开github网页解决方法

问题: 1、composer更新包总是失败 2、github打不开,访问不了 解决方法:下载一个Watt Toolkit工具,勾选上,一键加速就可以打开了。 下载步骤: 1、打开网址: Watt Toolkit 2、点击【下载wind…

章鱼网络在 NEARCON23 发布 Octopus 2.0

香港时间2023年11月8日12点,章鱼网络举行第15期 Community Call。 我们在10月8日庆祝了章鱼网络主网上线二周年,并参加了激动人心的 Cosmoverse2023 活动。最重要的是,我们在 Octopus 2.0 的开发中取得了重大进展。 11月8日 Community Call …

PS学习笔记——图层

文章目录 图层面板图层类型新建图层新建方式图层颜色 操作图层修改图层名称选中图层隐藏图层调整图层顺序复制图层 图层面板 按F7可打开/关闭图层面板 该面板就是图层面板了 对所有图层进行筛选的按钮,第一个搜索框可以选择按什么方式进行筛选,支持&am…

idea显示pom.xml文件漂黄警告 Dependency maven:xxx:xxx is vulnerable

场景: idea警告某些maven依赖包有漏洞或者依赖传递有易受攻击包,如下: 解决: 1、打开idea设置,找到 File | Settings | Editor | Inspections 2、取消上述两项勾选即可

YOLO对象检测算法也这么卷了吗——基于YOLOv8的人体姿态检测

前期的文章我们介绍了很多关于YOLO系列的对象检测算法,虽然YOLO系列是应用在目标检测算法上,但是最近更新的YOLO系列算法都加入了对象分割,人体姿态检测等模型。 YOLOv8对象检测算法 2023年,Ultralytics再次发布YOLO更新模型,YOLOv8模型。Ultralytics YOLOv8是YOLO对象检…