Pytorch使用torch.utils.data.random_split拆分数据集,拆分后的数据集状况
对于这个API,我最开始的预想是从 '猫1猫2猫3猫4狗1狗2狗3狗4' 中分割出 '猫1猫2狗4狗1' 和 '猫4猫3狗2狗3' ,但是打印结果和我预想的不一样
数据集文件的存放路径如下图

测试代码如下
import torch
import torchvisiontransform = torchvision.transforms.Compose([torchvision.transforms.Resize((512,512)), # 调整图像大小为 224x224torchvision.transforms.ToTensor(), # 转换为张量torchvision.transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) # 归一化
])
dataset = torchvision.datasets.ImageFolder('C:\\Users\\ASUS\\PycharmProjects\\pythonProject1\\cats_and_dogs_train',transform=transform)val_ratio = 0.2
val_size = int(len(dataset) * val_ratio)
train_size = len(dataset) - val_size
train_dataset, val_dataset = torch.utils.data.random_split(dataset, [train_size, val_size])cats_num = 0
dogs_num = 0
for x,y in train_dataset:if y == 0:cats_num += 1else:dogs_num += 1print("cats_num: ",cats_num)
print("dogs_num: ",dogs_num)cats_num2 = 0
dogs_num2 = 0
for x,y in val_dataset:if y == 0:cats_num2 += 1else:dogs_num2 += 1print("cats_num2: ",cats_num2)
print("dogs_num2: ",dogs_num2)
输出如下

