基于 EfficientFormer 的模型训练与评估:从数据处理到结果保存

引言

在深度学习领域,模型的训练与评估是至关重要的环节。本文将介绍如何使用 PyTorch 和 torch - geometric 库,基于 EfficientFormer 模型进行数据的训练与评估,并详细展示从数据加载、模型定义、训练评估到结果统计保存的全过程。

 对应代码数据链接:https://download.youkuaiyun.com/download/lestatlu/90685087

一、设备选择

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print(f"Using device: {device}")
start_time = time.time()

这段代码用于检测系统是否有可用的 CUDA(NVIDIA 的并行计算平台和编程模型),如果有则使用 GPU 进行计算,否则使用 CPU。这是因为 GPU 在处理大规模数据的深度学习任务时,往往能提供比 CPU 更高的计算效率。记录开始时间start_time,方便后续计算整个程序的运行时长。

二、数据加载与预处理

2.1 数据加载

X_all_samples = np.load(r'your path\X_all_samples.npy')
y_all_samples = np.load(r'your path\y_all_samples.npy')
train_indices = np.load(r'your path\global_train_indices.npy')
test_indices = np.load(r'your path\global_test_indices.npy')

通过np.load函数从指定路径加载保存好的样本数据X_all_samples(特征数据)、标签数据y_all_samples以及训练集和测试集的索引train_indicestest_indices。这里的路径需要根据实际数据存储位置进行修改,使用your path表示需读者自行替换为真实路径。

2.2 创建训练集和测试集

X_train = X_all_samples[train_indices]
y_train = y_all_samples[train_indices]
X_test = X_all_samples[test_indices]
y_test = y_all_samples[test_indices]

y_train = y_train.astype(np.int64)
y_test = y_test.astype(np.int64)
num_classes = np.max(y_train.astype(np.int64)) + 1
# 验证类别数一致性
assert np.max(y_train) + 1 == num_classes, "类别数不一致"

根据索引分别从所有样本中提取出训练集和测试集的特征与标签数据。将标签数据的类型转换为np.int64,这是为了后续与 PyTorch 中的数据类型更好地兼容。通过计算训练集标签中的最大类别值并加 1,确定数据集中的类别总数num_classes,同时使用assert语句验证类别数计算的一致性,避免出现错误。

2.3 转换为 Tensor

x_train = torch.tensor(X_train, dtype=torch.floa
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

遥感AI实战

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值