10.08学习笔记Transforms的基本知识

Transforms

tensorboard(图像在网页上可视化工具)

tips:注意得在你的项目的当前目录下进行启动

启动命令:

tensorboard --logdir=你设置的名字

前置代码:

from torchvision import transforms
from PIL import Image
from torch.utils.tensorboard import SummaryWriter

writer = SummaryWriter("logs")
img_path = "../dataset/train/ants/0013035.jpg"
img = Image.open(img_path)

工具箱,里有很多方法,如下:

ToTensor

  • 将图像数据转化成tensor类型
  • 数据格式适合神经网络训练
tensor_trains = transforms.ToTensor()
tensor_img = tensor_trains(img)
writer.add_image("to_tensor", tensor_img)

Normalize

  • 用标准差和均值归一化处理tensor类型数据
  • 在需要保持数据的比例关系时(如神经网络中),归一化可以帮助模型更快收敛,并减少模型在特定特征上过拟合的风险。
trans_norm = transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])
img_norm = trans_norm(tensor_img)
writer.add_image("to_norm", img_norm)

Resize

  • 是将输入数据(通常是图像)缩放到指定的大小
  • 用于调整图像的尺寸,确保输入一致性和减少计算量
trans_resize = transforms.Resize((512, 512))
img_resize = trans_resize(img)
img_resize = tensor_trains(img_resize)
writer.add_image("Resize", img_resize, 0)

Compose

  • Compose 是一种将多个数据变换方法组合起来执行的操作。
  • 将多个预处理步骤(如 Resize、归一化、转Tensor等)组合在一起,形成一个完整的预处理管道。
trans_resize_2 = transforms.Resize(512)
trans_compose = transforms.Compose([trans_resize_2, tensor_trains])
img_resize_2 = trans_compose(img)
writer.add_image("Resize_2", img_resize_2, 1)

使用torchvision里的dataset

  • 下载数据集
train_set = torchvision.datasets.CIFAR10(root="../dataset", train=True, transform=dataset_transform, download=True)
test_set = torchvision.datasets.CIFAR10(root="../dataset", train=False, transform=dataset_transform, download=True)

  • 设置处理的格式
dataset_transform = torchvision.transforms.Compose([
    torchvision.transforms.ToTensor()
])

DataLoader

test_loader = DataLoader(dataset=test_set, batch_size=64, shuffle=True, num_workers=0, drop_last=True)
参数设置:
  • dataset :它指定要加载的数据集
  • batch_size : 每个批次的数据量,即每次加载多少样本
  • shuffle:是否在每个 epoch 训练之前随机打乱数据集
  • num_workers: 加载数据时使用的子进程数。num_workers=0 表示数据将在主进程中加载。较大的 num_workers 值可以加快数据加载速度(并行化)。
  • drop_last :如果 True,则当数据集大小不能被 batch_size 整除时,丢弃最后一批不完整的小批量。如果 False,则保留最后一批不完整的小批量。
在MATLAB中绘制水在10.08 MPa下(即100兆帕)的温熵图,通常需要利用其内置的绘图工具,例如`plot`函数以及 Thermophysical Properties Toolbox。这个过程假设你已经有了温度(T)和熵(S)数据,它们通常是通过实验测量或从热力学数据库获取的。 以下是基本步骤: 1. **准备数据**:首先,你需要有两个向量,一个代表温度范围,另一个对应于在这个压力下每个温度点的熵值。如果你的数据存储在CSV或其他文件中,可以先读取到MATLAB中。 ```matlab % 假设你已经加载了数据,T和S分别是温度和熵 data = readtable('water_data.csv'); % 替换为你实际的文件路径 T = data.Temperature; S = data.Entropy(找到对应压力10.08 MPa的行); ``` 2. **创建图**: 使用`plot`函数绘制线图,x轴为温度,y轴为熵。 ```matlab figure; % 创建一个新的图形窗口 plot(T, S, 'LineWidth', 2); % 绘制曲线 xlabel('Temperature (K)'); % 设置x轴标签 ylabel('Entropy (J/(kg*K))'); % 设置y轴标签 title(['Water Entropy at 10.08 MPa']); % 图表标题 ``` 3. **添加压力信息**: 可能你想在图表上标注出10.08 MPa的压力值,可以在适当的位置添加注释。 ```matlab pressurePoint = T(找到对应压力的索引); % 找到压力对应的温度点 text(pressurePoint, S(pressureIndex), ['10.08 MPa'], ... % 添加文本注释 'HorizontalAlignment', 'center', ... % 文本居中 'VerticalAlignment', 'bottom'); ``` 4. **保存图像**: 最后,你可以选择保存你的图表为图片文件。 ```matlab saveas(gcf, 'water_entropy_100Mpa.png'); % 保存为png格式 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值