pytorh学习笔记——cifar10(一)生成数据
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) # 保存图像
执行上述脚本,得到测试集的图片集。

三、
相关文章:
pytorh学习笔记——cifar10(一)生成数据
CIFAR(Canadian Institute For Advanced Research)是一个用于图像识别研究的数据集。CIFAR数据集包含多个子数据集,最常用的是CIFAR-10和CIFAR-100。 CIFAR-10数据集包含60000张32x32彩色图像,分为10个类别,每…...
pikachu靶场SSRF-curl测试报告
目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、实现ssrf攻击 四、源代码分析 五、结论 一、测试环境 1、系统环境 渗透机:本机(127.0.0.1) 靶 机:本机(127.0.0.1) 2、使用工具/软件 测试网址:…...
Java项目-基于Springboot的农机电招平台项目(源码+说明).zip
作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 开发运行环境 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/…...
Systemd:简介
1号进程 Systemd是linux系统的守护进程,它要管理正在运行的 Linux 主机的许多方面,包括挂载文件系统、管理硬件、处理定时器以及启动和管理生产性主机所需的系统服务。 $ ps -u -p 1 USER PID %CPU %MEM VSZ RSS TTY STAT START TI…...
Snapshot包和Release包区别
Snapshot包和Release包区别 Snapshot包: 代表开发中的版本,可能不稳定。 经常更新,包含最新的功能和修复。 通常用于测试和开发阶段。 Release包: 代表稳定的、经过全面测试的版本。 版本号通常是固定的,适合生产环…...
最近网站频繁跳转到黑产网站,怀疑是51.la统计代码的问题
最近我的几个网站,都出现了一个问题,就是访问的时候会莫名其妙的跳转到黑产网站。 通过排查了网页代码,发现网页都有一个共同点,就是使用了51.la统计。为什么会怀疑是51la统计代码问题?因为我的网页只有统计代码外没有…...
【python_修改PPT中字体,run.font.name只对英文生效怎么办?】
python_修改PPT中字体,run.font.name只对英文生效怎么办? 参考:使用pptx_ea_font库设置中文字体 from pptx import Presentation from pptx.util import Pt from pptx_ea_font import set_font# 打开现有的 PPT 文件 prs Presentation(D:\…...
【web】JDBC
项目连接数据库 右侧导航栏找到databsae 如果没有驱动,先下载驱动 填写数据库用户名密码 勾选对应的表即可 JDBC代码流程 1,配置信息 2,加载驱动 从MySQL Connector/J 5.1版本开始,推荐使用com.mysql.cj.jdbc.Driver这个新的驱动类。 3,链接数据库…...
MATLAB代码介绍:一段轨迹的指纹定位,KNN,三维,四个锚点(附源代码,可复制粘贴)
文章目录 产品介绍:三维指纹定位 KNN MATLAB 模型概述源代码运行结果功能亮点代码结构应用场景结论产品介绍:三维指纹定位 KNN MATLAB 模型 概述 本 MATLAB 代码实现了一种基于 KNN(K-Nearest Neighbors)算法的三维指纹定位系统,利用四个基站(锚点)信号强度进行移动终…...
XML Schema 复合空元素
XML Schema 复合空元素 XML Schema 是一种用于定义 XML 文档结构和内容的语言。在 XML Schema 中,元素可以被定义为简单类型或复杂类型。简单类型元素不能包含其他元素或属性,而复杂类型元素可以包含其他元素、属性或两者都有。复合空元素是一种特殊类型…...
Java面向对象编程基础(二)
Java面向对象编程基础二 一、package与import关键字的使用1.说明2.包的作用3.JDK中主要的包4. import5.import关键字的使用 二、封装性1.为什么要封装?2.如何封装?3.作用4.权限修饰符的权限大小5.案例 三、构造器1 构造器的使用说明2 案例: 四、实例变量赋值过程1 …...
[PHP]重复的Notice错误信息
<?php $a []; var_dump($a[name]);执行结果: 原因: display_errors和error_reporting都打开了Notice错误信息...
2024年第四届“网鼎杯”网络安全大赛-赛前模拟训练
文章目录 网络安全(WEB)签到题WEB01WEB02 二进制漏洞安全(PWN)PWN01潜在的安全漏洞分析攻击步骤exp 逆向工程(REVERSE)REVERSE01代码分析重构密码 密码学(CRYPTO)CRYPTO01CRYPTO02 杂…...
AI金融攻防赛:YOLO理论学习及赛题进阶思路(DataWhale组队学习)
引言 大家好,我是GISer Liu😁,一名热爱AI技术的GIS开发者。本系列文章是我跟随DataWhale 2024年10月学习赛的AI金融攻防赛学习总结文档。本文主要讲解如何在金融场景凭证篡改检测中应用YOLO算法。我们将从模型概述、数据准备、训练流程以及模…...
Spring Security 基础配置详解(附Demo)
目录 前言1. 基本知识2. Demo3. 实战 前言 基本的Java知识推荐阅读: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新) 1. 基本知识 HttpSecurity 是 Spri…...
代码随想录打卡Day1
文章目录 day011 数组理论基础2 二分查找法3 移除元素4 平方数 day01 Java JDK是17.0.11 1 数组理论基础 数组是存放在连续内存空间上的相同类型数据的集合。 数组下标都是从0开始的。 数组内存空间的地址是连续的。 因为数组在内存空间的地址是连续的,所以我们…...
Vue快速创建工程+Element Plus
创建Vue工程 执行命令 npm init vuelatest 执行这两个绿色的命令 执行这个命令启动 npm run dev Element 打开网站https://element-plus.org/zh-CN/ npm install element-plus --save 然后在vscode中打开你的项目工程 // main.ts import { createApp } from vue import Ele…...
汽车管理系统——主界面制作
目录 主界面需要有什么?然后要做什么?添加两个主菜单(声明)下一步应该干什么?能够跳转到文件有哪几个动作?动作如何声明?为什么用选择声明指针,不选择直接声明这个对象? …...
C++ 右值引用深入理解:特性、优化与底层
目录 一、左右值的概念及右值的种类 二、左值引用与右值引用 左值引用给右值取别名: 右值引用给左值取别名: 三、引用的意义及左值引用的场景 四、移动构造: 右值引用在底层里的实现: 一、左右值的概念及右值的种类 在 C …...
C# 文件操作
文章目录 文件系统FileInfo和DirectoryInfo类完成一个文件的拷贝判断一个文件是否存在FileInfo和DirectoryInfo的属性列表FileInfo和DirectoryInfo的方法列表读写文件文件系统 下面的类用于浏览文件系统和执行操作,比如移动,复制和删除文件。 System.MarshalByRefObject 这个…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