可以看到总共25000张图片的数据集,分割后并不是cats_num:10000,dogs_num:10000,cats_num2:2500,dogs_num2:2500
也就是说,分割后的状况是猫狗的数量并不一定相等,如结果为 '猫1猫2猫4狗1' 和 '狗4猫3狗2狗3'
相关文章:
Pytorch使用torch.utils.data.random_split拆分数据集,拆分后的数据集状况
对于这个API,我最开始的预想是从 猫1猫2猫3猫4狗1狗2狗3狗4 中分割出 猫1猫2狗4狗1 和 猫4猫3狗2狗3 ,但是打印结果和我预想的不一样 数据集文件的存放路径如下图 测试代码如下 import torch import torchvisiontransform torchvision.transforms.Compose([torchvision.tran…...
每日一练 | 华为认证真题练习Day122
1、路由器所有的接口属于同一个广播域。 A. 对 B. 错 2、下列配置默认路由的命令中,正确的是()。 A. [Huawei]ip route-static 0.0.0.0 0.0.0.0 192.168.1.1 B. [Huawei-Serial0]ip route-static 0.0.0.0 0.0.0.0 0.0.0.0 C. [Huawei]ip…...
SQL sever中函数(2)
目录 一、函数分类及应用 1.1标量函数(Scalar Functions): 1.1.1格式 1.1.2示例 1.1.3作用 1.2表值函数(Table-Valued Functions): 1.2.1内联表值函数(Inline Table-Valued Functions&am…...
win10专业版驱动开发
我使用的系统版本如何下: 使用的visual studio为VS2019,使用的SDK,WDK如下: 在visual studio单个组件里选择SDK10.0.018362.0 在WDK里面选择版本为: 下载链接如下: 以前的 WDK 版本和其他下载 - Windows drivers | Microsoft Le…...
【JavaEE】网络编程---TCP数据报套接字编程
一、TCP数据报套接字编程 1.1 ServerSocket API ServerSocket 是创建TCP服务端Socket的API ServerSocket 构造方法: ServerSocket 方法: 1.2 Socket API Socket 是客户端Socket,或服务端中接收到客户端建立连接(accept方法&…...
用 Go 访问 MySql 数据库
所有代码样例 package mainimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql" )var db *sql.DB// 初始化连接 func initDB() (err error) {db, err sql.Open("mysql", "root:mm..1213tcp(127.0.0.1:3306)/chapte…...
mac 升级node到指定版本
node版本14.15.1升级到最新稳定版18.18.2 mac系统 先查看一下自己的node版本 node -v开始升级 第一步 清除node的缓存 sudo npm cache clean -f第二步 安装n模块【管理模块 n是管理 nodejs版本】 sudo npm install -g n第三步升级node sudo n stable // 把当前系统的 Node…...
欢迎进QQ群讨论交流
...
C语言解决八皇后问题
八皇后问题是指在一个88的棋盘上,放置8个皇后,使得任意两个皇后都不能在同一行、同一列或同一斜线上。这是一个著名的递归问题。下面是一个C语言实现八皇后问题的代码,以及对代码的讲解。 #include <stdio.h>int board[8][8] {0}; //…...
springboot集成canal,将数据发送至接口
前置条件: mysql开启binlog日志部署canal服务 Springboot代码: 接口工具类: import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; imp…...
Selenum八种常用定位(案例解析)
Selenium是一个备受推崇的工具。它有着丰富的功能,让我们能够与网页互动,执行各种任务,能为测试工程师和开发人员提供了很大的便利。 要充分利用Selenium,就需要了解如何正确定位网页上的元素。 接下来我将带大家共同探讨Seleni…...
Web前端接入Microsoft Azure AI文本翻译
Azure 文本翻译是 Azure AI 翻译服务的一项基于云的 REST API 功能。 文本翻译 API 支持实时快速准确地进行源到目标文本翻译。 文本翻译软件开发工具包 (SDK) 是一组库和工具,可用于轻松地将文本翻译 REST API 功能集成到应用程序中。 文本翻译 SDK 可跨 C#/.NET、…...
容联七陌助力鱼跃医疗升级智能联络中心,让客户服务更“鱼跃”
在当今高度竞争的市场环境中,企业的客户服务质量对于维护品牌形象和保持竞争优势至关重要。而随着人工智能、大数据等技术快速发展,智能化客户服务正在成为各行各业发展的重要部分。 鱼跃医疗是一家致力于“用科技律动生命"的国内知名医疗制造企业…...
【Redis系列】在Centos7上安装Redis5.0保姆级教程!
哈喽, 大家好,我是小浪。那么最近也是在忙秋招,很长一段时间没有更新文章啦,最近呢也是秋招闲下来,当然秋招结果也不是很理想,嗯……这里就不多说啦,回归正题,从今天开始我们就开始正…...
线性代数-Python-03:矩阵的变换 - 手写Matrix Transformation及numpy中的用法
文章目录 一、代码仓库二、旋转矩阵的推导及图形学中的矩阵变换2.1 让横坐标扩大a倍,纵坐标扩大b倍2.2 关于x轴翻转2.3 关于y轴翻转2.4 关于原点翻转(x轴,y轴均翻转)2.5 沿x方向错切2.6 沿y方向错切2.7 旋转2.8 单位矩阵2.9 矩阵的…...
【单片机基础】按键状态机实现短按、长按、双击、三击和N击
下载地址: 【CSDNNaiva】源码:HK32F030M-按键扫描-短按长按检测【CSDNNaiva】源码:HK32F030M-ADC-EXTI-TM1624-USART-EEPROM-TiMBase-按键长按(231024) 参考资料 [1] 【CSDNPillarPeng】【按键】[独立按键] - 1: 单击,…...
Ubuntu虚拟机部署OpenStack
1、部署环境 系统:ubuntu-22.04.3-desktop-amd64DevStack版本:2024.1VMware Workstation:8G内存、4核处理器、100G硬盘/1、网络NAT模式/1 2、Ubuntu环境设置 点击show applications,选择Software&Updates 跟换Ubuntu的镜像…...
ES在企业项目中的实战总结,彻底掌握ES的使用
通过之前两篇文章 了解了ES的核心概念和基础使用学习进阶的DSL语法处理复杂的查询 这段时间通过在本企业代码中对ES框架的使用,总结了不少经验。主要分为三点 企业封装了ES原生的api,需要使用企业项目提供的接口实现 -------简单使用(本章节目…...
QT的Qporcess功能的使用
具体实现代码如下: #include <QProgressBar>//必须要包含的头文件 #include <QProcess>// 创建一个QProgressBar对象QProgressBar *progressBar new QProgressBar(this);QProcess *proces;process_shownew process;// 设置进度条的最小值和最大值prog…...
【图灵诸葛】jvm笔记
2023年10月23日14:04:44 jvm 1.jdk体系结构图回顾(Av333129672,P1) jdk jre 底层是hotspot jvm 2.java虚拟机内部组成(Av333129672,P2) 堆 方法区 执行引擎 类加载 本地方法栈 线程栈(虚拟机栈) 3.java虚拟机栈讲解(Av333129672,P3) 程序计数器…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...
